about summary refs log tree commit diff stats
path: root/test/ir
diff options
context:
space:
mode:
Diffstat (limited to 'test/ir')
-rw-r--r--test/ir/ir.py13
-rwxr-xr-xtest/ir/ir2C.py11
-rw-r--r--test/ir/reduce_graph.py20
-rwxr-xr-xtest/ir/symbexec.py38
-rw-r--r--test/ir/translators/smt2.py35
-rw-r--r--test/ir/translators/z3_ir.py9
6 files changed, 76 insertions, 50 deletions
diff --git a/test/ir/ir.py b/test/ir/ir.py
index 072c90f6..a959a7a7 100644
--- a/test/ir/ir.py
+++ b/test/ir/ir.py
@@ -1,6 +1,8 @@
-from miasm2.expression.expression import *
-from miasm2.ir.ir import AssignBlock
-from miasm2.expression.simplifications import expr_simp
+from future.utils import viewitems
+
+from miasm.expression.expression import *
+from miasm.ir.ir import AssignBlock
+from miasm.expression.simplifications import expr_simp
 
 id_a = ExprId("a", 32)
 id_b = ExprId("b", 32)
@@ -34,10 +36,11 @@ else:
 assert assignblk1.get_r() == set([id_b])
 assert assignblk1.get_w() == set([id_a])
 assert assignblk1.get_rw() == {id_a: set([id_b])}
-assert assignblk1.keys() == [id_a]
+assert list(assignblk1) == [id_a]
 assert dict(assignblk1) == {id_a: id_b}
 assert assignblk1[id_a] == id_b
-assert list(assignblk1.iteritems()) == assignblk1.items()
+assert list(viewitems(assignblk1)) == list(viewitems(assignblk1))
+assert set(assignblk1.iteritems()) == set(assignblk1.items())
 
 ## Simplify
 assignblk3 = AssignBlock({id_a: id_b - id_b})
diff --git a/test/ir/ir2C.py b/test/ir/ir2C.py
index 6df439c2..c41c98c9 100755
--- a/test/ir/ir2C.py
+++ b/test/ir/ir2C.py
@@ -1,22 +1,23 @@
 #! /usr/bin/env python2
 #-*- coding:utf-8 -*-
 
+from builtins import range
 import unittest
-from miasm2.expression.expression import TOK_EQUAL
+from miasm.expression.expression import TOK_EQUAL
 
 class TestIrIr2C(unittest.TestCase):
 
     def translationTest(self, expr, expected):
-        from miasm2.ir.translators import Translator
+        from miasm.ir.translators import Translator
 
         translator = Translator.to_language("C")
         self.assertEqual(translator.from_expr(expr), expected)
 
     def test_ExprOp_toC(self):
-        from miasm2.expression.expression import ExprInt, ExprOp
-        from miasm2.ir.translators.C import Translator
+        from miasm.expression.expression import ExprInt, ExprOp
+        from miasm.ir.translators.C import Translator
 
-        args = [ExprInt(i, 32) for i in xrange(9)]
+        args = [ExprInt(i, 32) for i in range(9)]
         translator = Translator.to_language("C")
 
         # Unary operators
diff --git a/test/ir/reduce_graph.py b/test/ir/reduce_graph.py
index 75ff3410..8835b4aa 100644
--- a/test/ir/reduce_graph.py
+++ b/test/ir/reduce_graph.py
@@ -1,13 +1,17 @@
 """Regression test module for DependencyGraph"""
+from __future__ import print_function
+from builtins import object
 from pdb import pm
 
-from miasm2.expression.expression import ExprId, ExprInt, ExprAssign, ExprCond, \
+from future.utils import viewitems
+
+from miasm.expression.expression import ExprId, ExprInt, ExprAssign, ExprCond, \
     ExprLoc, LocKey
 
-from miasm2.core.locationdb import LocationDB
-from miasm2.ir.analysis import ira
-from miasm2.ir.ir import IRBlock, AssignBlock, IRCFG
-from miasm2.analysis.data_flow import merge_blocks
+from miasm.core.locationdb import LocationDB
+from miasm.ir.analysis import ira
+from miasm.ir.ir import IRBlock, AssignBlock, IRCFG
+from miasm.analysis.data_flow import merge_blocks
 
 loc_db = LocationDB()
 
@@ -162,7 +166,7 @@ for irb in [G1_RES_IRB0]:
 
 
 def cmp_ir_graph(g1, g2):
-    assert g1.blocks.items() == g2.blocks.items()
+    assert list(viewitems(g1.blocks)) == list(viewitems(g2.blocks))
     assert set(g1.edges()) == set(g2.edges())
 
 
