unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
blob dccf22bbc6272dac28620495c05ffb9b9bd86851 2765 bytes (raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
 
This patch removes the angr dependency from the pyvex these, thus
resolving a circular dependency (as angr depends on pyvex). This
patch has been taken from upstream.

This patch is a squashed version of the following upstream patches:

* https://github.com/angr/pyvex/commit/61fb26f223a8d8a276b702d2448a12e02c5c9c6b
* https://github.com/angr/pyvex/commit/a1fb2a4d0826b0e43bd8bbdd00b6db032643ec95

diff --git a/tests/test_spotter.py b/tests/test_spotter.py
index 9271ccd..bed7dd4 100644
--- a/tests/test_spotter.py
+++ b/tests/test_spotter.py
@@ -1,6 +1,5 @@
 import os
 
-import angr
 import archinfo
 
 import pyvex
@@ -98,53 +97,28 @@ class CortexSpotter(GymratLifter):
 register(CortexSpotter, "ARMEL")
 
 
-def test_full_binary():
-    p = angr.Project(
-        os.path.join(test_location, "armel", "RTOSDemo.axf.issue_685"),
-        arch="ARMEL",
-        auto_load_libs=False,
-    )
-    st = p.factory.call_state(0x000013CE + 1)
-    b = st.block().vex
-    simgr = p.factory.simulation_manager(st)
-    simgr.step()
-    assert b.jumpkind == "Ijk_Sys_syscall"
-    assert simgr.active[0].regs.ip_at_syscall.args[0] == 0x13FB
-
-
 def test_tmrs():
-    test_location = str(os.path.join(os.path.dirname(os.path.realpath(__file__)), "../../binaries/tests"))
-    p = angr.Project(
-        os.path.join(test_location, "armel", "helloworld"),
-        arch="ARMEL",
-        auto_load_libs=False,
-    )
+    arch = archinfo.arch_from_id("ARMEL")
     ins = b"\xef\xf3\x08\x82"
-    b = pyvex.block.IRSB(ins, 1, p.arch)
+    b = pyvex.block.IRSB(ins, 1, arch)
     assert b.jumpkind == "Ijk_Boring"
     assert type(b.statements[1].data) == pyvex.expr.Get
-    assert p.arch.register_names.get(b.statements[1].data.offset, "") == "sp"
+    assert arch.register_names.get(b.statements[1].data.offset, "") == "sp"
     assert type(b.statements[2]) == pyvex.stmt.Put
 
 
 def test_tmsr():
-    test_location = str(os.path.join(os.path.dirname(os.path.realpath(__file__)), "../../binaries/tests"))
-    p = angr.Project(
-        os.path.join(test_location, "armel", "helloworld"),
-        arch="ARMEL",
-        auto_load_libs=False,
-    )
+    arch = archinfo.arch_from_id("ARMEL")
     inss = b"\x82\xf3\x08\x88"
-    b = pyvex.block.IRSB(inss, 1, p.arch, opt_level=3)
+    b = pyvex.block.IRSB(inss, 1, arch, opt_level=3)
     assert b.jumpkind == "Ijk_Boring"
     assert type(b.statements[1].data) == pyvex.expr.Get
-    assert p.arch.register_names.get(b.statements[1].data.offset, "") == "r2"
+    assert arch.register_names.get(b.statements[1].data.offset, "") == "r2"
     assert type(b.statements[2]) == pyvex.stmt.Put
 
 
 if __name__ == "__main__":
     test_basic()
     test_embedded()
-    test_full_binary()
     test_tmrs()
     test_tmsr()

debug log:

solving dccf22bbc6 ...
found dccf22bbc6 in https://git.savannah.gnu.org/cgit/guix.git

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).