// Copyright 2017 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "test/unittests/test-utils.h" #include "src/wasm/wasm-opcodes.h" namespace v8 { namespace internal { namespace wasm { class WasmOpcodesTest : public TestWithZone {}; TEST_F(WasmOpcodesTest, EveryOpcodeHasAName) { static const struct { WasmOpcode opcode; const char* debug_name; } kValues[] = { #define DECLARE_ELEMENT(name, opcode, sig) {kExpr##name, "kExpr" #name}, FOREACH_OPCODE(DECLARE_ELEMENT)}; #undef DECLARE_ELEMENT for (size_t i = 0; i < arraysize(kValues); i++) { const char* result = WasmOpcodes::OpcodeName(kValues[i].opcode); if (strcmp("unknown", result) == 0) { EXPECT_TRUE(false) << "WasmOpcodes::OpcodeName(" << kValues[i].debug_name << ") == \"unknown\";" " plazz halp in src/wasm/wasm-opcodes.cc"; } } } } // namespace wasm } // namespace internal } // namespace v8