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

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

Issue 1780483002: [wasm] Support a two-level namespace for imports. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 9 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/wasm/module-decoder.h" 7 #include "src/wasm/module-decoder.h"
8 #include "src/wasm/wasm-macro-gen.h" 8 #include "src/wasm/wasm-macro-gen.h"
9 #include "src/wasm/wasm-opcodes.h" 9 #include "src/wasm/wasm-opcodes.h"
10 10
(...skipping 370 matching lines...) Expand 10 before | Expand all | Expand 10 after
381 EXPECT_EQ(0, function->local_i64_count); 381 EXPECT_EQ(0, function->local_i64_count);
382 EXPECT_EQ(0, function->local_f32_count); 382 EXPECT_EQ(0, function->local_f32_count);
383 EXPECT_EQ(0, function->local_f64_count); 383 EXPECT_EQ(0, function->local_f64_count);
384 384
385 EXPECT_FALSE(function->exported); 385 EXPECT_FALSE(function->exported);
386 EXPECT_TRUE(function->external); 386 EXPECT_TRUE(function->external);
387 387
388 if (result.val) delete result.val; 388 if (result.val) delete result.val;
389 } 389 }
390 390
391
392 TEST_F(WasmModuleVerifyTest, OneFunctionWithNopBody) { 391 TEST_F(WasmModuleVerifyTest, OneFunctionWithNopBody) {
393 static const byte kCodeStartOffset = 19; 392 static const byte kCodeStartOffset = 19;
394 static const byte kCodeEndOffset = kCodeStartOffset + 1; 393 static const byte kCodeEndOffset = kCodeStartOffset + 1;
395 394
396 static const byte data[] = { 395 static const byte data[] = {
397 kDeclSignatures, 1, 396 kDeclSignatures, 1,
398 // sig#0 ------------------------------------------------------- 397 // sig#0 -------------------------------------------------------
399 0, 0, // void -> void 398 0, 0, // void -> void
400 kDeclFunctions, 1, 399 kDeclFunctions, 1,
401 // func#0 ------------------------------------------------------ 400 // func#0 ------------------------------------------------------
(...skipping 686 matching lines...) Expand 10 before | Expand all | Expand 10 after
1088 VOID_VOID_SIG, 1087 VOID_VOID_SIG,
1089 kDeclImportTable, 1088 kDeclImportTable,
1090 1, // -- 1089 1, // --
1091 SIG_INDEX(0), // sig index 1090 SIG_INDEX(0), // sig index
1092 NAME_OFFSET(1), // module name 1091 NAME_OFFSET(1), // module name
1093 NAME_OFFSET(1) // function name 1092 NAME_OFFSET(1) // function name
1094 }; 1093 };
1095 EXPECT_VERIFIES(data); 1094 EXPECT_VERIFIES(data);
1096 } 1095 }
1097 1096
1097 TEST_F(WasmModuleVerifyTest, ImportTable_invalid_module) {
1098 static const byte data[] = {
1099 kDeclSignatures,
1100 1,
1101 VOID_VOID_SIG,
1102 kDeclImportTable,
1103 1, // --
1104 SIG_INDEX(0), // sig index
1105 NAME_OFFSET(0), // module name
1106 NAME_OFFSET(1) // function name
1107 };
1108 EXPECT_FAILURE(data);
1109 }
1110
1098 TEST_F(WasmModuleVerifyTest, ImportTable_off_end) { 1111 TEST_F(WasmModuleVerifyTest, ImportTable_off_end) {
1099 static const byte data[] = { 1112 static const byte data[] = {
1100 kDeclSignatures, 1, VOID_VOID_SIG, kDeclImportTable, 1, 1113 kDeclSignatures, 1, VOID_VOID_SIG, kDeclImportTable, 1,
1101 SIG_INDEX(0), // sig index 1114 SIG_INDEX(0), // sig index
1102 NAME_OFFSET(1), // module name 1115 NAME_OFFSET(1), // module name
1103 NAME_OFFSET(1), // function name 1116 NAME_OFFSET(1), // function name
1104 }; 1117 };
1105 1118
1106 EXPECT_OFF_END_FAILURE(data, 5, sizeof(data)); 1119 EXPECT_OFF_END_FAILURE(data, 5, sizeof(data));
1107 } 1120 }
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
1205 for (int length = 13; length < sizeof(data); length++) { 1218 for (int length = 13; length < sizeof(data); length++) {
1206 ModuleResult result = DecodeModule(data, data + length); 1219 ModuleResult result = DecodeModule(data, data + length);
1207 EXPECT_FALSE(result.ok()); 1220 EXPECT_FALSE(result.ok());
1208 if (result.val) delete result.val; 1221 if (result.val) delete result.val;
1209 } 1222 }
1210 } 1223 }
1211 1224
1212 } // namespace wasm 1225 } // namespace wasm
1213 } // namespace internal 1226 } // namespace internal
1214 } // namespace v8 1227 } // 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