Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(120)

Side by Side Diff: test/unittests/wasm/module-decoder-unittest.cc

Issue 2424623002: [wasm] Use a Managed<WasmModule> to hold metadata about modules. (Closed)
Patch Set: [wasm] Use a Managed<WasmModule> to hold metadata about modules. Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « test/mjsunit/wasm/wasm-module-builder.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "test/unittests/test-utils.h" 5 #include "test/unittests/test-utils.h"
6 6
7 #include "src/handles.h" 7 #include "src/handles.h"
8 #include "src/objects-inl.h" 8 #include "src/objects-inl.h"
9 #include "src/wasm/module-decoder.h" 9 #include "src/wasm/module-decoder.h"
10 #include "src/wasm/wasm-macro-gen.h" 10 #include "src/wasm/wasm-macro-gen.h"
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 class WasmModuleVerifyTest : public TestWithIsolateAndZone { 136 class WasmModuleVerifyTest : public TestWithIsolateAndZone {
137 public: 137 public:
138 ModuleResult DecodeModule(const byte* module_start, const byte* module_end) { 138 ModuleResult DecodeModule(const byte* module_start, const byte* module_end) {
139 // Add the WASM magic and version number automatically. 139 // Add the WASM magic and version number automatically.
140 size_t size = static_cast<size_t>(module_end - module_start); 140 size_t size = static_cast<size_t>(module_end - module_start);
141 byte header[] = {WASM_MODULE_HEADER}; 141 byte header[] = {WASM_MODULE_HEADER};
142 size_t total = sizeof(header) + size; 142 size_t total = sizeof(header) + size;
143 auto temp = new byte[total]; 143 auto temp = new byte[total];
144 memcpy(temp, header, sizeof(header)); 144 memcpy(temp, header, sizeof(header));
145 memcpy(temp + sizeof(header), module_start, size); 145 memcpy(temp + sizeof(header), module_start, size);
146 ModuleResult result = DecodeWasmModule(isolate(), zone(), temp, 146 ModuleResult result =
147 temp + total, false, kWasmOrigin); 147 DecodeWasmModule(isolate(), temp, temp + total, false, kWasmOrigin);
148 delete[] temp; 148 delete[] temp;
149 return result; 149 return result;
150 } 150 }
151 ModuleResult DecodeModuleNoHeader(const byte* module_start, 151 ModuleResult DecodeModuleNoHeader(const byte* module_start,
152 const byte* module_end) { 152 const byte* module_end) {
153 return DecodeWasmModule(isolate(), zone(), module_start, module_end, false, 153 return DecodeWasmModule(isolate(), module_start, module_end, false,
154 kWasmOrigin); 154 kWasmOrigin);
155 } 155 }
156 }; 156 };
157 157
158 TEST_F(WasmModuleVerifyTest, WrongMagic) { 158 TEST_F(WasmModuleVerifyTest, WrongMagic) {
159 for (uint32_t x = 1; x; x <<= 1) { 159 for (uint32_t x = 1; x; x <<= 1) {
160 const byte data[] = {U32_LE(kWasmMagic ^ x), U32_LE(kWasmVersion)}; 160 const byte data[] = {U32_LE(kWasmMagic ^ x), U32_LE(kWasmVersion)};
161 ModuleResult result = DecodeModuleNoHeader(data, data + sizeof(data)); 161 ModuleResult result = DecodeModuleNoHeader(data, data + sizeof(data));
162 EXPECT_FALSE(result.ok()); 162 EXPECT_FALSE(result.ok());
163 if (result.val) delete result.val; 163 if (result.val) delete result.val;
(...skipping 1128 matching lines...) Expand 10 before | Expand all | Expand 10 after
1292 SECTION(Unknown, 4), 1, 'X', 17, 18, // -- 1292 SECTION(Unknown, 4), 1, 'X', 17, 18, // --
1293 SECTION(Unknown, 9), 3, 'f', 'o', 'o', 5, 6, 7, 8, 9, // -- 1293 SECTION(Unknown, 9), 3, 'f', 'o', 'o', 5, 6, 7, 8, 9, // --
1294 SECTION(Unknown, 8), 5, 'o', 't', 'h', 'e', 'r', 7, 8, // -- 1294 SECTION(Unknown, 8), 5, 'o', 't', 'h', 'e', 'r', 7, 8, // --
1295 }; 1295 };
1296 EXPECT_VERIFIES(data); 1296 EXPECT_VERIFIES(data);
1297 } 1297 }
1298 1298
1299 } // namespace wasm 1299 } // namespace wasm
1300 } // namespace internal 1300 } // namespace internal
1301 } // namespace v8 1301 } // namespace v8
OLDNEW
« no previous file with comments | « test/mjsunit/wasm/wasm-module-builder.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698