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))
|
||||
(sha256
|
||||
(base32 "032cg337h8awydgypz6f4wx848lw8dyrj4zy988x0lyib4ws8rgw"))))
|
||||
(build-system python-build-system)
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'check 'prepare-tests
|
||||
(lambda _
|
||||
(substitute* (find-files "tests")
|
||||
(("/bin/ls") (which "ls"))
|
||||
(("/bin/echo") (which "echo"))
|
||||
(("/bin/which") (which "which"))
|
||||
;; Many tests try to use the /bin directory which
|
||||
;; is not present in the build environment.
|
||||
;; Use one that's non-empty and unlikely to change.
|
||||
(("/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"))))))
|
||||
(list
|
||||
#: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
|
||||
(lambda _
|
||||
(substitute* (find-files "tests")
|
||||
(("/bin/bash") (which "bash"))
|
||||
(("/bin/echo") (which "echo"))
|
||||
(("/bin/ls") (which "ls"))
|
||||
(("/bin/which") (which "which"))
|
||||
;; Many tests try to use the /bin directory which is not
|
||||
;; present in the build environment. Use one that's non-empty
|
||||
;; and unlikely to change.
|
||||
(("/bin'") "/dev'")))))))
|
||||
(native-inputs
|
||||
`(("python-nose" ,python-nose)
|
||||
("python-pytest" ,python-pytest)
|
||||
("man-db" ,man-db)
|
||||
("which" ,which)
|
||||
("bash-full" ,bash))) ;full Bash for 'test_replwrap.py'
|
||||
(list bash ;full Bash for 'test_replwrap.py'
|
||||
man-db
|
||||
python-pytest
|
||||
python-setuptools
|
||||
python-wheel
|
||||
which))
|
||||
(propagated-inputs
|
||||
(list python-ptyprocess))
|
||||
(home-page "https://pexpect.readthedocs.org/")
|
||||
(synopsis "Controlling interactive console applications")
|
||||
(description
|
||||
"Pexpect is a pure Python module for spawning child applications;
|
||||
controlling them; and responding to expected patterns in their output.
|
||||
Pexpect works like Don Libes’ Expect. Pexpect allows your script to spawn a
|
||||
child application and control it as if a human were typing commands.")
|
||||
controlling them; and responding to expected patterns in their output. Pexpect
|
||||
works like Don Libes’ Expect. Pexpect allows your script to spawn a child
|
||||
application and control it as if a human were typing commands.")
|
||||
(license license:isc)))
|
||||
|
||||
(define-public python-sexpdata
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue