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.
%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 \
--- /dev/null
+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(
(origin
(method url-fetch)
(uri (pypi-uri "jedi" version))
+ (patches (search-patches "python-jedi-sort-project-test.patch"))
(sha256
(base32
"0c1h9x3a9klvk2g288wl328x8xgzw7136k6vs9hkd56b85vcjh6z"))))
(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)))