@@ -4,80 +4,109 @@ pub mod in_memory;
44pub mod run;
55pub mod types;
66
7- #[ test]
8- fn st_args_zero_one_balance ( ) {
9- const JSON_FILENAME : & str = "res/ethtests/GeneralStateTests/stArgsZeroOneBalance/" ;
10- let tests_status = run:: run_single ( JSON_FILENAME , false ) . unwrap ( ) ;
11- tests_status. print_total ( ) ;
7+ macro_rules! general_state_tests {
8+ ( $name: ident, $folder: expr $( , $extra_meta: meta) ? ) => {
9+ $( #[ $extra_meta] ) ?
10+ #[ test]
11+ fn $name( ) {
12+ const JSON_FILENAME : & str = concat!( "res/ethtests/GeneralStateTests/" , $folder, "/" ) ;
13+ println!( "name: {}" , JSON_FILENAME ) ;
14+ let tests_status = run:: run_single( JSON_FILENAME , false ) . unwrap( ) ;
15+ tests_status. print_total( ) ;
16+ }
17+ }
1218}
1319
14- #[ test]
15- fn st_code_copy_test ( ) {
16- const JSON_FILENAME : & str = "res/ethtests/GeneralStateTests/stCodeCopyTest/" ;
17- let tests_status = run:: run_single ( JSON_FILENAME , false ) . unwrap ( ) ;
18- tests_status. print_total ( ) ;
19- }
20-
21- #[ test]
22- fn st_example ( ) {
23- const JSON_FILENAME : & str = "res/ethtests/GeneralStateTests/stExample/" ;
24- let tests_status = run:: run_single ( JSON_FILENAME , false ) . unwrap ( ) ;
25- tests_status. print_total ( ) ;
26- }
27-
28- #[ test]
29- fn st_self_balance ( ) {
30- const JSON_FILENAME : & str = "res/ethtests/GeneralStateTests/stSelfBalance/" ;
31- let tests_status = run:: run_single ( JSON_FILENAME , false ) . unwrap ( ) ;
32- tests_status. print_total ( ) ;
33- }
34-
35- #[ test]
36- fn st_s_load_test ( ) {
37- const JSON_FILENAME : & str = "res/ethtests/GeneralStateTests/stSLoadTest/" ;
38- let tests_status = run:: run_single ( JSON_FILENAME , false ) . unwrap ( ) ;
39- tests_status. print_total ( ) ;
40- }
41-
42- #[ test]
43- fn vm_arithmetic_test ( ) {
44- const JSON_FILENAME : & str = "res/ethtests/GeneralStateTests/VMTests/vmArithmeticTest/" ;
45- let tests_status = run:: run_single ( JSON_FILENAME , false ) . unwrap ( ) ;
46- tests_status. print_total ( ) ;
47- }
20+ general_state_tests ! ( st_args_zero_one_balance, "stArgsZeroOneBalance" ) ;
21+ general_state_tests ! ( st_attack_test, "stAttackTest" , ignore) ;
22+ general_state_tests ! ( st_bad_opcode, "stBadOpcode" , ignore) ;
23+ general_state_tests ! ( st_bugs, "stBugs" , ignore) ;
24+ general_state_tests ! ( st_call_codes, "stCallCodes" , ignore) ;
25+ general_state_tests ! (
26+ st_call_create_call_code_test,
27+ "stCallCreateCallCodeTest" ,
28+ ignore
29+ ) ;
30+ general_state_tests ! (
31+ st_call_delegate_codes_call_code_homestead,
32+ "stCallDelegateCodesCallCodeHomestead" ,
33+ ignore
34+ ) ;
35+ general_state_tests ! (
36+ st_call_delegate_codes_homestead,
37+ "stCallDelegateCodesHomestead" ,
38+ ignore
39+ ) ;
40+ general_state_tests ! ( st_chain_id, "stChainId" , ignore) ;
41+ general_state_tests ! ( st_code_copy_test, "stCodeCopyTest" ) ;
42+ general_state_tests ! ( st_code_size_limit, "stCodeSizeLimit" , ignore) ;
43+ general_state_tests ! ( st_create2, "stCreate2" , ignore) ;
44+ general_state_tests ! ( st_create_test, "stCreateTest" , ignore) ;
45+ general_state_tests ! (
46+ st_delegatecall_test_homestead,
47+ "stDelegatecallTestHomestead" ,
48+ ignore
49+ ) ;
50+ general_state_tests ! (
51+ st_eip150_single_code_gas_prices,
52+ "stEIP150singleCodeGasPrices" ,
53+ ignore
54+ ) ;
55+ general_state_tests ! ( st_eip150_specific, "stEIP150Specific" , ignore) ;
56+ general_state_tests ! ( st_eip1559, "stEIP1559" , ignore) ;
57+ general_state_tests ! ( st_eip158_specific, "stEIP158Specific" , ignore) ;
58+ general_state_tests ! ( st_eip2930, "stEIP2930" , ignore) ;
59+ general_state_tests ! ( st_eip3607, "stEIP3607" , ignore) ;
60+ general_state_tests ! ( st_example, "stExample" ) ;
61+ general_state_tests ! ( st_ext_code_hash, "stExtCodeHash" , ignore) ;
62+ general_state_tests ! ( st_homestead_specific, "stHomesteadSpecific" , ignore) ;
63+ general_state_tests ! ( st_init_code_test, "stInitCodeTest" , ignore) ;
64+ general_state_tests ! ( st_log_tests, "stLogTests" ) ;
65+ general_state_tests ! (
66+ st_mem_expanding_eip150_calls,
67+ "stMemExpandingEIP150Calls" ,
68+ ignore
69+ ) ;
70+ general_state_tests ! ( st_memory_stress_test, "stMemoryStressTest" ) ;
71+ general_state_tests ! ( st_memory_test, "stMemoryTest" ) ;
72+ general_state_tests ! ( st_non_zero_calls_test, "stNonZeroCallsTest" , ignore) ;
73+ general_state_tests ! ( st_precompiled_contracts, "stPreCompiledContracts" , ignore) ;
74+ general_state_tests ! ( st_precompiled_contracts2, "stPreCompiledContracts2" , ignore) ;
75+ general_state_tests ! ( st_quadratic_complexity_test, "stQuadraticComplexityTest" ) ;
76+ general_state_tests ! ( st_random, "stRandom" , ignore) ;
77+ general_state_tests ! ( st_random2, "stRandom2" , ignore) ;
78+ general_state_tests ! ( st_recursive_create, "stRecursiveCreate" , ignore) ;
79+ general_state_tests ! ( st_refund_test, "stRefundTest" ) ;
80+ general_state_tests ! ( st_return_data_test, "stReturnDataTest" , ignore) ;
81+ general_state_tests ! ( st_revert_test, "stRevertTest" , ignore) ;
82+ general_state_tests ! ( st_self_balance, "stSelfBalance" ) ;
83+ general_state_tests ! ( st_shift, "stShift" , ignore) ;
84+ general_state_tests ! ( st_sload_test, "stSLoadTest" ) ;
85+ general_state_tests ! ( st_solidity_test, "stSolidityTest" , ignore) ;
86+ general_state_tests ! ( st_special_test, "stSpecialTest" , ignore) ;
87+ general_state_tests ! ( st_sstore_test, "stSStoreTest" , ignore) ;
88+ general_state_tests ! ( st_stack_tests, "stStackTests" , ignore) ;
89+ general_state_tests ! ( st_static_call, "stStaticCall" , ignore) ;
90+ general_state_tests ! ( st_static_flag_enabled, "stStaticFlagEnabled" , ignore) ;
91+ general_state_tests ! ( st_system_operations_test, "stSystemOperationsTest" , ignore) ;
92+ general_state_tests ! ( st_time_consuming, "stTimeConsuming" , ignore) ;
93+ general_state_tests ! ( st_transaction_test, "stTransactionTest" , ignore) ;
94+ general_state_tests ! ( st_transition_test, "stTransitionTest" , ignore) ;
95+ general_state_tests ! ( st_wallet_test, "stWalletTest" , ignore) ;
96+ general_state_tests ! ( st_zero_calls_revert, "stZeroCallsRevert" ) ;
97+ general_state_tests ! ( st_zero_calls_test, "stZeroCallsTest" , ignore) ;
98+ general_state_tests ! ( st_zero_knowledge, "stZeroKnowledge" ) ;
99+ general_state_tests ! ( st_zero_knowledge2, "stZeroKnowledge2" ) ;
48100
49- #[ test]
50- fn vm_bitwise_logic_operation ( ) {
51- const JSON_FILENAME : & str = "res/ethtests/GeneralStateTests/VMTests/vmBitwiseLogicOperation/" ;
52- let tests_status = run:: run_single ( JSON_FILENAME , false ) . unwrap ( ) ;
53- tests_status. print_total ( ) ;
54- }
55-
56- #[ test]
57- fn vm_io_and_flow_operations ( ) {
58- const JSON_FILENAME : & str = "res/ethtests/GeneralStateTests/VMTests/vmIOandFlowOperations/" ;
59- let tests_status = run:: run_single ( JSON_FILENAME , false ) . unwrap ( ) ;
60- tests_status. print_total ( ) ;
61- }
62-
63- #[ test]
64- fn vm_log_test ( ) {
65- const JSON_FILENAME : & str = "res/ethtests/GeneralStateTests/VMTests/vmLogTest/" ;
66- let tests_status = run:: run_single ( JSON_FILENAME , false ) . unwrap ( ) ;
67- tests_status. print_total ( ) ;
68- }
69-
70- #[ test]
71- fn vm_tests ( ) {
72- const JSON_FILENAME : & str = "res/ethtests/GeneralStateTests/VMTests/vmTests/" ;
73- let tests_status = run:: run_single ( JSON_FILENAME , false ) . unwrap ( ) ;
74- tests_status. print_total ( ) ;
75- }
76-
77- #[ test]
78- fn sqt_eip_2930 ( ) {
79- const JSON_FILENAME : & str =
80- "res/ethtests/GeneralStateTests/stEIP150singleCodeGasPrices/eip2929.json" ;
81- let tests_status = run:: run_single ( JSON_FILENAME , false ) . unwrap ( ) ;
82- tests_status. print_total ( ) ;
83- }
101+ general_state_tests ! ( vm_tests_arithmetic_test, "VMTests/vmArithmeticTest" ) ;
102+ general_state_tests ! (
103+ vm_tests_bitwise_logic_operation,
104+ "VMTests/vmBitwiseLogicOperation"
105+ ) ;
106+ general_state_tests ! (
107+ vm_tests_io_and_flow_operations,
108+ "VMTests/vmIOandFlowOperations"
109+ ) ;
110+ general_state_tests ! ( vm_tests_log_test, "VMTests/vmLogTest" ) ;
111+ general_state_tests ! ( vm_tests_performance, "VMTests/vmPerformance" ) ;
112+ general_state_tests ! ( vm_tests_tests, "VMTests/vmTests" ) ;
0 commit comments