about summary refs log tree commit diff stats
path: root/test/ir/translators/z3_ir.py
diff options
context:
space:
mode:
authorserpilliere <serpilliere@users.noreply.github.com>2020-03-18 14:57:14 +0100
committerGitHub <noreply@github.com>2020-03-18 14:57:14 +0100
commitfc8c0c77c2e0d99ceaa37407ff6c5cbcf469962c (patch)
tree07537dd7a601593cf1e64462af6877f743956c90 /test/ir/translators/z3_ir.py
parent8f83721c1f2c491e7ac2b62f82cd0c3ae57e5b27 (diff)
parent173ec1d4d8f1a3df3c1ad8f55a0ac278fa2fc170 (diff)
downloadmiasm-fc8c0c77c2e0d99ceaa37407ff6c5cbcf469962c.tar.gz
miasm-fc8c0c77c2e0d99ceaa37407ff6c5cbcf469962c.zip
Merge pull request #1160 from serpilliere/updt_z3
Updt z3 version; update z3 api
Diffstat (limited to 'test/ir/translators/z3_ir.py')
-rw-r--r--test/ir/translators/z3_ir.py17
1 files changed, 8 insertions, 9 deletions
diff --git a/test/ir/translators/z3_ir.py b/test/ir/translators/z3_ir.py
index b28269fb..b96e43bb 100644
--- a/test/ir/translators/z3_ir.py
+++ b/test/ir/translators/z3_ir.py
@@ -24,13 +24,12 @@ def check_interp(interp, constraints, bits=32, valbits=8):
     constraints = dict((addr,
                         z3.BitVecVal(val, valbits))
                        for addr, val in constraints)
-    l = interp.as_list()
-    for entry in l:
-        if not isinstance(entry, list) or len(entry) < 2:
-            continue
-        addr, value = entry[0], entry[1]
-        if addr.as_long() in constraints:
-            assert equiv(value, constraints[addr.as_long()])
+    entry = interp.children()
+    assert len(entry) == 3
+    _, addr, value = entry
+    addr = addr.as_long()
+    assert addr in constraints
+    assert equiv(value, constraints[addr])
 
 # equiv short test
 # --------------------------------------------------------------------------
@@ -100,7 +99,7 @@ solver.add(ez3 == 10)
 solver.check()
 model = solver.model()
 check_interp(model[mem.get_mem_array(32)],
-             [(0xdeadbeef, 2), (0xdeadbeef + 3, 0)])
+             [(0xdeadbeef, 2)])
 
 # --------------------------------------------------------------------------
 ez3 = translator2.from_expr(e4)
@@ -116,7 +115,7 @@ solver.add(ez3 == 10)
 solver.check()
 model = solver.model()
 check_interp(model[memb.get_mem_array(32)],
-             [(0xdeadbeef, 0), (0xdeadbeef + 3, 2)])
+             [(0xdeadbeef+3, 2)])
 
 # --------------------------------------------------------------------------
 e5 = ExprSlice(ExprCompose(e, four), 0, 32) * five