diff options
| author | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2018-01-11 09:56:26 +0100 |
|---|---|---|
| committer | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2018-01-11 10:29:36 +0100 |
| commit | 79a39f095ad05c1d719ea841986c6d2642d184c7 (patch) | |
| tree | ae0294d654368885d33cad47725d2f86e251d709 /test/expression/stp.py | |
| parent | 046109f04276755fea9470fe62c8eb37ee329f86 (diff) | |
| download | miasm-79a39f095ad05c1d719ea841986c6d2642d184c7.tar.gz miasm-79a39f095ad05c1d719ea841986c6d2642d184c7.zip | |
Expression: use stp translator
Diffstat (limited to 'test/expression/stp.py')
| -rwxr-xr-x | test/expression/stp.py | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/test/expression/stp.py b/test/expression/stp.py index a4b037de..38bbf9c8 100755 --- a/test/expression/stp.py +++ b/test/expression/stp.py @@ -8,24 +8,28 @@ class TestIrIr2STP(unittest.TestCase): def test_ExprOp_strcst(self): from miasm2.expression.expression import ExprInt, ExprOp - import miasm2.expression.stp # /!\ REALLY DIRTY HACK + from miasm2.ir.translators.translator import Translator + translator_smt2 = Translator.to_language("smt2") + args = [ExprInt(i, 32) for i in xrange(9)] self.assertEqual( - ExprOp('|', *args[:2]).strcst(), r'(0bin00000000000000000000000000000000 | 0bin00000000000000000000000000000001)') + translator_smt2.from_expr(ExprOp('|', *args[:2])), r'(bvor (_ bv0 32) (_ bv1 32))') self.assertEqual( - ExprOp('-', *args[:2]).strcst(), r'BVUMINUS(0bin00000000000000000000000000000000)') + translator_smt2.from_expr(ExprOp('-', *args[:2])), r'(bvsub (_ bv0 32) (_ bv1 32))') self.assertEqual( - ExprOp('+', *args[:3]).strcst(), r'BVPLUS(32,BVPLUS(32,0bin00000000000000000000000000000000, 0bin00000000000000000000000000000001), 0bin00000000000000000000000000000010)') - self.assertRaises(ValueError, ExprOp('X', *args[:1]).strcst) + translator_smt2.from_expr(ExprOp('+', *args[:3])), r'(bvadd (bvadd (_ bv0 32) (_ bv1 32)) (_ bv2 32))') + self.assertRaises(NotImplementedError, translator_smt2.from_expr, ExprOp('X', *args[:1])) def test_ExprSlice_strcst(self): - from miasm2.expression.expression import ExprInt, ExprSlice - import miasm2.expression.stp # /!\ REALLY DIRTY HACK + from miasm2.expression.expression import ExprInt, ExprOp + from miasm2.ir.translators.translator import Translator + translator_smt2 = Translator.to_language("smt2") + args = [ExprInt(i, 32) for i in xrange(9)] self.assertEqual( - args[0][1:2].strcst(), r'(0bin00000000000000000000000000000000)[1:1]') + translator_smt2.from_expr(args[0][1:2]), r'((_ extract 1 1) (_ bv0 32))') self.assertRaises(ValueError, args[0].__getitem__, slice(1,7,2)) if __name__ == '__main__': |