gnu: python-pytest: Update to 4.3.0.
* gnu/packages/patches/python-pytest-pluggy-compat.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/check.scm (python-pytest): Update to 4.3.0. [source](patches): New field. [arguments]: Skip five new tests. Disable tests by passing them as arguments.
This commit is contained in:
parent
d9ea7a734d
commit
1a246c01c6
|
@ -1182,6 +1182,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/python-pycrypto-CVE-2013-7459.patch \
|
||||
%D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
|
||||
%D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \
|
||||
%D%/packages/patches/python-pytest-pluggy-compat.patch \
|
||||
%D%/packages/patches/python2-subprocess32-disable-input-test.patch \
|
||||
%D%/packages/patches/python-unittest2-python3-compat.patch \
|
||||
%D%/packages/patches/python-unittest2-remove-argparse.patch \
|
||||
|
|
|
@ -660,31 +660,35 @@ standard library.")
|
|||
(define-public python-pytest
|
||||
(package
|
||||
(name "python-pytest")
|
||||
(version "3.8.0")
|
||||
(version "4.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pytest" version))
|
||||
(patches (search-patches "python-pytest-pluggy-compat.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"17grcfvd6ggvvqmprwv5y8g319nayam70hr43ssjwj40ws27z858"))))
|
||||
"077gzimi9xiiyzpc3xjpb5yfgz038xkldg91mmbdvzr7z15isyh6"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'check 'disable-invalid-tests
|
||||
(replace 'check
|
||||
(lambda _
|
||||
;; Some tests involves the /usr directory, and fails.
|
||||
(substitute* "testing/test_argcomplete.py"
|
||||
(("def test_remove_dir_prefix\\(self\\):")
|
||||
"@pytest.mark.xfail\n def test_remove_dir_prefix(self):"))
|
||||
(substitute* "testing/test_argcomplete.py"
|
||||
(("def test_remove_dir_prefix" line)
|
||||
(string-append "@pytest.mark.skip"
|
||||
"(reason=\"Assumes that /usr exists.\")\n "
|
||||
line)))
|
||||
#t))
|
||||
(replace 'check (lambda _ (invoke "pytest" "-vv"))))))
|
||||
(invoke "pytest" "-vv" "-k"
|
||||
(string-append
|
||||
;; These tests involve the /usr directory, and fails.
|
||||
"not test_remove_dir_prefix"
|
||||
" and not test_argcomplete"
|
||||
;; This test tries to override PYTHONPATH, and
|
||||
;; subsequently fails to locate the test libraries.
|
||||
" and not test_collection"
|
||||
;; These tests fail when run in verbose mode:
|
||||
;; <https://github.com/pytest-dev/pytest/issues/4879>.
|
||||
" and not test_dont_rewrite_if_hasattr_fails"
|
||||
" and not test_len"
|
||||
" and not test_custom_repr"
|
||||
" and not test_name")))))))
|
||||
(propagated-inputs
|
||||
`(("python-atomicwrites" ,python-atomicwrites)
|
||||
("python-attrs" ,python-attrs-bootstrap)
|
||||
|
|
|
@ -0,0 +1,64 @@
|
|||
Fix test failures when built against Pluggy 0.9.
|
||||
|
||||
Taken from this upstream commit:
|
||||
https://github.com/pytest-dev/pytest/commit/a68f4fd2b9e99c82476d0e04ebcf561aeddbcb2e
|
||||
|
||||
diff --git a/testing/test_assertion.py b/testing/test_assertion.py
|
||||
index b659233eb..e4fe56c6f 100644
|
||||
--- a/testing/test_assertion.py
|
||||
+++ b/testing/test_assertion.py
|
||||
@@ -209,7 +209,7 @@ def load(self, require=True, *args, **kwargs):
|
||||
import spamplugin
|
||||
return spamplugin
|
||||
|
||||
- def iter_entry_points(name):
|
||||
+ def iter_entry_points(group, name=None):
|
||||
yield DummyEntryPoint()
|
||||
|
||||
pkg_resources.iter_entry_points = iter_entry_points
|
||||
diff --git a/testing/test_config.py b/testing/test_config.py
|
||||
index f9f22a63e..1e29b83f1 100644
|
||||
--- a/testing/test_config.py
|
||||
+++ b/testing/test_config.py
|
||||
@@ -514,8 +514,8 @@ def test_preparse_ordering_with_setuptools(testdir, monkeypatch):
|
||||
pkg_resources = pytest.importorskip("pkg_resources")
|
||||
monkeypatch.delenv("PYTEST_DISABLE_PLUGIN_AUTOLOAD", raising=False)
|
||||
|
||||
- def my_iter(name):
|
||||
- assert name == "pytest11"
|
||||
+ def my_iter(group, name=None):
|
||||
+ assert group == "pytest11"
|
||||
|
||||
class Dist(object):
|
||||
project_name = "spam"
|
||||
@@ -552,8 +552,8 @@ def test_setuptools_importerror_issue1479(testdir, monkeypatch):
|
||||
pkg_resources = pytest.importorskip("pkg_resources")
|
||||
monkeypatch.delenv("PYTEST_DISABLE_PLUGIN_AUTOLOAD", raising=False)
|
||||
|
||||
- def my_iter(name):
|
||||
- assert name == "pytest11"
|
||||
+ def my_iter(group, name=None):
|
||||
+ assert group == "pytest11"
|
||||
|
||||
class Dist(object):
|
||||
project_name = "spam"
|
||||
@@ -583,8 +583,8 @@ def test_plugin_preparse_prevents_setuptools_loading(testdir, monkeypatch, block
|
||||
|
||||
plugin_module_placeholder = object()
|
||||
|
||||
- def my_iter(name):
|
||||
- assert name == "pytest11"
|
||||
+ def my_iter(group, name=None):
|
||||
+ assert group == "pytest11"
|
||||
|
||||
class Dist(object):
|
||||
project_name = "spam"
|
||||
@@ -621,7 +621,7 @@ def load(self):
|
||||
def test_disable_plugin_autoload(testdir, monkeypatch, parse_args, should_load):
|
||||
pkg_resources = pytest.importorskip("pkg_resources")
|
||||
|
||||
- def my_iter(name):
|
||||
+ def my_iter(group, name=None):
|
||||
raise AssertionError("Should not be called")
|
||||
|
||||
class PseudoPlugin(object):
|
Loading…
Reference in New Issue