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 @@ -431,3 +431,34 @@ fn test_or_and_too_few_args() {
431
431
let _result = type_safety:: verify ( & module, & fun_context, & mut DummyMeter ) ;
432
432
}
433
433
}
434
+
435
+
436
+ #[ test]
437
+ fn test_not_correct_type ( ) {
438
+ let code = vec ! [ Bytecode :: LdFalse , Bytecode :: Not ] ;
439
+ let module = make_module ( code) ;
440
+ let fun_context = get_fun_context ( & module) ;
441
+ let result = type_safety:: verify ( & module, & fun_context, & mut DummyMeter ) ;
442
+ assert ! ( result. is_ok( ) ) ;
443
+ }
444
+
445
+ #[ test]
446
+ fn test_not_wrong_type ( ) {
447
+ let code = vec ! [ Bytecode :: LdU32 ( 42 ) , Bytecode :: Not ] ;
448
+ let module = make_module ( code) ;
449
+ let fun_context = get_fun_context ( & module) ;
450
+ let result = type_safety:: verify ( & module, & fun_context, & mut DummyMeter ) ;
451
+ assert_eq ! (
452
+ result. unwrap_err( ) . major_status( ) ,
453
+ StatusCode :: BOOLEAN_OP_TYPE_MISMATCH_ERROR
454
+ ) ;
455
+ }
456
+
457
+ #[ test]
458
+ #[ should_panic]
459
+ fn test_not_no_arg ( ) {
460
+ let code = vec ! [ Bytecode :: Not ] ;
461
+ let module = make_module ( code) ;
462
+ let fun_context = get_fun_context ( & module) ;
463
+ let _result = type_safety:: verify ( & module, & fun_context, & mut DummyMeter ) ;
464
+ }
You can’t perform that action at this time.
0 commit comments