@@ -554,138 +554,6 @@ def testBasicMigration(self):
554
554
555
555
self .assertItemsEqual (solver .get_all_values (cs1 , var1 ), [2 ]) # should only be [2]
556
556
557
- def test_ORD (self ):
558
- cs = ConstraintSet ()
559
- a = cs .new_bitvec (8 )
560
- cs .add (Operators .ORD (a ) == Operators .ORD ("Z" ))
561
-
562
- self .assertTrue (solver .check (cs ))
563
- self .assertEqual (solver .get_value (cs , a ), ord ("Z" ))
564
-
565
- def test_CHR (self ):
566
- cs = ConstraintSet ()
567
- a = cs .new_bitvec (8 )
568
- cs .add (Operators .CHR (a ) == Operators .CHR (0x41 ))
569
-
570
- self .assertTrue (solver .check (cs ))
571
- self .assertEqual (solver .get_value (cs , a ), 0x41 )
572
-
573
- def test_CONCAT (self ):
574
- cs = ConstraintSet ()
575
- a = cs .new_bitvec (16 )
576
- b = cs .new_bitvec (8 )
577
- c = cs .new_bitvec (8 )
578
-
579
- cs .add (b == 0x41 )
580
- cs .add (c == 0x42 )
581
- cs .add (a == Operators .CONCAT (a .size , b , c ))
582
-
583
- self .assertTrue (solver .check (cs ))
584
- self .assertEqual (solver .get_value (cs , a ), Operators .CONCAT (a .size , 0x41 , 0x42 ))
585
-
586
- def test_ITEBV_1 (self ):
587
- cs = ConstraintSet ()
588
- a = cs .new_bitvec (8 )
589
- b = cs .new_bitvec (8 )
590
- c = cs .new_bitvec (8 )
591
-
592
- cs .add (b == 0x41 )
593
- cs .add (c == 0x42 )
594
- cs .add (a == Operators .ITEBV (8 , b == c , b , c ))
595
-
596
- self .assertTrue (solver .check (cs ))
597
- self .assertEqual (solver .get_value (cs , a ), 0x42 )
598
-
599
- def test_ITEBV_2 (self ):
600
- cs = ConstraintSet ()
601
- a = cs .new_bitvec (8 )
602
- b = cs .new_bitvec (8 )
603
- c = cs .new_bitvec (8 )
604
-
605
- cs .add (b == 0x44 )
606
- cs .add (c == 0x44 )
607
- cs .add (a == Operators .ITEBV (8 , b == c , b , c ))
608
-
609
- self .assertTrue (solver .check (cs ))
610
- self .assertEqual (solver .get_value (cs , a ), 0x44 )
611
-
612
- def test_ITE (self ):
613
- cs = ConstraintSet ()
614
- a = cs .new_bool ()
615
- b = cs .new_bool ()
616
- c = cs .new_bool ()
617
-
618
- cs .add (b == True )
619
- cs .add (c == False )
620
- cs .add (a == Operators .ITE (b == c , b , c ))
621
-
622
- self .assertTrue (solver .check (cs ))
623
- self .assertEqual (solver .get_value (cs , a ), False )
624
-
625
- def test_UREM (self ):
626
- cs = ConstraintSet ()
627
- a = cs .new_bitvec (8 )
628
- b = cs .new_bitvec (8 )
629
- c = cs .new_bitvec (8 )
630
- d = cs .new_bitvec (8 )
631
-
632
- cs .add (b == 0x86 ) # 134
633
- cs .add (c == 0x11 ) # 17
634
- cs .add (a == Operators .UREM (b , c ))
635
- cs .add (d == b .urem (c ))
636
- cs .add (a == d )
637
-
638
- self .assertTrue (solver .check (cs ))
639
- self .assertEqual (solver .get_value (cs , a ), 0xF )
640
-
641
- def test_SREM (self ):
642
- cs = ConstraintSet ()
643
- a = cs .new_bitvec (8 )
644
- b = cs .new_bitvec (8 )
645
- c = cs .new_bitvec (8 )
646
- d = cs .new_bitvec (8 )
647
-
648
- cs .add (b == 0x86 ) # -122
649
- cs .add (c == 0x11 ) # 17
650
- cs .add (a == Operators .SREM (b , c ))
651
- cs .add (d == b .srem (c ))
652
- cs .add (a == d )
653
-
654
- self .assertTrue (solver .check (cs ))
655
- self .assertEqual (solver .get_value (cs , a ), - 3 & 0xFF )
656
-
657
- def test_UDIV (self ):
658
- cs = ConstraintSet ()
659
- a = cs .new_bitvec (8 )
660
- b = cs .new_bitvec (8 )
661
- c = cs .new_bitvec (8 )
662
- d = cs .new_bitvec (8 )
663
-
664
- cs .add (b == 0x86 ) # 134
665
- cs .add (c == 0x11 ) # 17
666
- cs .add (a == Operators .UDIV (b , c ))
667
- cs .add (d == b .udiv (c ))
668
- cs .add (a == d )
669
-
670
- self .assertTrue (solver .check (cs ))
671
- self .assertEqual (solver .get_value (cs , a ), 7 )
672
-
673
- def test_SDIV (self ):
674
- cs = ConstraintSet ()
675
- a = cs .new_bitvec (8 )
676
- b = cs .new_bitvec (8 )
677
- c = cs .new_bitvec (8 )
678
- d = cs .new_bitvec (8 )
679
-
680
- cs .add (b == 0x86 ) # -122
681
- cs .add (c == 0x11 ) # 17
682
- cs .add (a == Operators .SDIV (b , c ))
683
- cs .add (d == b // c )
684
- cs .add (a == d )
685
-
686
- self .assertTrue (solver .check (cs ))
687
- self .assertEqual (solver .get_value (cs , a ), - 7 & 0xFF )
688
-
689
557
def test_SAR (self ):
690
558
solver = Z3Solver .instance ()
691
559
A = 0xBADF00D
0 commit comments