mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
gnu: python-pexpect: Improve package style.
* gnu/packages/python-xyz.scm (python-pexpect): Use G-expression, improve style. [build-system]: Swap to pyproject-build-system. [arguments]<test-flags>: Move test exclusion logic here from 'prepare-tests phase. [native-inputs]: Remove python-nose; add python-setuptools and python-wheel. Change-Id: I16da2bfbeabf21b02acf93f7fed765f262a56596
This commit is contained in:
parent
8d5f2d7647
commit
3daf5b0dcf
1 changed files with 41 additions and 29 deletions
|
@ -11833,43 +11833,55 @@ wraps Python's standard library threading and multiprocessing objects.")
|
||||||
(uri (pypi-uri "pexpect" version))
|
(uri (pypi-uri "pexpect" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "032cg337h8awydgypz6f4wx848lw8dyrj4zy988x0lyib4ws8rgw"))))
|
(base32 "032cg337h8awydgypz6f4wx848lw8dyrj4zy988x0lyib4ws8rgw"))))
|
||||||
(build-system python-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases
|
(list
|
||||||
(modify-phases %standard-phases
|
#:test-flags
|
||||||
|
#~(list "-k" (string-join
|
||||||
|
(list
|
||||||
|
;; Disable failing test, see
|
||||||
|
;; <https://github.com/pexpect/pexpect/issues/568>.
|
||||||
|
"not test_bash"
|
||||||
|
;; Fails with attempt to find OpenSSL.
|
||||||
|
"test_large_stdout_stream"
|
||||||
|
;; Tests fail while trying to find
|
||||||
|
;; tmp-pexpect-xxxxxxxxxxxx directories.
|
||||||
|
"test_run_uses_env"
|
||||||
|
"test_run_uses_env_path"
|
||||||
|
"test_run_uses_env_path_over_path"
|
||||||
|
"test_spawn_uses_env"
|
||||||
|
;; Fails with assertion error: assert 0 == 500
|
||||||
|
"test_before_across_chunks")
|
||||||
|
" and not "))
|
||||||
|
#:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
(add-before 'check 'prepare-tests
|
(add-before 'check 'prepare-tests
|
||||||
(lambda _
|
(lambda _
|
||||||
(substitute* (find-files "tests")
|
(substitute* (find-files "tests")
|
||||||
(("/bin/ls") (which "ls"))
|
(("/bin/bash") (which "bash"))
|
||||||
(("/bin/echo") (which "echo"))
|
(("/bin/echo") (which "echo"))
|
||||||
|
(("/bin/ls") (which "ls"))
|
||||||
(("/bin/which") (which "which"))
|
(("/bin/which") (which "which"))
|
||||||
;; Many tests try to use the /bin directory which
|
;; Many tests try to use the /bin directory which is not
|
||||||
;; is not present in the build environment.
|
;; present in the build environment. Use one that's non-empty
|
||||||
;; Use one that's non-empty and unlikely to change.
|
;; and unlikely to change.
|
||||||
(("/bin'") "/dev'")
|
(("/bin'") "/dev'")))))))
|
||||||
;; Disable failing test. See upstream bug report
|
|
||||||
;; https://github.com/pexpect/pexpect/issues/568
|
|
||||||
(("def test_bash") "def _test_bash"))
|
|
||||||
;; XXX: Socket connection test gets "Connection reset by peer".
|
|
||||||
;; Why does it not work? Delete for now.
|
|
||||||
(delete-file "tests/test_socket.py")
|
|
||||||
#t))
|
|
||||||
(replace 'check (lambda _ (invoke "nosetests" "-v"))))))
|
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-nose" ,python-nose)
|
(list bash ;full Bash for 'test_replwrap.py'
|
||||||
("python-pytest" ,python-pytest)
|
man-db
|
||||||
("man-db" ,man-db)
|
python-pytest
|
||||||
("which" ,which)
|
python-setuptools
|
||||||
("bash-full" ,bash))) ;full Bash for 'test_replwrap.py'
|
python-wheel
|
||||||
|
which))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-ptyprocess))
|
(list python-ptyprocess))
|
||||||
(home-page "https://pexpect.readthedocs.org/")
|
(home-page "https://pexpect.readthedocs.org/")
|
||||||
(synopsis "Controlling interactive console applications")
|
(synopsis "Controlling interactive console applications")
|
||||||
(description
|
(description
|
||||||
"Pexpect is a pure Python module for spawning child applications;
|
"Pexpect is a pure Python module for spawning child applications;
|
||||||
controlling them; and responding to expected patterns in their output.
|
controlling them; and responding to expected patterns in their output. Pexpect
|
||||||
Pexpect works like Don Libes’ Expect. Pexpect allows your script to spawn a
|
works like Don Libes’ Expect. Pexpect allows your script to spawn a child
|
||||||
child application and control it as if a human were typing commands.")
|
application and control it as if a human were typing commands.")
|
||||||
(license license:isc)))
|
(license license:isc)))
|
||||||
|
|
||||||
(define-public python-sexpdata
|
(define-public python-sexpdata
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue