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

Function TEST

test/loader/instructionTest.cpp:39–148  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

37}
38
39TEST(InstructionTest, LoadBlockControlInstruction) {
40 std::vector<uint8_t> Vec;
41
42 // 1. Test block control instructions.
43 //
44 // 1. Load block with only end operation.
45 // 2. Load loop with only end operation.
46 // 3. Load block with invalid operations.
47 // 4. Load loop with invalid operations.
48 // 5. Load block with instructions.
49 // 6. Load loop with instructions.
50 // 7. Load invalid loop with non-canonical multi-byte SLEB128 blocktype.
51
52 Vec = {
53 0x0AU, // Code section
54 0x07U, // Content size = 7
55 0x01U, // Vector length = 1
56 0x05U, // Code segment size = 5
57 0x00U, // Local vec(0)
58 0x02U, // OpCode Block.
59 0x40U, // Block type.
60 0x0BU, // OpCode End.
61 0x0BU // Expression End.
62 };
63 EXPECT_TRUE(Ldr.parseModule(prefixedVec(Vec)));
64
65 Vec = {
66 0x0AU, // Code section
67 0x07U, // Content size = 7
68 0x01U, // Vector length = 1
69 0x05U, // Code segment size = 5
70 0x00U, // Local vec(0)
71 0x03U, // OpCode Loop.
72 0x40U, // Block type.
73 0x0BU, // OpCode End.
74 0x0BU // Expression End.
75 };
76 EXPECT_TRUE(Ldr.parseModule(prefixedVec(Vec)));
77
78 Vec = {
79 0x0AU, // Code section
80 0x0DU, // Content size = 13
81 0x01U, // Vector length = 1
82 0x0BU, // Code segment size = 11
83 0x00U, // Local vec(0)
84 0x02U, // OpCode Block.
85 0x40U, // Block type.
86 0x45U, 0x46U, 0x47U, // Valid OpCodes.
87 0xEDU, 0xEEU, 0xEFU, // Invalid OpCodes.
88 0x0BU, // OpCode End.
89 0x0BU // Expression End.
90 };
91 EXPECT_FALSE(Ldr.parseModule(prefixedVec(Vec)));
92
93 Vec = {
94 0x0AU, // Code section
95 0x0DU, // Content size = 13
96 0x01U, // Vector length = 1

Callers

nothing calls this directly

Calls 5

parseModuleMethod · 0.80
setWASMStandardMethod · 0.80
addProposalMethod · 0.80
removeProposalMethod · 0.80
prefixedVecFunction · 0.70

Tested by

no test coverage detected