File tree Expand file tree Collapse file tree 1 file changed +31
-0
lines changed
crates/move-bytecode-verifier/src/type_safety_tests Expand file tree Collapse file tree 1 file changed +31
-0
lines changed Original file line number Diff line number Diff line change @@ -108,3 +108,34 @@ fn test_br_false_no_arg() {
108
108
let _result = type_safety:: verify ( & module, & fun_context, & mut DummyMeter ) ;
109
109
}
110
110
111
+
112
+ #[ test]
113
+ fn test_abort_correct_type ( ) {
114
+ let code = vec ! [ Bytecode :: LdU64 ( 0 ) , Bytecode :: Abort ] ;
115
+ let module = make_module ( code) ;
116
+ let fun_context = get_fun_context ( & module) ;
117
+ let result = type_safety:: verify ( & module, & fun_context, & mut DummyMeter ) ;
118
+ assert ! ( result. is_ok( ) ) ;
119
+ }
120
+
121
+
122
+ #[ test]
123
+ fn test_abort_wrong_type ( ) {
124
+ let code = vec ! [ Bytecode :: LdU32 ( 0 ) , Bytecode :: Abort ] ;
125
+ let module = make_module ( code) ;
126
+ let fun_context = get_fun_context ( & module) ;
127
+ let result = type_safety:: verify ( & module, & fun_context, & mut DummyMeter ) ;
128
+ assert_eq ! (
129
+ result. unwrap_err( ) . major_status( ) ,
130
+ StatusCode :: ABORT_TYPE_MISMATCH_ERROR
131
+ ) ;
132
+ }
133
+
134
+ #[ test]
135
+ #[ should_panic]
136
+ fn test_abort_no_arg ( ) {
137
+ let code = vec ! [ Bytecode :: Abort ] ;
138
+ let module = make_module ( code) ;
139
+ let fun_context = get_fun_context ( & module) ;
140
+ let _result = type_safety:: verify ( & module, & fun_context, & mut DummyMeter ) ;
141
+ }
You can’t perform that action at this time.
0 commit comments