@@ -48,64 +48,48 @@ fn get_fun_context(module: &CompiledModule) -> FunctionContext {
48
48
49
49
50
50
#[ test]
51
- fn test_br_true_correct_type ( ) {
52
- let code = vec ! [ Bytecode :: LdTrue , Bytecode :: BrTrue ( 0 ) ] ;
51
+ fn test_br_true_false_correct_type ( ) {
52
+ for instr in vec ! [
53
+ Bytecode :: BrTrue ( 0 ) ,
54
+ Bytecode :: BrFalse ( 0 ) ,
55
+ ] {
56
+ let code = vec ! [ Bytecode :: LdTrue , instr] ;
53
57
let module = make_module ( code) ;
54
58
let fun_context = get_fun_context ( & module) ;
55
59
let result = type_safety:: verify ( & module, & fun_context, & mut DummyMeter ) ;
56
60
assert ! ( result. is_ok( ) ) ;
57
61
}
58
-
59
- #[ test]
60
- fn test_br_true_wrong_type ( ) {
61
- let code = vec ! [ Bytecode :: LdU32 ( 0 ) , Bytecode :: BrTrue ( 0 ) ] ;
62
- let module = make_module ( code) ;
63
- let fun_context = get_fun_context ( & module) ;
64
- let result = type_safety:: verify ( & module, & fun_context, & mut DummyMeter ) ;
65
- assert_eq ! (
66
- result. unwrap_err( ) . major_status( ) ,
67
- StatusCode :: BR_TYPE_MISMATCH_ERROR
68
- ) ;
69
- }
70
-
71
- #[ test]
72
- #[ should_panic]
73
- fn test_br_true_no_arg ( ) {
74
- let code = vec ! [ Bytecode :: BrTrue ( 0 ) ] ;
75
- let module = make_module ( code) ;
76
- let fun_context = get_fun_context ( & module) ;
77
- let _result = type_safety:: verify ( & module, & fun_context, & mut DummyMeter ) ;
78
- }
79
-
80
-
81
- #[ test]
82
- fn test_br_false_correct_type ( ) {
83
- let code = vec ! [ Bytecode :: LdTrue , Bytecode :: BrFalse ( 0 ) ] ;
84
- let module = make_module ( code) ;
85
- let fun_context = get_fun_context ( & module) ;
86
- let result = type_safety:: verify ( & module, & fun_context, & mut DummyMeter ) ;
87
- assert ! ( result. is_ok( ) ) ;
88
62
}
89
63
90
64
#[ test]
91
- fn test_br_false_wrong_type ( ) {
92
- let code = vec ! [ Bytecode :: LdU32 ( 0 ) , Bytecode :: BrFalse ( 0 ) ] ;
65
+ fn test_br_true_false_wrong_type ( ) {
66
+ for instr in vec ! [
67
+ Bytecode :: BrTrue ( 0 ) ,
68
+ Bytecode :: BrFalse ( 0 ) ,
69
+ ] {
70
+ let code = vec ! [ Bytecode :: LdU32 ( 0 ) , instr] ;
93
71
let module = make_module ( code) ;
94
72
let fun_context = get_fun_context ( & module) ;
95
73
let result = type_safety:: verify ( & module, & fun_context, & mut DummyMeter ) ;
96
74
assert_eq ! (
97
75
result. unwrap_err( ) . major_status( ) ,
98
76
StatusCode :: BR_TYPE_MISMATCH_ERROR
99
77
) ;
78
+ }
100
79
}
101
80
102
81
#[ test]
103
82
#[ should_panic]
104
- fn test_br_false_no_arg ( ) {
105
- let code = vec ! [ Bytecode :: BrFalse ( 0 ) ] ;
83
+ fn test_br_true_false_no_arg ( ) {
84
+ for instr in vec ! [
85
+ Bytecode :: BrTrue ( 0 ) ,
86
+ Bytecode :: BrFalse ( 0 ) ,
87
+ ] {
88
+ let code = vec ! [ instr] ;
106
89
let module = make_module ( code) ;
107
90
let fun_context = get_fun_context ( & module) ;
108
91
let _result = type_safety:: verify ( & module, & fun_context, & mut DummyMeter ) ;
92
+ }
109
93
}
110
94
111
95
0 commit comments