MCPcopy Create free account
hub / github.com/WasmEdge/WasmEdge / TEST

Function TEST

test/loader/moduleTest.cpp:27–75  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

25WasmEdge::Loader::Loader Ldr(Conf);
26
27TEST(ModuleTest, LoadModule) {
28 std::vector<uint8_t> Vec;
29
30 // 1. Test load empty file
31 EXPECT_FALSE(Ldr.parseModule(Vec));
32
33 // 2. Test load empty module
34 Vec = {0x00U, 0x61U, 0x73U, 0x6DU, 0x01U, 0x00U, 0x00U, 0x00U};
35 EXPECT_TRUE(Ldr.parseModule(Vec));
36
37 // 3. Test load module with valid empty sections
38 Vec = {
39 0x00U, 0x61U, 0x73U, 0x6DU, // Magic
40 0x01U, 0x00U, 0x00U, 0x00U, // Version
41 0x00U, 0x81U, 0x80U, 0x80U, 0x80U, 0x00U, 0x00U, // Custom section
42 0x01U, 0x81U, 0x80U, 0x80U, 0x80U, 0x00U, 0x00U, // Type section
43 0x02U, 0x81U, 0x80U, 0x80U, 0x80U, 0x00U, 0x00U, // Import section
44 0x03U, 0x81U, 0x80U, 0x80U, 0x80U, 0x00U, 0x00U, // Function section
45 0x04U, 0x81U, 0x80U, 0x80U, 0x80U, 0x00U, 0x00U, // Table section
46 0x05U, 0x81U, 0x80U, 0x80U, 0x80U, 0x00U, 0x00U, // Memory section
47 0x06U, 0x81U, 0x80U, 0x80U, 0x80U, 0x00U, 0x00U, // Global section
48 0x07U, 0x81U, 0x80U, 0x80U, 0x80U, 0x00U, 0x00U, // Export section
49 0x08U, 0x81U, 0x80U, 0x80U, 0x80U, 0x00U, 0x00U, // Start section
50 0x09U, 0x81U, 0x80U, 0x80U, 0x80U, 0x00U, 0x00U, // Element section
51 0x0AU, 0x81U, 0x80U, 0x80U, 0x80U, 0x00U, 0x00U, // Code section
52 0x0BU, 0x81U, 0x80U, 0x80U, 0x80U, 0x00U, 0x00U // Data section
53 };
54 EXPECT_TRUE(Ldr.parseModule(Vec));
55
56 // 4. Test load module with invalid sections
57 Vec = {
58 0x00U, 0x61U, 0x73U, 0x6DU, // Magic
59 0x01U, 0x00U, 0x00U, 0x00U, // Version
60 0x00U, 0x81U, 0x80U, 0x80U, 0x80U, 0x00U, 0x00U, // Custom section
61 0x01U, 0x81U, 0x80U, 0x80U, 0x80U, 0x00U, 0x00U, // Type section
62 0x02U, 0x81U, 0x80U, 0x80U, 0x80U, 0x00U, 0x00U, // Import section
63 0x03U, 0x81U, 0x80U, 0x80U, 0x80U, 0x00U, 0x00U, // Function section
64 0x04U, 0x81U, 0x80U, 0x80U, 0x80U, 0x00U, 0x00U, // Table section
65 0x05U, 0x81U, 0x80U, 0x80U, 0x80U, 0x00U, 0x00U, // Memory section
66 0x06U, 0x81U, 0x80U, 0x80U, 0x80U, 0x00U, 0x00U, // Global section
67 0x07U, 0x81U, 0x80U, 0x80U, 0x80U, 0x00U, 0x00U, // Export section
68 0x08U, 0x81U, 0x80U, 0x80U, 0x80U, 0x00U, 0x00U, // Start section
69 0x09U, 0x81U, 0x80U, 0x80U, 0x80U, 0x00U, 0x00U, // Element section
70 0x0AU, 0x81U, 0x80U, 0x80U, 0x80U, 0x00U, 0x00U, // Code section
71 0x0BU, 0x81U, 0x80U, 0x80U, 0x80U, 0x00U, 0x00U, // Data section
72 0x0DU, 0x81U, 0x80U, 0x80U, 0x80U, 0x00U, 0x00U // Invalid section
73 };
74 EXPECT_FALSE(Ldr.parseModule(Vec));
75}
76
77TEST(ModuleTest, LoadDataCountSecModule) {
78 Conf.setWASMStandard(WasmEdge::Standard::WASM_1);

Callers

nothing calls this directly

Calls 2

parseModuleMethod · 0.80
setWASMStandardMethod · 0.80

Tested by

no test coverage detected