guix/gnu/packages/patches/python-angr-check-exec-deps.patch
Sören Tempel d4511a8970
gnu: Add python-angr.
* gnu/packages/patches/python-angr-addition-type-error.patch:
New patch.
* gnu/packages/patches/python-angr-check-exec-deps.patch:
New patch.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/python-xyz.scm (python-angr): New variable.

Signed-off-by: jgart <jgart@dismail.de>
2024-07-13 09:59:26 -05:00

93 lines
3.5 KiB
Diff

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/test_ctype_locale.py b/tests/test_ctype_locale.py
index 08cb89836..2b9233558 100644
--- a/tests/test_ctype_locale.py
+++ b/tests/test_ctype_locale.py
@@ -14,7 +14,7 @@ test_location = os.path.dirname(os.path.abspath(__file__))
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
@@ -60,7 +60,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
@@ -109,7 +109,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/test_signed_div.py b/tests/test_signed_div.py
index 59cb9b8d1..994ed9c65 100644
--- a/tests/test_signed_div.py
+++ b/tests/test_signed_div.py
@@ -1,6 +1,7 @@
import angr
import subprocess
import sys
+import pytest
import logging
@@ -13,7 +14,7 @@ import os
test_location = os.path.dirname(os.path.realpath(__file__))
-@skipUnless(sys.platform.startswith("linux"), "linux only")
+@pytest.mark.skip(reason="test executes pre-compiled binaries")
def test_signed_div():
test_bin = os.path.join(test_location, "..", "..", "binaries", "tests", "x86_64", "test_signed_div")
b = angr.Project(test_bin, auto_load_libs=False)
diff --git a/tests/test_sscanf.py b/tests/test_sscanf.py
index 29d2c8403..ea799b310 100644
--- a/tests/test_sscanf.py
+++ b/tests/test_sscanf.py
@@ -1,3 +1,4 @@
+import pytest
import angr
import subprocess
import sys
@@ -14,7 +15,7 @@ test_location = os.path.dirname(os.path.realpath(__file__))
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, "..", "..", "binaries", "tests", "x86_64", "sscanf_test")
b = angr.Project(test_bin, auto_load_libs=False)
diff --git a/tests/test_strtol.py b/tests/test_strtol.py
index 6c29cab22..f36181407 100644
--- a/tests/test_strtol.py
+++ b/tests/test_strtol.py
@@ -11,7 +11,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.