summary refs log tree commit diff
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2020-04-17 00:51:48 +0200
committerMarius Bakke <mbakke@fastmail.com>2020-04-17 00:51:48 +0200
commitbff70d93d22b049c0c4ea3bd234d39f05f794b28 (patch)
treea49658584baab9c46846a4bbf0d4ef6d81165c74
parent91fb989f105691a3c0b713c710bd9b27d4def4fc (diff)
downloadguix-bff70d93d22b049c0c4ea3bd234d39f05f794b28.tar.gz
gnu: python-jedi: Fix test failure on some file systems.
Reported by sirgazil on #guix.

* gnu/packages/patches/python-jedi-sort-project-test.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/python-xyz.scm (python-jedi)[source](patches): Add it.
[arguments]: Run tests more verbosely while at it.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/python-jedi-sort-project-test.patch18
-rw-r--r--gnu/packages/python-xyz.scm3
3 files changed, 21 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 952fc55df4..af79f9afed 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1364,6 +1364,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/python-pep8-stdlib-tokenize-compat.patch \
   %D%/packages/patches/python-pyfakefs-remove-bad-test.patch	\
   %D%/packages/patches/python-flint-includes.patch		\
+  %D%/packages/patches/python-jedi-sort-project-test.patch	\
   %D%/packages/patches/python-libxml2-utf8.patch		\
   %D%/packages/patches/python-mox3-python3.6-compat.patch	\
   %D%/packages/patches/python-testtools.patch			\
diff --git a/gnu/packages/patches/python-jedi-sort-project-test.patch b/gnu/packages/patches/python-jedi-sort-project-test.patch
new file mode 100644
index 0000000000..b2d602dfe6
--- /dev/null
+++ b/gnu/packages/patches/python-jedi-sort-project-test.patch
@@ -0,0 +1,18 @@
+Sort the result of file system traversal to avoid test failure on different
+file systems.
+
+Taken from upstream:
+https://github.com/davidhalter/jedi/commit/7ff76bb7d0d94514e17cd1647f4ffaf533dd55f5
+
+diff --git a/test/test_api/test_project.py b/test/test_api/test_project.py
+--- a/test/test_api/test_project.py
++++ b/test/test_api/test_project.py
+@@ -135,7 +135,7 @@ def test_search(string, full_names, kwargs, skip_pre_python36):
+         defs = project.complete_search(string, **kwargs)
+     else:
+         defs = project.search(string, **kwargs)
+-    assert [('stub:' if d.is_stub() else '') + d.full_name for d in defs] == full_names
++    assert sorted([('stub:' if d.is_stub() else '') + d.full_name for d in defs]) == full_names
+ 
+ 
+ @pytest.mark.parametrize(
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e3ec0010ce..2c54bfc417 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -11898,6 +11898,7 @@ characters, mouse support, and auto suggestions.")
      (origin
        (method url-fetch)
        (uri (pypi-uri "jedi" version))
+       (patches (search-patches "python-jedi-sort-project-test.patch"))
        (sha256
         (base32
          "0c1h9x3a9klvk2g288wl328x8xgzw7136k6vs9hkd56b85vcjh6z"))))
@@ -11908,7 +11909,7 @@ characters, mouse support, and auto suggestions.")
          (replace 'check
            (lambda _
              (setenv "HOME" "/tmp")
-             (invoke "python" "-m" "pytest"))))))
+             (invoke "python" "-m" "pytest" "-vv"))))))
     (native-inputs
      `(("python-pytest" ,python-pytest)
        ("python-docopt" ,python-docopt)))