~ruther/guix-local

ref: 8361b59fd4e918dbc30f33126862e3d60f7eda0e guix-local/gnu/packages/patches/python-angr-check-exec-deps.patch -rw-r--r-- 3.7 KiB
8361b59f — Rutherther gnu: %desktop-services: Switch to GDM on 64-bit systems. 8 months ago
                                                                                
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
81
82
83
84
85
86
87
88
The angr test suite performs analysis on several pre-compiled binaries
to ensure its binary analysis capabilities are working as intended.
Some of these binaries are also executed as part of the test suite to
test if the simulation engine provided by angr results in the same
output as native execution of the binary.

For Guix, this files as the glibc shared objects cannot be found.
Additionally, we don't really want to execute pre-compiled binaries
on Guix, hence we disable those tests.

diff --git a/tests/procedures/glibc/test_ctype_locale.py b/tests/procedures/glibc/test_ctype_locale.py
index ac3e1ee16..1fb0fd095 100755
--- a/tests/procedures/glibc/test_ctype_locale.py
+++ b/tests/procedures/glibc/test_ctype_locale.py
@@ -15,7 +15,7 @@ test_location = os.path.join(bin_location, "tests")
 
 
 class TestCtypeLocale(unittest.TestCase):
-    @skip_if_not_linux
+    @unittest.skip("test executes pre-compiled binaries")
     def test_ctype_b_loc(self):
         """
         test_ctype_locale.test_ctype_b_loc
@@ -61,7 +61,7 @@ class TestCtypeLocale(unittest.TestCase):
         output = subprocess.check_output(bin_path, shell=True)
         assert result == output
 
-    @skip_if_not_linux
+    @unittest.skip("test executes pre-compiled binaries")
     def test_ctype_tolower_loc(self):
         """
         test_ctype_locale.test_ctype_tolower_loc
@@ -110,7 +110,7 @@ class TestCtypeLocale(unittest.TestCase):
         output = subprocess.check_output(bin_path, shell=True)
         assert result == output
 
-    @skip_if_not_linux
+    @unittest.skip("test executes pre-compiled binaries")
     def test_ctype_toupper_loc(self):
         """
         test_ctype_locale.test_ctype_toupper_loc
diff --git a/tests/procedures/libc/test_sscanf.py b/tests/procedures/libc/test_sscanf.py
index 7c2da6f5e..e20952f54 100755
--- a/tests/procedures/libc/test_sscanf.py
+++ b/tests/procedures/libc/test_sscanf.py
@@ -14,7 +14,7 @@ test_location = os.path.join(bin_location, "tests")
 
 
 class TestSscanf(unittest.TestCase):
-    @unittest.skipUnless(sys.platform.startswith("linux"), "linux only")
+    @unittest.skip("test executes pre-compiled binaries")
     def test_sscanf(self):
         test_bin = os.path.join(test_location, "x86_64", "sscanf_test")
         b = angr.Project(test_bin, auto_load_libs=False)
diff --git a/tests/procedures/libc/test_strtol.py b/tests/procedures/libc/test_strtol.py
index 4d7982b86..8818ced3b 100755
--- a/tests/procedures/libc/test_strtol.py
+++ b/tests/procedures/libc/test_strtol.py
@@ -15,7 +15,7 @@ class TestStrtol(unittest.TestCase):
     # pylint: disable=no-self-use
 
     @slow_test
-    @unittest.skipUnless(sys.platform.startswith("linux"), "linux-only")
+    @unittest.skip("test executes pre-compiled binaries")
     def test_strtol(self, threads=None):
         test_bin = os.path.join(bin_location, "tests", "x86_64", "strtol_test")
         # disabling auto_load_libs increases the execution time of the test case.
diff --git a/tests/sim/exec_insn/test_signed_div.py b/tests/sim/exec_insn/test_signed_div.py
index 46581020f..d5acc5370 100755
--- a/tests/sim/exec_insn/test_signed_div.py
+++ b/tests/sim/exec_insn/test_signed_div.py
@@ -2,6 +2,7 @@
 # pylint: disable=missing-class-docstring,no-self-use,line-too-long
 __package__ = __package__ or "tests.sim.exec_insn"  # pylint:disable=redefined-builtin
 
+import pytest
 import os
 import subprocess
 import sys
@@ -16,7 +17,7 @@ test_location = os.path.join(bin_location, "tests")
 
 
 class TestSignedDiv(TestCase):
-    @skipUnless(sys.platform.startswith("linux"), "linux only")
+    @pytest.mark.skip(reason="test executes pre-compiled binaries")
     def test_signed_div(self):
         test_bin = os.path.join(test_location, "x86_64", "test_signed_div")
         b = angr.Project(test_bin, auto_load_libs=False)