gnu: python-cram: Improve style.

* gnu/packages/python-check.scm (python-cram): Run guix style, use
gexps.

Change-Id: I36946726869fd50a8386f699fd9b8becbdabe775
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
This commit is contained in:
Nicolas Graves 2025-07-21 22:39:24 +02:00 committed by Sharlatan Hellseher
parent 360da46b91
commit dffbfcfeca
No known key found for this signature in database
GPG key ID: 76D727BFF62CD2B5

View file

@ -454,52 +454,53 @@ nosetests, etc...) in Python projects.")
(name "python-cram")
(version "0.7")
(home-page "https://bitheap.org/cram/")
(source (origin
(method url-fetch)
(uri (list (string-append home-page "cram-"
version ".tar.gz")
(pypi-uri "cram" version)))
(sha256
(base32
"0bvz6fwdi55rkrz3f50zsy35gvvwhlppki2yml5bj5ffy9d499vx"))))
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-source
(lambda _
(substitute* (find-files "cram" ".*\\.py$")
;; Replace default shell path.
(("/bin/sh") (which "sh")))
(substitute* (find-files "tests" ".*\\.t$")
(("md5") "md5sum")
(("/bin/bash") (which "bash"))
(("/bin/sh") (which "sh")))
(substitute* "cram/_test.py"
;; This hack works around a bug triggered by substituting
;; the /bin/sh paths. "tests/usage.t" compares the output of
;; "cram -h", which breaks the output at 80 characters. This
;; causes the line showing the default shell to break into two
;; lines, but the test expects a single line...
(("env\\['COLUMNS'\\] = '80'")
"env['COLUMNS'] = '160'"))
(substitute* "Makefile"
;; Recent versions of python-coverage have caused the test
;; coverage to decrease (as of version 0.7). Allow that.
(("--fail-under=100")
"--fail-under=90"))
#t))
(replace 'check
;; The test phase uses the built library and executable.
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
(setenv "PATH" (string-append (getenv "PATH") ":"
(assoc-ref outputs "out") "/bin"))
(invoke "make" "test"))))))
(source
(origin
(method url-fetch)
(uri (list (string-append home-page "cram-" version ".tar.gz")
(pypi-uri "cram" version)))
(sha256
(base32 "0bvz6fwdi55rkrz3f50zsy35gvvwhlppki2yml5bj5ffy9d499vx"))))
(build-system python-build-system)
(native-inputs
(list python-coverage python-setuptools python-wheel which))
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-source
(lambda _
(substitute* (find-files "cram" ".*\\.py$")
;; Replace default shell path.
(("/bin/sh")
(which "sh")))
(substitute* (find-files "tests" ".*\\.t$")
(("md5")
"md5sum")
(("/bin/bash")
(which "bash"))
(("/bin/sh")
(which "sh")))
(substitute* "cram/_test.py"
;; This hack works around a bug triggered by substituting
;; the /bin/sh paths. "tests/usage.t" compares the output of
;; "cram -h", which breaks the output at 80 characters. This
;; causes the line showing the default shell to break into two
;; lines, but the test expects a single line...
(("env\\['COLUMNS'\\] = '80'")
"env['COLUMNS'] = '160'"))
(substitute* "Makefile"
;; Recent versions of python-coverage have caused the test
;; coverage to decrease (as of version 0.7). Allow that.
(("--fail-under=100")
"--fail-under=90"))))
(replace 'check
;; The test phase uses the built library and executable.
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
(setenv "PATH"
(string-append (getenv "PATH") ":" #$output "/bin"))
(invoke "make" "test"))))))
(native-inputs (list python-coverage python-setuptools python-wheel which))
(synopsis "Simple testing framework for command line applications")
(description
"Cram is a functional testing framework for command line applications.