dev-python/python-afl: Apply patch to fix test, thanks to Jakub Wilk
authorManuel Rüger <mrueg@gentoo.org>
Fri, 30 Jun 2017 15:41:52 +0000 (17:41 +0200)
committerManuel Rüger <mrueg@gentoo.org>
Fri, 30 Jun 2017 15:41:52 +0000 (17:41 +0200)
Package-Manager: Portage-2.3.6, Repoman-2.3.2

dev-python/python-afl/files/python-afl-0.6-fix-test.patch [new file with mode: 0644]
dev-python/python-afl/python-afl-0.6.ebuild

diff --git a/dev-python/python-afl/files/python-afl-0.6-fix-test.patch b/dev-python/python-afl/files/python-afl-0.6-fix-test.patch
new file mode 100644 (file)
index 0000000..1243385
--- /dev/null
@@ -0,0 +1,41 @@
+From 4c138687008a3d212906367a315ea79b6f6727c9 Mon Sep 17 00:00:00 2001
+From: Jakub Wilk <jwilk@jwilk.net>
+Date: Thu, 29 Jun 2017 20:54:08 +0200
+Subject: [PATCH] tests/tools: fake $PWD so that is starts with ///.
+
+This is needed to skip overzealous /tmp checks in afl-cmap.
+
+Fixes:
+
+    ======================================================================
+    ERROR: tests.test_cmin.test
+    ----------------------------------------------------------------------
+    Traceback (most recent call last):
+      File "/usr/lib/python2.7/dist-packages/nose/case.py", line 197, in runTest
+        self.test(*self.arg)
+      File "/tmp/.../tests/test_cmin.py", line 68, in test
+        b'1',
+      File "/tmp/.../tests/test_cmin.py", line 51, in run_afl_cmin
+        run(cmdline)
+      File "/tmp/.../tests/tools.py", line 148, in run
+        raise ipc.CalledProcessError(child.returncode, cmd[0])
+    CalledProcessError: Command 'py-afl-cmin' returned non-zero exit status 1
+    -------------------- >> begin captured stdout << ---------------------
+    ...
+    [-] Error: do not use this script in /tmp or /var/tmp.
+---
+ tests/tools.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tests/tools.py b/tests/tools.py
+index 0c9240c..f3ebab1 100644
+--- a/tests/tools.py
++++ b/tests/tools.py
+@@ -131,6 +131,7 @@ def clean_environ():
+     os.environ['AFL_SKIP_CPUFREQ'] = '1'
+     os.environ['AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES'] = '1'
+     os.environ['AFL_NO_AFFINITY'] = '1'
++    os.environ['PWD'] = '//' + os.getcwd()
+ 
+ def run(cmd, stdin='', xstatus=0):
+     child = ipc.Popen(
index cb3375a8e4453026fd769e618d3c6cca07c2ef86..7bfa986eb6225fec76b4dc338a6f577391391ea1 100644 (file)
@@ -19,11 +19,7 @@ RDEPEND="app-forensics/afl"
 DEPEND=">=dev-python/cython-0.19[${PYTHON_USEDEP}]
        test? ( dev-python/nose[${PYTHON_USEDEP}] )"
 
-python_prepare_all() {
-       # afl-cmin errors with: "Error: do not use this script in /tmp or /var/tmp"
-       rm tests/test_cmin.py || die
-       distutils-r1_python_prepare_all
-}
+PATCHES=( "${FILESDIR}"/${P}-fix-test.patch )
 
 python_test() {
        PATH="${PATH}:." nosetests --verbose || die