From 7439173f2c1b561e0e4a2f877e65f2b53c2c2fe9 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 31 Jul 2017 03:24:50 +0200 Subject: [PATCH] gnu: python-unittest2: Update to 1.1.0. * gnu/packages/python.scm (python-unittest2): Update to 1.1.0. [source]: Use PYPI-URI. Add two patches. [arguments]: Add phase to run tests. [propagated-inputs]: Add PYTHON-SIX and PYTHON-TRACEBACK2. (python2-unittest2): Use 'package-with-python2'. * gnu/packages/patches/python2-unittest2-remove-argparse.patch: Rename to ... * gnu/packages/patches/python2-unittest2-remove-argparse.patch: ... this. * gnu/packages/patches/python-unittest2-python3-compat.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. --- gnu/local.mk | 3 +- .../python-unittest2-python3-compat.patch | 34 +++++++++++++++ ...=> python-unittest2-remove-argparse.patch} | 0 gnu/packages/python.scm | 41 ++++++++----------- 4 files changed, 52 insertions(+), 26 deletions(-) create mode 100644 gnu/packages/patches/python-unittest2-python3-compat.patch rename gnu/packages/patches/{python2-unittest2-remove-argparse.patch => python-unittest2-remove-argparse.patch} (100%) diff --git a/gnu/local.mk b/gnu/local.mk index 7345a5e05c..28ee2606a8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -996,7 +996,8 @@ dist_patch_DATA = \ %D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \ %D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \ %D%/packages/patches/python2-subprocess32-disable-input-test.patch \ - %D%/packages/patches/python2-unittest2-remove-argparse.patch \ + %D%/packages/patches/python-unittest2-python3-compat.patch \ + %D%/packages/patches/python-unittest2-remove-argparse.patch \ %D%/packages/patches/qt4-ldflags.patch \ %D%/packages/patches/qtscript-disable-tests.patch \ %D%/packages/patches/quagga-reproducible-build.patch \ diff --git a/gnu/packages/patches/python-unittest2-python3-compat.patch b/gnu/packages/patches/python-unittest2-python3-compat.patch new file mode 100644 index 0000000000..fe0afe559a --- /dev/null +++ b/gnu/packages/patches/python-unittest2-python3-compat.patch @@ -0,0 +1,34 @@ +Skip tests that fail with newer versions of Python. + +Patch copied from Gentoo: + +https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-python/unittest2/files/unittest2-1.1.0-python3.5-test.patch + +diff --git a/unittest2/test/test_loader.py b/unittest2/test/test_loader.py +index 683f662..347eea5 100644 +--- a/unittest2/test/test_loader.py ++++ b/unittest2/test/test_loader.py +@@ -509,6 +509,7 @@ class Test_TestLoader(unittest2.TestCase): + # + # What happens when an impossible name is given, relative to the provided + # `module`? ++ @unittest.skipIf(sys.version_info[:2] >= (3, 5), "python 3.5 has problems here") + def test_loadTestsFromName__relative_malformed_name(self): + loader = unittest.TestLoader() + +@@ -811,6 +812,7 @@ class Test_TestLoader(unittest2.TestCase): + # TestCase or TestSuite instance." + # + # What happens when presented with an impossible module name? ++ @unittest.skipIf(sys.version_info[:2] >= (3, 5), "python 3.5 has problems here") + def test_loadTestsFromNames__malformed_name(self): + loader = unittest2.TestLoader() + +@@ -918,6 +920,7 @@ class Test_TestLoader(unittest2.TestCase): + # "The method optionally resolves name relative to the given module" + # + # What happens when presented with an impossible attribute name? ++ @unittest.skipIf(sys.version_info[:2] >= (3, 5), "python 3.5 has problems here") + def test_loadTestsFromNames__relative_malformed_name(self): + loader = unittest.TestLoader() + diff --git a/gnu/packages/patches/python2-unittest2-remove-argparse.patch b/gnu/packages/patches/python-unittest2-remove-argparse.patch similarity index 100% rename from gnu/packages/patches/python2-unittest2-remove-argparse.patch rename to gnu/packages/patches/python-unittest2-remove-argparse.patch diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 9a8432e15d..537567b37a 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -1866,17 +1866,27 @@ (define-public python2-funcsigs (define-public python-unittest2 (package (name "python-unittest2") - (version "0.5.1") + (version "1.1.0") (source (origin (method url-fetch) - (uri (string-append - "https://pypi.python.org/packages/source/u/unittest2py3k/unittest2py3k-" - version ".tar.gz")) + (uri (pypi-uri "unittest2" version)) + (patches + (search-patches "python-unittest2-python3-compat.patch" + "python-unittest2-remove-argparse.patch")) (sha256 (base32 - "00yl6lskygcrddx5zspkhr0ibgvpknl4678kkm6s626539grq93q")))) + "0y855kmx7a8rnf81d3lh5lyxai1908xjp0laf4glwa4c8472m212")))) (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (zero? (system* "python" "-m" "unittest2" "discover" "--verbose"))))))) + (propagated-inputs + `(("python-six" ,python-six) + ("python-traceback2" ,python-traceback2))) (home-page "http://pypi.python.org/pypi/unittest2") (synopsis "Python unit testing library") (description @@ -1885,26 +1895,7 @@ (define-public python-unittest2 (license license:psfl))) (define-public python2-unittest2 - (package (inherit python-unittest2) - (name "python2-unittest2") - (version "1.1.0") - (source - (origin - (method url-fetch) - (uri (string-append - "https://pypi.python.org/packages/source/u/unittest2/unittest2-" - version ".tar.gz")) - (sha256 - (base32 - "0y855kmx7a8rnf81d3lh5lyxai1908xjp0laf4glwa4c8472m212")) - (patches - (search-patches "python2-unittest2-remove-argparse.patch")))) - (propagated-inputs - `(("python2-six" ,python2-six) - ("python2-traceback2" ,python2-traceback2))) - (arguments - `(#:python ,python-2 - #:tests? #f)))) ; no setup.py test command + (package-with-python2 python-unittest2)) (define-public python-pafy (package