1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-06 13:10:33 +02:00

import: pypi: Fix tests.

* guix/import/pypi.scm (unzip-command): Use invoke instead of
system*.
(read-wheel-metadata): Adapt accordingly.
(guess-requirements-from-wheel): Improve readability.

* tests/import/pypi.scm (parse-wheel-metadata): Add test (used to
isolate the issue in another test).
(pypi->guix-package, no wheel): Remove python-wheel from the result.
(pypi->guix-package, no usable requirement file, no wheel.): Likewise.
(pypi->guix-package, package name contains \"-\" followed by digits):
Likewise.
(package-latest-release): Likewise.
(pypi->guix-package, no requires.txt, but wheel): Likewise. Also
improve readability.

Change-Id: I49e6ae549437a068acd85fa0f13471bc0af5a399
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
This commit is contained in:
Nicolas Graves
2026-01-24 17:07:10 +01:00
committed by Andreas Enge
parent 5cafd2bdb0
commit 483ee41756
2 changed files with 18 additions and 21 deletions

View File

@@ -270,6 +270,12 @@ files specified by SPECS. Return its file name."
call-with-input-string)
(parse-requires.txt test-requires.txt-beaker)))
(test-equal "parse-wheel-metadata"
(list '("baz" "bar") '("pytest"))
(mock ((ice-9 ports) call-with-input-file
call-with-input-string)
(parse-wheel-metadata test-metadata)))
(test-equal "parse-wheel-metadata, with extras"
(list '("wrapt" "bar") '("tox" "bumpversion"))
(mock ((ice-9 ports) call-with-input-file
@@ -328,8 +334,7 @@ files specified by SPECS. Return its file name."
(build-system pyproject-build-system)
(propagated-inputs (list python-bar python-foo))
(native-inputs (list python-pytest
python-setuptools
python-wheel))
python-setuptools))
(home-page "https://example.com")
(synopsis "summary")
(description "summary.")
@@ -431,8 +436,7 @@ files specified by SPECS. Return its file name."
(with-pypi `(("/foo-1.0.0.tar.gz" 200 ,(file-dump tarball))
("/foo-1.0.0-py2.py3-none-any.whl"
200 ,(file-dump wheel))
("/foo/json" 200 ,(lambda (port)
(display (foo-json) port))))
("/foo/json" 200 ,(cut display (foo-json) <>)))
;; Not clearing the memoization cache here would mean returning the value
;; computed in the previous test.
(invalidate-memoization! pypi->guix-package)
@@ -448,8 +452,7 @@ files specified by SPECS. Return its file name."
(build-system pyproject-build-system)
(propagated-inputs (list python-bar python-baz))
(native-inputs (list python-pytest
python-setuptools
python-wheel))
python-setuptools))
(home-page "https://example.com")
(synopsis "summary")
(description "summary.")
@@ -478,7 +481,7 @@ files specified by SPECS. Return its file name."
(sha256
(base32 ,(? string? hash)))))
(build-system pyproject-build-system)
(native-inputs (list python-setuptools python-wheel))
(native-inputs (list python-setuptools))
(home-page "https://example.com")
(synopsis "summary")
(description "summary.")
@@ -509,8 +512,7 @@ files specified by SPECS. Return its file name."
(build-system pyproject-build-system)
(propagated-inputs (list python-bar python-foo))
(native-inputs (list python-pytest
python-setuptools
python-wheel))
python-setuptools))
(home-page "https://example.com")
(synopsis "summary")
(description "summary.")
@@ -537,10 +539,6 @@ files specified by SPECS. Return its file name."
(upstream-input
(name "setuptools")
(downstream-name "python-setuptools")
(type 'native))
(upstream-input
(name "wheel")
(downstream-name "python-wheel")
(type 'native))))
(let ((tarball (pypi-tarball
"foo-1.0.0"