dev-python/nose: fix tests for python3.6 (bug 613534)
authorZac Medico <zmedico@gentoo.org>
Tue, 28 Mar 2017 22:22:37 +0000 (15:22 -0700)
committerZac Medico <zmedico@gentoo.org>
Tue, 28 Mar 2017 22:30:41 +0000 (15:30 -0700)
Package-Manager: Portage-2.3.5, Repoman-2.3.2

dev-python/nose/files/nose-1.3.7-python-3.6-test.patch [new file with mode: 0644]
dev-python/nose/nose-1.3.7-r3.ebuild

diff --git a/dev-python/nose/files/nose-1.3.7-python-3.6-test.patch b/dev-python/nose/files/nose-1.3.7-python-3.6-test.patch
new file mode 100644 (file)
index 0000000..eda10ff
--- /dev/null
@@ -0,0 +1,67 @@
+From 84bb82245d10798825439dc13846eb0538d84239 Mon Sep 17 00:00:00 2001
+From: Tomas Orsava <torsava@redhat.com>
+Date: Mon, 12 Dec 2016 14:35:50 +0100
+Subject: [PATCH] Fix compatibility with Python 3.6
+
+Python 3.6 returns ModuleNotFoundError instead of the previous ImportError.
+https://github.com/nose-devs/nose/pull/1029
+---
+ functional_tests/test_loader.py           |  2 +-
+ functional_tests/test_withid_failures.rst | 12 ++++++------
+ 2 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/functional_tests/test_loader.py b/functional_tests/test_loader.py
+index 104f220..906e2ba 100644
+--- a/functional_tests/test_loader.py
++++ b/functional_tests/test_loader.py
+@@ -372,7 +372,7 @@ def test_failed_import_module_name(self):
+         assert res.errors, "Expected errors but got none"
+         assert not res.failures, res.failures
+         err = res.errors[0][0].test.exc_class
+-        assert err is ImportError, \
++        assert issubclass(err, ImportError), \
+             "Expected import error, got %s" % err
+ 
+     def test_load_nonsense_name(self):
+diff --git a/functional_tests/test_withid_failures.rst b/functional_tests/test_withid_failures.rst
+index cf09d4f..cb20886 100644
+--- a/functional_tests/test_withid_failures.rst
++++ b/functional_tests/test_withid_failures.rst
+@@ -7,16 +7,16 @@
+     >>> support = os.path.join(os.path.dirname(__file__), 'support', 'id_fails')
+     >>> argv = [__file__, '-v', '--with-id', '--id-file', idfile, support]
+     >>> run(argv=argv, plugins=[TestId()]) # doctest: +ELLIPSIS
+-    #1 Failure: ImportError (No module ...apackagethatdoesntexist...) ... ERROR
++    #1 Failure: ... (No module ...apackagethatdoesntexist...) ... ERROR
+     #2 test_b.test ... ok
+     #3 test_b.test_fail ... FAIL
+     <BLANKLINE>
+     ======================================================================
+-    ERROR: Failure: ImportError (No module ...apackagethatdoesntexist...)
++    ERROR: Failure: ... (No module ...apackagethatdoesntexist...)
+     ----------------------------------------------------------------------
+     Traceback (most recent call last):
+     ...
+-    ImportError: No module ...apackagethatdoesntexist...
++    ...: No module ...apackagethatdoesntexist...
+     <BLANKLINE>
+     ======================================================================
+     FAIL: test_b.test_fail
+@@ -35,14 +35,14 @@ Addressing failures works (sometimes).
+     >>> argv.append('1')
+     >>> _junk = sys.modules.pop('test_a', None) # 2.3 requires
+     >>> run(argv=argv, plugins=[TestId()]) #doctest: +ELLIPSIS
+-    #1 Failure: ImportError (No module ...apackagethatdoesntexist...) ... ERROR
++    #1 Failure: ... (No module ...apackagethatdoesntexist...) ... ERROR
+     <BLANKLINE>
+     ======================================================================
+-    ERROR: Failure: ImportError (No module ...apackagethatdoesntexist...)
++    ERROR: Failure: ... (No module ...apackagethatdoesntexist...)
+     ----------------------------------------------------------------------
+     Traceback (most recent call last):
+     ...
+-    ImportError: No module ...apackagethatdoesntexist...
++    ...: No module ...apackagethatdoesntexist...
+     <BLANKLINE>
+     ----------------------------------------------------------------------
+     Ran 1 test in ...s
index ea7cb29cdbd73fd58343a07c972ec9ff59b271e2..e58e73ded7d2337f7b274637c3a0b97e19ec497b 100644 (file)
@@ -37,6 +37,8 @@ PATCHES=(
        # Patch against master found in an upstream PR, backported:
        # https://github.com/nose-devs/nose/pull/1004
        "${FILESDIR}"/${P}-coverage-4.1-support.patch
+
+       "${FILESDIR}"/${P}-python-3.6-test.patch
 )
 
 pkg_setup() {