@@ -30,7 +30,6 @@ TEST(analysis, example1)
3030 ASSERT_EQ (analysis.instrs .size (), 8 );
3131
3232 EXPECT_EQ (analysis.instrs [0 ].fn , fake_fn_table[OPX_BEGINBLOCK]);
33- EXPECT_EQ (analysis.instrs [0 ].arg .number , 0 );
3433 EXPECT_EQ (analysis.instrs [1 ].fn , fake_fn_table[OP_PUSH1]);
3534 EXPECT_EQ (analysis.instrs [2 ].fn , fake_fn_table[OP_PUSH1]);
3635 EXPECT_EQ (analysis.instrs [3 ].fn , fake_fn_table[OP_MSTORE8]);
@@ -39,10 +38,9 @@ TEST(analysis, example1)
3938 EXPECT_EQ (analysis.instrs [6 ].fn , fake_fn_table[OP_SSTORE]);
4039 EXPECT_EQ (analysis.instrs [7 ].fn , fake_fn_table[OP_STOP]);
4140
42- ASSERT_EQ (analysis.blocks .size (), 1 );
43- EXPECT_EQ (analysis.blocks [0 ].gas_cost , 14 );
44- EXPECT_EQ (analysis.blocks [0 ].stack_req , 0 );
45- EXPECT_EQ (analysis.blocks [0 ].stack_max_growth , 2 );
41+ EXPECT_EQ (analysis.instrs [0 ].arg .block .gas_cost , 14 );
42+ EXPECT_EQ (analysis.instrs [0 ].arg .block .stack_req , 0 );
43+ EXPECT_EQ (analysis.instrs [0 ].arg .block .stack_max_growth , 2 );
4644}
4745
4846TEST (analysis, stack_up_and_down)
@@ -52,16 +50,14 @@ TEST(analysis, stack_up_and_down)
5250
5351 ASSERT_EQ (analysis.instrs .size (), 20 );
5452 EXPECT_EQ (analysis.instrs [0 ].fn , fake_fn_table[OPX_BEGINBLOCK]);
55- EXPECT_EQ (analysis.instrs [0 ].arg .number , 0 );
5653 EXPECT_EQ (analysis.instrs [1 ].fn , fake_fn_table[OP_DUP2]);
5754 EXPECT_EQ (analysis.instrs [2 ].fn , fake_fn_table[OP_DUP1]);
5855 EXPECT_EQ (analysis.instrs [8 ].fn , fake_fn_table[OP_POP]);
5956 EXPECT_EQ (analysis.instrs [18 ].fn , fake_fn_table[OP_PUSH1]);
6057
61- ASSERT_EQ (analysis.blocks .size (), 1 );
62- EXPECT_EQ (analysis.blocks [0 ].gas_cost , 7 * 3 + 10 * 2 + 3 );
63- EXPECT_EQ (analysis.blocks [0 ].stack_req , 3 );
64- EXPECT_EQ (analysis.blocks [0 ].stack_max_growth , 7 );
58+ EXPECT_EQ (analysis.instrs [0 ].arg .block .gas_cost , 7 * 3 + 10 * 2 + 3 );
59+ EXPECT_EQ (analysis.instrs [0 ].arg .block .stack_req , 3 );
60+ EXPECT_EQ (analysis.instrs [0 ].arg .block .stack_max_growth , 7 );
6561}
6662
6763TEST (analysis, push)
@@ -86,11 +82,12 @@ TEST(analysis, jumpdest_skip)
8682 const auto code = bytecode{} + OP_STOP + OP_JUMPDEST;
8783 auto analysis = evmone::analyze (fake_fn_table, rev, &code[0 ], code.size ());
8884
89- EXPECT_EQ (analysis.blocks .size (), 2 );
9085 ASSERT_EQ (analysis.instrs .size (), 4 );
9186 EXPECT_EQ (analysis.instrs [0 ].fn , fake_fn_table[OPX_BEGINBLOCK]);
87+ EXPECT_EQ (analysis.instrs [0 ].arg .block .gas_cost , 0 );
9288 EXPECT_EQ (analysis.instrs [1 ].fn , fake_fn_table[OP_STOP]);
9389 EXPECT_EQ (analysis.instrs [2 ].fn , fake_fn_table[OP_JUMPDEST]);
90+ EXPECT_EQ (analysis.instrs [2 ].arg .block .gas_cost , 1 );
9491 EXPECT_EQ (analysis.instrs [3 ].fn , fake_fn_table[OP_STOP]);
9592}
9693
@@ -99,7 +96,6 @@ TEST(analysis, jump1)
9996 const auto code = jump (add (4 , 2 )) + OP_JUMPDEST + mstore (0 , 3 ) + ret (0 , 0x20 ) + jump (6 );
10097 const auto analysis = analyze (fake_fn_table, rev, &code[0 ], code.size ());
10198
102- ASSERT_EQ (analysis.blocks .size (), 4 );
10399 ASSERT_EQ (analysis.jumpdest_offsets .size (), 1 );
104100 ASSERT_EQ (analysis.jumpdest_targets .size (), 1 );
105101 EXPECT_EQ (analysis.jumpdest_offsets [0 ], 6 );
@@ -114,7 +110,6 @@ TEST(analysis, empty)
114110 bytes code;
115111 auto analysis = evmone::analyze (fake_fn_table, rev, &code[0 ], code.size ());
116112
117- EXPECT_EQ (analysis.blocks .size (), 1 );
118113 EXPECT_EQ (analysis.instrs .size (), 2 );
119114 EXPECT_EQ (analysis.instrs [0 ].fn , fake_fn_table[OPX_BEGINBLOCK]);
120115 EXPECT_EQ (analysis.instrs [1 ].fn , fake_fn_table[OP_STOP]);
@@ -125,7 +120,6 @@ TEST(analysis, only_jumpdest)
125120 const auto code = bytecode{OP_JUMPDEST};
126121 auto analysis = evmone::analyze (fake_fn_table, rev, &code[0 ], code.size ());
127122
128- ASSERT_EQ (analysis.blocks .size (), 1 );
129123 ASSERT_EQ (analysis.jumpdest_offsets .size (), 1 );
130124 ASSERT_EQ (analysis.jumpdest_targets .size (), 1 );
131125 EXPECT_EQ (analysis.jumpdest_offsets [0 ], 0 );
@@ -137,7 +131,6 @@ TEST(analysis, jumpi_at_the_end)
137131 const auto code = bytecode{OP_JUMPI};
138132 auto analysis = evmone::analyze (fake_fn_table, rev, &code[0 ], code.size ());
139133
140- EXPECT_EQ (analysis.blocks .size (), 2 );
141134 ASSERT_EQ (analysis.instrs .size (), 4 );
142135 EXPECT_EQ (analysis.instrs [0 ].fn , fake_fn_table[OPX_BEGINBLOCK]);
143136 EXPECT_EQ (analysis.instrs [1 ].fn , fake_fn_table[OP_JUMPI]);
@@ -152,7 +145,6 @@ TEST(analysis, terminated_last_block)
152145 const auto code = ret (0 , 0 );
153146 auto analysis = evmone::analyze (fake_fn_table, rev, &code[0 ], code.size ());
154147
155- EXPECT_EQ (analysis.blocks .size (), 2 );
156148 ASSERT_EQ (analysis.instrs .size (), 6 );
157149 EXPECT_EQ (analysis.instrs [0 ].fn , fake_fn_table[OPX_BEGINBLOCK]);
158150 EXPECT_EQ (analysis.instrs [3 ].fn , fake_fn_table[OP_RETURN]);
@@ -165,7 +157,6 @@ TEST(analysis, jumpdests_groups)
165157 const auto code = 3 * OP_JUMPDEST + push (1 ) + 3 * OP_JUMPDEST + push (2 ) + OP_JUMPI;
166158 auto analysis = evmone::analyze (fake_fn_table, rev, &code[0 ], code.size ());
167159
168- EXPECT_EQ (analysis.blocks .size (), 7 );
169160 ASSERT_EQ (analysis.instrs .size (), 11 );
170161 EXPECT_EQ (analysis.instrs [0 ].fn , fake_fn_table[OP_JUMPDEST]);
171162 EXPECT_EQ (analysis.instrs [1 ].fn , fake_fn_table[OP_JUMPDEST]);
0 commit comments