@@ -664,11 +668,11 @@ for i, (g_test, g_ref) in enumerate(
         ], 1):
 
     heads = g_test.heads()
-    print '*'*10, 'Test', i, "*"*10
+    print('*'*10, 'Test', i, "*"*10)
     open('test_in_%d.dot' % i, 'w').write(g_test.dot())
     open('test_ref_%d.dot' % i, 'w').write(g_ref.dot())
     merge_blocks(g_test, heads)
     open('test_out_%d.dot' % i, 'w').write(g_test.dot())
 
     cmp_ir_graph(g_test, g_ref)
-    print '\t', 'OK'
+    print('\t', 'OK')
diff --git a/test/ir/symbexec.py b/test/ir/symbexec.py
index 4f01ac3c..d627f4b9 100755
--- a/test/ir/symbexec.py
+++ b/test/ir/symbexec.py
@@ -1,18 +1,22 @@
 #! /usr/bin/env python2
 #-*- coding:utf-8 -*-
 
+from __future__ import print_function
+
+from future.utils import viewitems
+
 import unittest
 
 
 class TestSymbExec(unittest.TestCase):
 
     def test_ClassDef(self):
-        from miasm2.expression.expression import ExprInt, ExprId, ExprMem, \
+        from miasm.expression.expression import ExprInt, ExprId, ExprMem, \
             ExprCompose, ExprAssign
-        from miasm2.arch.x86.sem import ir_x86_32
-        from miasm2.core.locationdb import LocationDB
-        from miasm2.ir.symbexec import SymbolicExecutionEngine
-        from miasm2.ir.ir import AssignBlock
+        from miasm.arch.x86.sem import ir_x86_32
+        from miasm.core.locationdb import LocationDB
+        from miasm.ir.symbexec import SymbolicExecutionEngine
+        from miasm.ir.ir import AssignBlock
 
 
         loc_db = LocationDB()
@@ -184,18 +188,18 @@ class TestSymbExec(unittest.TestCase):
         del sb.symbols[id_a]
         sb.dump()
         del sb.symbols[ExprMem(id_a, 8)]
-        print "*"*40, 'Orig:'
+        print("*"*40, 'Orig:')
         sb.dump()
 
         sb_cp = sb.symbols.copy()
-        print "*"*40, 'Copy:'
+        print("*"*40, 'Copy:')
         sb_cp.dump()
 
         # Add symbol at address limit
         sb.apply_change(ExprMem(ExprInt(0xFFFFFFFE, 32), 32), id_c)
         sb.dump()
         found = False
-        for dst, src in sb.symbols.iteritems():
+        for dst, src in viewitems(sb.symbols):
             if dst == ExprMem(ExprInt(0xFFFFFFFE, 32), 32) and src == id_c:
                 found = True
         assert found
@@ -205,7 +209,7 @@ class TestSymbExec(unittest.TestCase):
         sb.apply_change(ExprMem(ExprInt(0x7FFFFFFE, 32), 32), id_c)
         sb.dump()
         found = False
-        for dst, src in sb.symbols.iteritems():
+        for dst, src in viewitems(sb.symbols):
             if dst == ExprMem(ExprInt(0x7FFFFFFE, 32), 32) and src == id_c:
                 found = True
         assert found
@@ -219,7 +223,7 @@ class TestSymbExec(unittest.TestCase):
         sb.apply_change(ExprMem(ExprInt(0x2, 32), 16), ExprMem(ExprInt(0x2, 32), 16))
         sb.dump()
         found = False
-        for dst, src in sb.symbols.iteritems():
+        for dst, src in viewitems(sb.symbols):
             if dst == ExprMem(ExprInt(0xFFFFFFFE, 32), 32) and src == id_e[16:48]:
                 found = True
         assert found
@@ -230,7 +234,7 @@ class TestSymbExec(unittest.TestCase):
 
 
         # Test memory full
-        print 'full'
+        print('full')
         arch_addr8 = ir_x86_32(loc_db)
         ircfg = arch_addr8.new_ircfg()
         # Hack to obtain tiny address space
@@ -240,18 +244,18 @@ class TestSymbExec(unittest.TestCase):
         # Fulfill memory
         sb_addr8.apply_change(ExprMem(ExprInt(0, 5), 256), ExprInt(0, 256))
         sb_addr8.dump()
-        variables = sb_addr8.symbols.items()
+        variables = list(viewitems(sb_addr8.symbols))
         assert variables == [(ExprMem(ExprInt(0, 5), 256), ExprInt(0, 256))]
 
