gnu: python-jedi: Fix test failure on some file systems.
authorMarius Bakke <mbakke@fastmail.com>
Thu, 16 Apr 2020 22:51:48 +0000 (00:51 +0200)
committerMarius Bakke <mbakke@fastmail.com>
Thu, 16 Apr 2020 22:51:48 +0000 (00:51 +0200)
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.

gnu/local.mk
gnu/packages/patches/python-jedi-sort-project-test.patch [new file with mode: 0644]
gnu/packages/python-xyz.scm

index 952fc55..af79f9a 100644 (file)
@@ -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 (file)
index 0000000..b2d602d
--- /dev/null
@@ -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(
index e3ec001..2c54bfc 100644 (file)
@@ -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)))