1*4bdc9457SAndroid Build Coastguard Worker // Copyright 2022 Google LLC 2*4bdc9457SAndroid Build Coastguard Worker // 3*4bdc9457SAndroid Build Coastguard Worker // This source code is licensed under the BSD-style license found in the 4*4bdc9457SAndroid Build Coastguard Worker // LICENSE file in the root directory of this source tree. 5*4bdc9457SAndroid Build Coastguard Worker 6*4bdc9457SAndroid Build Coastguard Worker #pragma once 7*4bdc9457SAndroid Build Coastguard Worker 8*4bdc9457SAndroid Build Coastguard Worker // clang-format off 9*4bdc9457SAndroid Build Coastguard Worker #define EXPECT_INSTR(expected, actual) \ 10*4bdc9457SAndroid Build Coastguard Worker EXPECT_EQ(expected, actual) << "expected = 0x" << std::hex << std::setw(8) << std::setfill('0') << expected \ 11*4bdc9457SAndroid Build Coastguard Worker << std::endl << " actual = 0x" << actual; 12*4bdc9457SAndroid Build Coastguard Worker // clang-format on 13*4bdc9457SAndroid Build Coastguard Worker 14*4bdc9457SAndroid Build Coastguard Worker #define CHECK_ENCODING(expected, call) \ 15*4bdc9457SAndroid Build Coastguard Worker a.reset(); \ 16*4bdc9457SAndroid Build Coastguard Worker call; \ 17*4bdc9457SAndroid Build Coastguard Worker EXPECT_EQ(Error::kNoError, a.error()); \ 18*4bdc9457SAndroid Build Coastguard Worker EXPECT_INSTR(expected, *reinterpret_cast<const uint32_t*>(a.start())) 19*4bdc9457SAndroid Build Coastguard Worker 20*4bdc9457SAndroid Build Coastguard Worker #define EXPECT_ERROR(expected, call) \ 21*4bdc9457SAndroid Build Coastguard Worker a.reset(); \ 22*4bdc9457SAndroid Build Coastguard Worker call; \ 23*4bdc9457SAndroid Build Coastguard Worker EXPECT_EQ(expected, a.error()); 24