Chromium Code Reviews| Index: test/unittests/wasm/module-decoder-unittest.cc |
| diff --git a/test/unittests/wasm/module-decoder-unittest.cc b/test/unittests/wasm/module-decoder-unittest.cc |
| index a4119a03a464d06bdcea7be56446cfa3ff59d396..6728c8594b2ebdbba728ad9f0c355a68e3fd8b50 100644 |
| --- a/test/unittests/wasm/module-decoder-unittest.cc |
| +++ b/test/unittests/wasm/module-decoder-unittest.cc |
| @@ -24,6 +24,7 @@ class WasmModuleVerifyTest : public TestWithZone { |
| do { \ |
| ModuleResult result = DecodeModule(data, data + arraysize(data)); \ |
| EXPECT_TRUE(result.ok()); \ |
| + if (result.val) delete result.val; \ |
| } while (false) |
| @@ -31,6 +32,7 @@ class WasmModuleVerifyTest : public TestWithZone { |
| do { \ |
| ModuleResult result = DecodeModule(data, data + arraysize(data)); \ |
| EXPECT_FALSE(result.ok()); \ |
| + if (result.val) delete result.val; \ |
| } while (false) |
| @@ -48,10 +50,12 @@ TEST_F(WasmModuleVerifyTest, DecodeEmpty) { |
| { |
| ModuleResult result = DecodeModule(data, data); |
| EXPECT_TRUE(result.ok()); |
| + if (result.val) delete result.val; |
| } |
| { |
| ModuleResult result = DecodeModule(data, data + 1); |
| EXPECT_TRUE(result.ok()); |
| + if (result.val) delete result.val; |
| } |
| } |
| @@ -81,13 +85,16 @@ TEST_F(WasmModuleVerifyTest, OneGlobal) { |
| EXPECT_EQ(0, global->name_offset); |
| EXPECT_EQ(MachineType::Int32(), global->type); |
| EXPECT_EQ(0, global->offset); |
| - EXPECT_EQ(false, global->exported); |
| + EXPECT_FALSE(global->exported); |
| + |
| + if (result.val) delete result.val; |
| } |
| for (size_t size = 1; size < arraysize(data); size++) { |
| // Should fall off end of module bytes. |
| ModuleResult result = DecodeModule(data, data + size); |
| EXPECT_FALSE(result.ok()); |
| + if (result.val) delete result.val; |
| } |
| } |
| @@ -98,6 +105,7 @@ TEST_F(WasmModuleVerifyTest, ZeroGlobals) { |
| }; |
| ModuleResult result = DecodeModule(data, data + arraysize(data)); |
| EXPECT_TRUE(result.ok()); |
| + if (result.val) delete result.val; |
| } |
| @@ -126,12 +134,13 @@ TEST_F(WasmModuleVerifyTest, NGlobals) { |
| std::vector<byte> buffer; |
| buffer.push_back(kDeclGlobals); |
| AppendUint32v(buffer, i); |
| - for (int j = 0; j < i; j++) { |
| + for (int j = 0; j < static_cast<int>(i); j++) { |
|
ahaas
2015/12/17 10:59:43
nit: Why do you use the type "int" here? j is not
bradn
2015/12/17 11:03:17
Ah, good point. Mechanical blinders on.
Done.
|
| buffer.insert(buffer.end(), data, data + arraysize(data)); |
| } |
| ModuleResult result = DecodeModule(&buffer[0], &buffer[0] + buffer.size()); |
| EXPECT_TRUE(result.ok()); |
| + if (result.val) delete result.val; |
| } |
| } |
| @@ -200,18 +209,21 @@ TEST_F(WasmModuleVerifyTest, TwoGlobals) { |
| EXPECT_EQ(0, g0->name_offset); |
| EXPECT_EQ(MachineType::Float32(), g0->type); |
| EXPECT_EQ(0, g0->offset); |
| - EXPECT_EQ(false, g0->exported); |
| + EXPECT_FALSE(g0->exported); |
| EXPECT_EQ(0, g1->name_offset); |
| EXPECT_EQ(MachineType::Float64(), g1->type); |
| EXPECT_EQ(0, g1->offset); |
| - EXPECT_EQ(true, g1->exported); |
| + EXPECT_TRUE(g1->exported); |
| + |
| + if (result.val) delete result.val; |
| } |
| for (size_t size = 1; size < arraysize(data); size++) { |
| // Should fall off end of module bytes. |
| ModuleResult result = DecodeModule(data, data + size); |
| EXPECT_FALSE(result.ok()); |
| + if (result.val) delete result.val; |
| } |
| } |
| @@ -251,11 +263,13 @@ TEST_F(WasmModuleVerifyTest, MultipleSignatures) { |
| EXPECT_EQ(1, result.val->signatures->at(1)->parameter_count()); |
| EXPECT_EQ(2, result.val->signatures->at(2)->parameter_count()); |
| } |
| + if (result.val) delete result.val; |
| for (size_t size = 1; size < arraysize(data); size++) { |
| ModuleResult result = DecodeModule(data, data + size); |
| // Should fall off the end of module bytes. |
| EXPECT_FALSE(result.ok()); |
| + if (result.val) delete result.val; |
| } |
| } |
| @@ -278,6 +292,7 @@ TEST_F(WasmModuleVerifyTest, FunctionWithoutSig) { |
| ModuleResult result = DecodeModule(data, data + arraysize(data)); |
| EXPECT_FALSE(result.ok()); |
| + if (result.val) delete result.val; |
| } |
| @@ -323,14 +338,17 @@ TEST_F(WasmModuleVerifyTest, OneEmptyVoidVoidFunction) { |
| EXPECT_EQ(1551, function->local_float32_count); |
| EXPECT_EQ(2065, function->local_float64_count); |
| - EXPECT_EQ(true, function->exported); |
| - EXPECT_EQ(false, function->external); |
| + EXPECT_TRUE(function->exported); |
| + EXPECT_FALSE(function->external); |
| + |
| + if (result.val) delete result.val; |
| } |
| for (size_t size = 5; size < arraysize(data); size++) { |
| // Should fall off end of module bytes. |
| ModuleResult result = DecodeModule(data, data + size); |
| EXPECT_FALSE(result.ok()); |
| + if (result.val) delete result.val; |
| } |
| } |
| @@ -360,8 +378,10 @@ TEST_F(WasmModuleVerifyTest, OneFunctionImported) { |
| EXPECT_EQ(0, function->local_float32_count); |
| EXPECT_EQ(0, function->local_float64_count); |
| - EXPECT_EQ(false, function->exported); |
| - EXPECT_EQ(true, function->external); |
| + EXPECT_FALSE(function->exported); |
| + EXPECT_TRUE(function->external); |
| + |
| + if (result.val) delete result.val; |
| } |
| @@ -395,8 +415,10 @@ TEST_F(WasmModuleVerifyTest, OneFunctionWithNopBody) { |
| EXPECT_EQ(0, function->local_float32_count); |
| EXPECT_EQ(0, function->local_float64_count); |
| - EXPECT_EQ(false, function->exported); |
| - EXPECT_EQ(false, function->external); |
| + EXPECT_FALSE(function->exported); |
| + EXPECT_FALSE(function->external); |
| + |
| + if (result.val) delete result.val; |
| } |
| @@ -433,8 +455,10 @@ TEST_F(WasmModuleVerifyTest, OneFunctionWithNopBody_WithLocals) { |
| EXPECT_EQ(1541, function->local_float32_count); |
| EXPECT_EQ(2055, function->local_float64_count); |
| - EXPECT_EQ(false, function->exported); |
| - EXPECT_EQ(false, function->external); |
| + EXPECT_FALSE(function->exported); |
| + EXPECT_FALSE(function->external); |
| + |
| + if (result.val) delete result.val; |
| } |
| @@ -482,7 +506,7 @@ TEST_F(WasmModuleVerifyTest, OneGlobalOneFunctionWithNopBodyOneDataSegment) { |
| EXPECT_EQ(0, global->name_offset); |
| EXPECT_EQ(MachineType::Uint8(), global->type); |
| EXPECT_EQ(0, global->offset); |
| - EXPECT_EQ(false, global->exported); |
| + EXPECT_FALSE(global->exported); |
| WasmFunction* function = &result.val->functions->back(); |
| @@ -490,15 +514,17 @@ TEST_F(WasmModuleVerifyTest, OneGlobalOneFunctionWithNopBodyOneDataSegment) { |
| EXPECT_EQ(kCodeStartOffset, function->code_start_offset); |
| EXPECT_EQ(kCodeEndOffset, function->code_end_offset); |
| - EXPECT_EQ(false, function->exported); |
| - EXPECT_EQ(false, function->external); |
| + EXPECT_FALSE(function->exported); |
| + EXPECT_FALSE(function->external); |
| WasmDataSegment* segment = &result.val->data_segments->back(); |
| EXPECT_EQ(0x8b3ae, segment->dest_addr); |
| EXPECT_EQ(15, segment->source_offset); |
| EXPECT_EQ(5, segment->source_size); |
| - EXPECT_EQ(true, segment->init); |
| + EXPECT_TRUE(segment->init); |
| + |
| + if (result.val) delete result.val; |
| } |
| } |
| @@ -534,13 +560,16 @@ TEST_F(WasmModuleVerifyTest, OneDataSegment) { |
| EXPECT_EQ(0x9bbaa, segment->dest_addr); |
| EXPECT_EQ(11, segment->source_offset); |
| EXPECT_EQ(3, segment->source_size); |
| - EXPECT_EQ(true, segment->init); |
| + EXPECT_TRUE(segment->init); |
| + |
| + if (result.val) delete result.val; |
| } |
| for (size_t size = 1; size < arraysize(data); size++) { |
| // Should fall off end of module bytes. |
| ModuleResult result = DecodeModule(data, data + size); |
| EXPECT_FALSE(result.ok()); |
| + if (result.val) delete result.val; |
| } |
| } |
| @@ -590,18 +619,21 @@ TEST_F(WasmModuleVerifyTest, TwoDataSegments) { |
| EXPECT_EQ(0x7ffee, s0->dest_addr); |
| EXPECT_EQ(9, s0->source_offset); |
| EXPECT_EQ(4, s0->source_size); |
| - EXPECT_EQ(false, s0->init); |
| + EXPECT_FALSE(s0->init); |
| EXPECT_EQ(0x6ddcc, s1->dest_addr); |
| EXPECT_EQ(6, s1->source_offset); |
| EXPECT_EQ(10, s1->source_size); |
| - EXPECT_EQ(true, s1->init); |
| + EXPECT_TRUE(s1->init); |
| + |
| + if (result.val) delete result.val; |
| } |
| for (size_t size = 1; size < arraysize(data); size++) { |
| // Should fall off end of module bytes. |
| ModuleResult result = DecodeModule(data, data + size); |
| EXPECT_FALSE(result.ok()); |
| + if (result.val) delete result.val; |
| } |
| } |
| @@ -629,6 +661,7 @@ TEST_F(WasmModuleVerifyTest, OneIndirectFunction) { |
| EXPECT_EQ(1, result.val->function_table->size()); |
| EXPECT_EQ(0, result.val->function_table->at(0)); |
| } |
| + if (result.val) delete result.val; |
| } |
| @@ -654,6 +687,7 @@ TEST_F(WasmModuleVerifyTest, MultipleIndirectFunctions) { |
| EXPECT_EQ(i & 3, result.val->function_table->at(i)); |
| } |
| } |
| + if (result.val) delete result.val; |
| } |
| @@ -841,6 +875,8 @@ TEST_F(WasmFunctionVerifyTest, Ok_v_v_empty) { |
| EXPECT_FALSE(function->external); |
| EXPECT_FALSE(function->exported); |
| } |
| + |
| + if (result.val) delete result.val; |
| } |
| } // namespace wasm |
| } // namespace internal |