-        print sb_addr8.symbols.symbols_mem
+        print(sb_addr8.symbols.symbols_mem)
 
         sb_addr8.apply_change(ExprMem(ExprInt(0x5, 5), 256), ExprInt(0x123, 256))
         sb_addr8.dump()
-        variables = sb_addr8.symbols.items()
+        variables = list(viewitems(sb_addr8.symbols))
         assert variables == [(ExprMem(ExprInt(0x5, 5), 256), ExprInt(0x123, 256))]
-        print sb_addr8.symbols.symbols_mem
+        print(sb_addr8.symbols.symbols_mem)
 
-        print 'dump'
+        print('dump')
         sb_addr8.symbols.symbols_mem.dump()
 
 
@@ -281,7 +285,7 @@ class TestSymbExec(unittest.TestCase):
         assert sb.symbols.symbols_mem.contains_partial(ExprMem(ExprInt(0xFFFFFFFE, 32), 32))
         assert not sb.symbols.symbols_mem.contains_partial(ExprMem(ExprInt(0xFFFFFFFF, 32), 8))
 
-        assert sb_addr8.symbols.keys() == [ExprMem(ExprInt(0x5, 5), 256)]
+        assert list(sb_addr8.symbols) == [ExprMem(ExprInt(0x5, 5), 256)]
 
 
 if __name__ == '__main__':
diff --git a/test/ir/translators/smt2.py b/test/ir/translators/smt2.py
index 2b5c8df3..81f63b45 100644
--- a/test/ir/translators/smt2.py
+++ b/test/ir/translators/smt2.py
@@ -1,7 +1,7 @@
 from z3 import Solver, unsat, parse_smt2_string
-from miasm2.expression.expression import *
-from miasm2.ir.translators.smt2 import TranslatorSMT2
-from miasm2.ir.translators.z3_ir import TranslatorZ3
+from miasm.expression.expression import *
+from miasm.ir.translators.smt2 import TranslatorSMT2
+from miasm.ir.translators.z3_ir import TranslatorZ3
 
 # create nested expression
 a = ExprId("a", 64)
@@ -10,14 +10,26 @@ c = ExprId('c', 16)
 d = ExprId('d', 8)
 e = ExprId('e', 1)
 
-left = ExprCond(e + ExprOp('parity', a),
-                ExprMem(a * a, 64),
-                ExprMem(a, 64))
-
-cond = ExprSlice(ExprSlice(ExprSlice(a, 0, 32) + b, 0, 16) * c, 0, 8) << ExprOp('>>>', d, ExprInt(0x5L, 8))
-right = ExprCond(cond,
-                 a + ExprInt(0x64L, 64),
-                 ExprInt(0x16L, 64))
+left = ExprCond(
+    e + ExprOp('parity', a),
+    ExprMem(a * a, 64),
+    ExprMem(a, 64)
+)
+
+cond = (
+    ExprSlice(
+        ExprSlice(
+            ExprSlice(a, 0, 32) + b, 0, 16
+        ) * c,
+        0,
+        8
+    ) << ExprOp('>>>', d, ExprInt(0x5, 8))
+)
+right = ExprCond(
+    cond,
+    a + ExprInt(0x64, 64),
+    ExprInt(0x16, 64)
+)
 
 e = ExprAssign(left, right)
 
@@ -32,6 +44,7 @@ smt2 = t_smt2.to_smt2([t_smt2.from_expr(e)])
 
 # parse smt2 string with z3
 smt2_z3 = parse_smt2_string(smt2)
+
 # initialise SMT solver
 s = Solver()
 
diff --git a/test/ir/translators/z3_ir.py b/test/ir/translators/z3_ir.py
index 4806ad96..b28269fb 100644
--- a/test/ir/translators/z3_ir.py
+++ b/test/ir/translators/z3_ir.py
@@ -1,8 +1,9 @@
+from __future__ import print_function
 import z3
 
-from miasm2.core.locationdb import LocationDB
-from miasm2.expression.expression import *
-from miasm2.ir.translators.z3_ir import Z3Mem, TranslatorZ3
+from miasm.core.locationdb import LocationDB
+from miasm.expression.expression import *
+from miasm.ir.translators.z3_ir import Z3Mem, TranslatorZ3
 
 # Some examples of use/unit tests.
 
@@ -174,5 +175,5 @@ cnttrailzeros3 = translator1.from_expr(ExprOp("cnttrailzeros", ExprInt(0x8000, 3
 cntleadzeros3 = translator1.from_expr(ExprOp("cntleadzeros", ExprInt(0x8000, 32)))
 assert(equiv(cnttrailzeros3, cntleadzeros3))
 
-print "TranslatorZ3 tests are OK."
+print("TranslatorZ3 tests are OK.")