@@ -21,7 +21,6 @@ TEST(analysis, example1)
21
21
ASSERT_EQ (analysis.instrs .size (), 8 );
22
22
23
23
EXPECT_EQ (analysis.instrs [0 ].fn , op_table[OPX_BEGINBLOCK]);
24
- EXPECT_EQ (analysis.instrs [0 ].arg .number , 0 );
25
24
EXPECT_EQ (analysis.instrs [1 ].fn , op_table[OP_PUSH1]);
26
25
EXPECT_EQ (analysis.instrs [2 ].fn , op_table[OP_PUSH1]);
27
26
EXPECT_EQ (analysis.instrs [3 ].fn , op_table[OP_MSTORE8]);
@@ -30,10 +29,10 @@ TEST(analysis, example1)
30
29
EXPECT_EQ (analysis.instrs [6 ].fn , op_table[OP_SSTORE]);
31
30
EXPECT_EQ (analysis.instrs [7 ].fn , op_table[OP_STOP]);
32
31
33
- ASSERT_EQ ( analysis.blocks . size (), 1 ) ;
34
- EXPECT_EQ (analysis. blocks [ 0 ] .gas_cost , 14 );
35
- EXPECT_EQ (analysis. blocks [ 0 ] .stack_req , 0 );
36
- EXPECT_EQ (analysis. blocks [ 0 ] .stack_max_growth , 2 );
32
+ const auto & block = analysis.instrs [ 0 ]. arg . block ;
33
+ EXPECT_EQ (block .gas_cost , 14 );
34
+ EXPECT_EQ (block .stack_req , 0 );
35
+ EXPECT_EQ (block .stack_max_growth , 2 );
37
36
}
38
37
39
38
TEST (analysis, stack_up_and_down)
@@ -43,16 +42,15 @@ TEST(analysis, stack_up_and_down)
43
42
44
43
ASSERT_EQ (analysis.instrs .size (), 20 );
45
44
EXPECT_EQ (analysis.instrs [0 ].fn , op_table[OPX_BEGINBLOCK]);
46
- EXPECT_EQ (analysis.instrs [0 ].arg .number , 0 );
47
45
EXPECT_EQ (analysis.instrs [1 ].fn , op_table[OP_DUP2]);
48
46
EXPECT_EQ (analysis.instrs [2 ].fn , op_table[OP_DUP1]);
49
47
EXPECT_EQ (analysis.instrs [8 ].fn , op_table[OP_POP]);
50
48
EXPECT_EQ (analysis.instrs [18 ].fn , op_table[OP_PUSH1]);
51
49
52
- ASSERT_EQ ( analysis.blocks . size (), 1 ) ;
53
- EXPECT_EQ (analysis. blocks [ 0 ] .gas_cost , 7 * 3 + 10 * 2 + 3 );
54
- EXPECT_EQ (analysis. blocks [ 0 ] .stack_req , 3 );
55
- EXPECT_EQ (analysis. blocks [ 0 ] .stack_max_growth , 7 );
50
+ const auto & block = analysis.instrs [ 0 ]. arg . block ;
51
+ EXPECT_EQ (block .gas_cost , 7 * 3 + 10 * 2 + 3 );
52
+ EXPECT_EQ (block .stack_req , 3 );
53
+ EXPECT_EQ (block .stack_max_growth , 7 );
56
54
}
57
55
58
56
TEST (analysis, push)
@@ -77,7 +75,6 @@ TEST(analysis, jumpdest_skip)
77
75
const auto code = bytecode{} + OP_STOP + OP_JUMPDEST;
78
76
auto analysis = evmone::analyze (rev, &code[0 ], code.size ());
79
77
80
- EXPECT_EQ (analysis.blocks .size (), 2 );
81
78
ASSERT_EQ (analysis.instrs .size (), 4 );
82
79
EXPECT_EQ (analysis.instrs [0 ].fn , op_table[OPX_BEGINBLOCK]);
83
80
EXPECT_EQ (analysis.instrs [1 ].fn , op_table[OP_STOP]);
@@ -90,7 +87,6 @@ TEST(analysis, jump1)
90
87
const auto code = jump (add (4 , 2 )) + OP_JUMPDEST + mstore (0 , 3 ) + ret (0 , 0x20 ) + jump (6 );
91
88
const auto analysis = analyze (rev, &code[0 ], code.size ());
92
89
93
- ASSERT_EQ (analysis.blocks .size (), 4 );
94
90
ASSERT_EQ (analysis.jumpdest_offsets .size (), 1 );
95
91
ASSERT_EQ (analysis.jumpdest_targets .size (), 1 );
96
92
EXPECT_EQ (analysis.jumpdest_offsets [0 ], 6 );
@@ -105,7 +101,6 @@ TEST(analysis, empty)
105
101
bytes code;
106
102
auto analysis = evmone::analyze (rev, &code[0 ], code.size ());
107
103
108
- EXPECT_EQ (analysis.blocks .size (), 1 );
109
104
ASSERT_EQ (analysis.instrs .size (), 2 );
110
105
EXPECT_EQ (analysis.instrs [0 ].fn , op_table[OPX_BEGINBLOCK]);
111
106
EXPECT_EQ (analysis.instrs [1 ].fn , op_table[OP_STOP]);
@@ -116,7 +111,6 @@ TEST(analysis, only_jumpdest)
116
111
const auto code = bytecode{OP_JUMPDEST};
117
112
auto analysis = evmone::analyze (rev, &code[0 ], code.size ());
118
113
119
- ASSERT_EQ (analysis.blocks .size (), 1 );
120
114
ASSERT_EQ (analysis.jumpdest_offsets .size (), 1 );
121
115
ASSERT_EQ (analysis.jumpdest_targets .size (), 1 );
122
116
EXPECT_EQ (analysis.jumpdest_offsets [0 ], 0 );
@@ -128,7 +122,6 @@ TEST(analysis, jumpi_at_the_end)
128
122
const auto code = bytecode{OP_JUMPI};
129
123
auto analysis = evmone::analyze (rev, &code[0 ], code.size ());
130
124
131
- EXPECT_EQ (analysis.blocks .size (), 2 );
132
125
ASSERT_EQ (analysis.instrs .size (), 4 );
133
126
EXPECT_EQ (analysis.instrs [0 ].fn , op_table[OPX_BEGINBLOCK]);
134
127
EXPECT_EQ (analysis.instrs [1 ].fn , op_table[OP_JUMPI]);
@@ -143,7 +136,6 @@ TEST(analysis, terminated_last_block)
143
136
const auto code = ret (0 , 0 );
144
137
auto analysis = evmone::analyze (rev, &code[0 ], code.size ());
145
138
146
- EXPECT_EQ (analysis.blocks .size (), 2 );
147
139
ASSERT_EQ (analysis.instrs .size (), 6 );
148
140
EXPECT_EQ (analysis.instrs [0 ].fn , op_table[OPX_BEGINBLOCK]);
149
141
EXPECT_EQ (analysis.instrs [3 ].fn , op_table[OP_RETURN]);
@@ -156,7 +148,6 @@ TEST(analysis, jumpdests_groups)
156
148
const auto code = 3 * OP_JUMPDEST + push (1 ) + 3 * OP_JUMPDEST + push (2 ) + OP_JUMPI;
157
149
auto analysis = evmone::analyze (rev, &code[0 ], code.size ());
158
150
159
- EXPECT_EQ (analysis.blocks .size (), 7 );
160
151
ASSERT_EQ (analysis.instrs .size (), 11 );
161
152
EXPECT_EQ (analysis.instrs [0 ].fn , op_table[OP_JUMPDEST]);
162
153
EXPECT_EQ (analysis.instrs [1 ].fn , op_table[OP_JUMPDEST]);
0 commit comments