summaryrefslogtreecommitdiff
path: root/gnu/packages/python-check.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/python-check.scm')
-rw-r--r--gnu/packages/python-check.scm457
1 files changed, 227 insertions, 230 deletions
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 6127ce3cf4..e94e2d0011 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019, 2021 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
@@ -80,8 +80,7 @@ data in a standard way.")
(base32 "1rcv4m850rl7djzdgzz2zhjd8g5ih8w6l0sj2f9hsynymlsq82xl"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-click" ,python-click)
- ("python-pytest" ,python-pytest)))
+ (list python-click python-pytest))
(home-page "https://github.com/Stranger6667/pytest-click")
(synopsis "Py.test plugin for Click")
(description "This package provides a plugin to test Python click
@@ -112,12 +111,9 @@ interfaces with pytest.")
(add-installed-pythonpath inputs outputs)
(invoke "pytest")))))))
(native-inputs
- `(("python-pytest-flake8" ,python-pytest-flake8)
- ("python-pytest-xdist" ,python-pytest-xdist-next)
- ("python-tabulate" ,python-tabulate)))
+ (list python-pytest-flake8 python-pytest-xdist-next python-tabulate))
(propagated-inputs
- `(("python-pytest" ,python-pytest-6)
- ("python-six" ,python-six)))
+ (list python-pytest-6 python-six))
(home-page "https://github.com/nicoulaj/pytest-csv")
(synopsis "CSV reporter for Pytest")
(description "This package provides a plugin for Pytest that enables a
@@ -139,11 +135,9 @@ it adds to the Pytest command line interface (CLI).")
(arguments
`(#:tests? #f)) ; PyTest-Django fails to build in master
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-pytest-cov" ,python-pytest-cov)
- ;;("python-pytest-django" ,python-pytest-django)
- ("python-twine" ,python-twine)
- ("python-wheel" ,python-wheel)))
+ (list python-pytest python-pytest-cov
+ ;;("python-pytest-django" ,python-pytest-django)
+ python-twine python-wheel))
(synopsis "Tests components for Python")
(description "Testfixtures is a collection of helpers and mock objects that
are useful when writing automated tests in Python.")
@@ -177,14 +171,9 @@ are useful when writing automated tests in Python.")
(invoke "pytest" "-vv")
(format #t "test suite not run~%")))))))
(propagated-inputs
- `(("python-coverage" ,python-coverage)
- ("python-docopt" ,python-docopt)
- ("python-pyyaml" ,python-pyyaml)
- ("python-requests" ,python-requests)))
+ (list python-coverage python-docopt python-pyyaml python-requests))
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest)
- ("python-responses" ,python-responses)))
+ (list python-mock python-pytest python-responses))
(synopsis "Show coverage stats online via coveralls.io")
(description
"Coveralls.io is a service for publishing code coverage statistics online.
@@ -216,9 +205,9 @@ nosetests, etc...) in Python projects.")
(lambda _
(invoke "pytest" "-vv"))))))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(propagated-inputs
- `(("python-six" ,python-six)))
+ (list python-six))
(synopsis "Create JUnit XML test results")
(description
"This package provides a Python module for creating JUnit XML test
@@ -249,23 +238,20 @@ result documents that can be read by tools such as Jenkins or Bamboo.")
(delete-file "tests/unit/test_stubs.py")
(invoke "pytest" "tests/unit")))))))
(propagated-inputs
- `(("python-pyyaml" ,python-pyyaml)
- ("python-six" ,python-six)
- ("python-wrapt" ,python-wrapt)
- ("python-yarl" ,python-yarl)))
+ (list python-pyyaml python-six python-wrapt python-yarl))
(native-inputs
- `(("python-black" ,python-black)
- ("python-coverage" ,python-coverage)
- ("python-flake8" ,python-flake8)
- ("python-flask" ,python-flask)
- ("python-httplib2" ,python-httplib2)
- ("python-ipaddress" ,python-ipaddress)
- ("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-pytest-httpbin" ,python-pytest-httpbin)
- ("python-tox" ,python-tox)
- ("python-urllib3" ,python-urllib3)))
+ (list python-black
+ python-coverage
+ python-flake8
+ python-flask
+ python-httplib2
+ python-ipaddress
+ python-mock
+ python-pytest
+ python-pytest-cov
+ python-pytest-httpbin
+ python-tox
+ python-urllib3))
(home-page "https://github.com/kevin1024/vcrpy")
(synopsis "Automatically mock your HTTP interactions")
(description
@@ -316,7 +302,7 @@ interactions, which will update them to correspond to the new API.")
;; argument passed to @code{pytest.main}.
"not test_run_marker_registered"))))))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://github.com/ftobia/pytest-ordering")
(synopsis "Pytest plugin to run your tests in a specific order")
(description
@@ -336,8 +322,7 @@ of tests run in a specific order.")
(base32 "1y87agr324p6x5gvhziymxjlw54pyn4gqnd49papbl941djpkp5g"))))
(build-system python-build-system)
(native-inputs
- `(("pytest" ,python-pytest)
- ("setuptools-scm" ,python-setuptools-scm)))
+ (list python-pytest python-setuptools-scm))
(home-page "https://www.astropy.org/")
(synopsis
"Pytest plugin adding diagnostic data to the header of the test output")
@@ -370,18 +355,16 @@ Astropy project, but is optimized for use with astropy-related projects.")
(substitute* "setup.cfg"
((".*pytest-filter-subpackage.*") "")))))))
(native-inputs
- `(("python-attrs" ,python-attrs)
- ("python-pytest-mock" ,python-pytest-mock)
- ("python-setuptools-scm" ,python-setuptools-scm)))
+ (list python-attrs python-pytest-mock python-setuptools-scm))
(propagated-inputs
- `(("python-hypothesis" ,python-hypothesis)
- ("python-pytest-arraydiff" ,python-pytest-arraydiff)
- ("python-pytest-astropy-header" ,python-pytest-astropy-header)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-pytest-doctestplus" ,python-pytest-doctestplus)
- ("python-pytest-filter-subpackage" ,python-pytest-filter-subpackage)
- ("python-pytest-openfiles" ,python-pytest-openfiles)
- ("python-pytest-remotedata" ,python-pytest-remotedata)))
+ (list python-hypothesis
+ python-pytest-arraydiff
+ python-pytest-astropy-header
+ python-pytest-cov
+ python-pytest-doctestplus
+ python-pytest-filter-subpackage
+ python-pytest-openfiles
+ python-pytest-remotedata))
(home-page "https://github.com/astropy/pytest-astropy")
(synopsis
"Metapackage for all the testing machinery used by the Astropy Project")
@@ -406,8 +389,7 @@ astropy related packages.")
;; Disable tests to avoid the circular dependency problem.
'(#:tests? #f))
(propagated-inputs
- `(("python-numpy" ,python-numpy)
- ("python-six" ,python-six)))
+ (list python-numpy python-six))
(home-page "https://github.com/astropy/pytest-arraydiff")
(synopsis "Pytest plugin to help with comparing array output from tests")
(description
@@ -436,7 +418,7 @@ are too large to conveniently hard-code them in the tests.")
(add-installed-pythonpath inputs outputs)
(invoke "pytest" "-vv"))))))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://github.com/astropy/pytest-doctestplus")
(synopsis "Pytest plugin with advanced doctest features")
(description
@@ -463,10 +445,8 @@ advanced doctest support and enables the testing of reStructuredText files.")
(when tests?
(invoke "pytest" "tests")))))))
(propagated-inputs
- `(("python-ipython" ,python-ipython)
- ("python-py" ,python-py)
- ("python-pytest" ,python-pytest)))
- (native-inputs `(("python-pytest" ,python-pytest)))
+ (list python-ipython python-py python-pytest))
+ (native-inputs (list python-pytest))
(home-page "https://github.com/nokia/pytest-exploratory")
(synopsis "Interactive console for Pytest")
(description "This Pytest plugin provides an IPython extension that allows
@@ -496,10 +476,7 @@ for interactively selecting and running Pytest tests.")
(add-installed-pythonpath inputs outputs)
(invoke "pytest" "-vv" "-k" "not test_with_rst"))))))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-pytest-doctestplus"
- ,python-pytest-doctestplus)))
+ (list python-pytest python-pytest-cov python-pytest-doctestplus))
(home-page "https://github.com/astropy/pytest-filter-subpackage")
(synopsis "Pytest plugin for filtering based on sub-packages")
(description
@@ -529,11 +506,8 @@ sub-package.")
(add-installed-pythonpath inputs outputs)
(invoke "pytest" "-vv"))))))
(native-inputs
- `(("python-pytest" ,python-pytest-6)
- ("python-setuptools" ,python-setuptools) ; needs setuptools >= 50.3.2
- ("python-setuptools-scm" ,python-setuptools-scm)
- ("python-setuptools-declarative-requirements"
- ,python-setuptools-declarative-requirements)))
+ (list python-pytest python-setuptools ; needs setuptools >= 50.3.2
+ python-setuptools-scm python-setuptools-declarative-requirements))
(home-page "https://github.com/saltstack/pytest-helpers-namespace")
(synopsis "Pytest Helpers Namespace Plugin")
(description "Pytest Helpers Namespace Plugin provides a helpers pytest
@@ -561,10 +535,9 @@ someone to import them in their actual tests to use them.")
(add-installed-pythonpath inputs outputs)
(invoke "pytest" "-vv"))))))
(native-inputs
- `(("python-setuptools-scm" ,python-setuptools-scm)
- ("python-pytest" ,python-pytest)))
+ (list python-setuptools-scm python-pytest))
(propagated-inputs
- `(("python-psutil" ,python-psutil)))
+ (list python-psutil))
(home-page "https://github.com/astropy/pytest-openfiles")
(synopsis "Pytest plugin for detecting inadvertent open file handles")
(description
@@ -597,9 +570,9 @@ were inadvertently left open at the end of a unit test.")
"not test_default_behavior"
" and not test_strict_with_decorator")))))))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(propagated-inputs
- `(("python-six" ,python-six)))
+ (list python-six))
(home-page "https://github.com/astropy/pytest-remotedata")
(synopsis "Pytest plugin for controlling remote data access")
(description
@@ -627,9 +600,9 @@ internet.")
(when tests?
(invoke "pytest")))))))
(propagated-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(native-inputs
- `(("python-setuptools-scm" ,python-setuptools-scm)))
+ (list python-setuptools-scm))
(home-page "https://github.com/pytest-dev/pytest-repeat")
(synopsis "Pytest plugin for repeating tests")
(description "@code{pytest-repeat} is a plugin for Pytest that makes it
@@ -660,8 +633,7 @@ times.")
(when tests?
(invoke "python" "-m" "pytest" "-vv")))))))
(propagated-inputs
- `(("python-mockito" ,python-mockito)
- ("python-pytest" ,python-pytest)))
+ (list python-mockito python-pytest))
(home-page "https://github.com/kaste/pytest-mockito")
(synopsis "Mockito base fixtures for Pytest")
(description "The @code{pytest-mockito} plugin provides base Mockito
@@ -695,10 +667,9 @@ framework and makes it easy to undo any monkey patching. The fixtures are:
(lambda _
(invoke "pytest" "-vv"))))))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(propagated-inputs
- `(("python-matplotlib" ,python-matplotlib)
- ("python-pillow" ,python-pillow)))
+ (list python-matplotlib python-nose python-pillow))
(home-page "https://github.com/matplotlib/pytest-mpl")
(synopsis "Pytest plugin to help with testing figures output from Matplotlib")
(description
@@ -728,8 +699,7 @@ in Pytest.")
(lambda _
(invoke "pytest" "-vv"))))))
(native-inputs
- `(("python-coverage" ,python-coverage)
- ("python-pytest" ,python-pytest)))
+ (list python-coverage python-pytest))
(home-page "https://github.com/asottile/covdefaults")
(synopsis "Coverage plugin to provide opinionated default settings")
(description
@@ -763,8 +733,7 @@ in Pytest.")
(add-installed-pythonpath inputs outputs)
(invoke "pytest" "tests/"))))))
(propagated-inputs
- `(("python-pytest" ,python-pytest)
- ("python-vcrpy" ,python-vcrpy)))
+ (list python-pytest python-vcrpy))
(home-page "https://github.com/ktosiek/pytest-vcr")
(synopsis "Plugin for managing VCR.py cassettes")
(description
@@ -774,20 +743,18 @@ in Pytest.")
(define-public python-pytest-checkdocs
(package
(name "python-pytest-checkdocs")
- (version "1.2.2")
+ (version "1.2.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-checkdocs" version))
(sha256
- (base32 "0j6j1gvj6x451y3qsx4xbaq9p1w9gg3mwk7n0w80cy8vdyjkngb0"))))
+ (base32 "0m4kn7141i6k8qr8ak3lbmk9vim11xsrlnrggcfwczfrglc6jmia"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-docutils" ,python-docutils)
- ("python-importlib-metadata" ,python-importlib-metadata)
- ("python-more-itertools" ,python-more-itertools)))
+ (list python-docutils python-importlib-metadata python-more-itertools))
(native-inputs
- `(("python-setuptools-scm" ,python-setuptools-scm)))
+ (list python-setuptools-scm python-pytest))
(home-page "https://github.com/jaraco/pytest-checkdocs")
(synopsis "Check the README when running tests")
(description
@@ -817,11 +784,9 @@ of the project to ensure it renders properly.")
(lambda _
(invoke "pytest" "-vv"))))))
(native-inputs
- `(("python-covdefaults" ,python-covdefaults)
- ("python-coverage" ,python-coverage)
- ("python-pytest" ,python-pytest)))
+ (list python-covdefaults python-coverage python-pytest))
(propagated-inputs
- `(("python-regex" ,python-regex)))
+ (list python-regex))
(home-page "https://github.com/asottile/re-assert")
(synopsis "Show where your regex match assertion failed")
(description
@@ -832,28 +797,33 @@ simpler.")
(define-public python-pytest-trio
(package
(name "python-pytest-trio")
- (version "0.6.0")
+ (version "0.7.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-trio" version))
(sha256
- (base32 "1zm8didm9h5jkqhghl9bvqs7kr7sjci282c7grhk6yhpzn8a9w4v"))))
+ (base32 "0c8cqf9by2884riksrqymqfp2g1d2d798a2zalcw9hmf34c786y0"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (add-installed-pythonpath inputs outputs)
- (invoke "pytest" "-W" "error" "-ra" "-v" "--pyargs"
- "pytest_trio" "--verbose" "--cov"))))))
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+ (invoke "pytest" "-W" "error" "-ra" "-v" "--pyargs"
+ "pytest_trio" "--verbose" "--cov" "-k"
+ (string-append
+ ;; Needs network
+ "not test_async_yield_fixture_with_nursery"
+ " and not test_try"
+ ;; No keyboard interrupt in our build environment.
+ " and not test_actual_test"))))))))
(native-inputs
- `(("python-hypothesis" ,python-hypothesis)
- ("python-pytest" ,python-pytest)
- ("python-pytest-cov" ,python-pytest-cov)))
+ (list python-hypothesis python-pytest python-pytest-cov))
(propagated-inputs
- `(("python-trio" ,python-trio)))
+ (list python-async-generator python-outcome python-pytest python-trio))
(home-page "https://github.com/python-trio/pytest-trio")
(synopsis "Pytest plugin for trio")
(description
@@ -875,9 +845,9 @@ friendly library for concurrency and async I/O in Python.")
"0syx68xk5ss3hgp3nr2y122w0fgkzr5936ghsqrkymh3m5hrf9gh"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-flake8" ,python-flake8)))
+ (list python-flake8))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://github.com/tholo/pytest-flake8")
(synopsis "Pytest plugin to check FLAKE8 requirements")
(description
@@ -888,26 +858,25 @@ compliance.")
(define-public python-pytest-isort
(package
(name "python-pytest-isort")
- (version "0.3.1")
+ (version "2.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-isort" version))
(sha256
- (base32 "06myn5hhxs5yp8dqr1yjsgcnnxnsrvsqannm00bvaw0qml6ydzjb"))))
+ (base32 "05wi28zlqk3jafpjal8j523y5jcsx3xl3id9rx93qfjgkif8q6l2"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
- (lambda _
- (setenv "PYTHONPATH"
- (string-append (getcwd) ":"
- (getenv "PYTHONPATH")))
- (invoke "pytest"))))))
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest")))))))
(propagated-inputs
- `(("python-isort" ,python-isort)
- ("python-pytest" ,python-pytest)))
+ (list python-isort python-pytest))
+ (native-inputs
+ (list python-mock))
(home-page "https://github.com/moccu/pytest-isort/")
(synopsis "Pytest plugin to check import ordering using isort")
(description
@@ -940,14 +909,10 @@ isort.")
"bindir = os.path.realpath('/tmp/bin')"))
#t)))))
(propagated-inputs
- `(("python-contextlib2" ,python-contextlib2)
- ("python-execnet" ,python-execnet)
- ("python-pathpy" ,python-pathpy)
- ("python-termcolor" ,python-termcolor)))
+ (list python-contextlib2 python-execnet python-pathpy
+ python-termcolor))
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest)
- ("python-setuptools-git" ,python-setuptools-git)))
+ (list python-mock python-pytest python-setuptools-git))
(home-page "https://github.com/manahl/pytest-plugins")
(synopsis "Assorted shell and environment tools for py.test")
(description
@@ -968,8 +933,7 @@ py.test testing framework.")
"13i1qpz22w3x4dmw8vih5jdnbqfqvl7jiqs0dg764s0zf8bp98a1"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-setuptools-git" ,python-setuptools-git)))
+ (list python-pytest python-setuptools-git))
(home-page "https://github.com/manahl/pytest-plugins")
(synopsis "Fixture configuration utils for py.test")
(description
@@ -1006,14 +970,11 @@ testing framework.")
virtualenv-bin)))
#t))))))
(propagated-inputs
- `(("python-pytest-shutil" ,python-pytest-shutil)
- ("python-pytest-fixture-config" ,python-pytest-fixture-config)))
+ (list python-pytest-shutil python-pytest-fixture-config))
(inputs
- `(("python-virtualenv" ,python-virtualenv)))
+ (list python-virtualenv))
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest)
- ("python-setuptools-git" ,python-setuptools-git)))
+ (list python-mock python-pytest python-setuptools-git))
(home-page "https://github.com/manahl/pytest-plugins")
(synopsis "Virtualenv fixture for py.test")
(description "This package provides a virtualenv fixture for the py.test
@@ -1033,9 +994,9 @@ framework.")
"02i5gl7pm9cwxk15sn29inz3n8flpj1r3p1l110h43f2na5w8h7z"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-pycodestyle" ,python-pycodestyle)))
+ (list python-pycodestyle))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://github.com/henry0312/pytest-pycodestyle")
(synopsis "Pytest plugin to run pycodestyle")
(description "This package provides a plugin to run @code{pycodestyle}
@@ -1055,10 +1016,9 @@ for the @code{pytest} framework.")
"0a4mpb4j73dsyk47hd1prrjpfk4r458s102cn80rf253jg818hxd"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-py-cpuinfo" ,python-py-cpuinfo)))
+ (list python-py-cpuinfo))
(native-inputs
- `(("python-pathlib2" ,python-pathlib2)
- ("python-pytest" ,python-pytest)))
+ (list python-pathlib2 python-pytest))
(home-page "https://github.com/ionelmc/pytest-benchmark")
(synopsis "Pytest fixture for benchmarking code")
(description
@@ -1090,12 +1050,9 @@ rounds that are calibrated to the chosen timer.")
(delete-file "tests/test_xvfb_windows.py")
#t)))))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-pytest-runner" ,python-pytest-runner)
- ("xorg-server" ,xorg-server-for-tests)))
+ (list python-pytest python-pytest-runner xorg-server-for-tests))
(propagated-inputs
- `(("python-pyvirtualdisplay"
- ,python-pyvirtualdisplay)))
+ (list python-pyvirtualdisplay))
(home-page "https://github.com/The-Compiler/pytest-xvfb")
(synopsis "Pytest plugin to run Xvfb for tests")
(description
@@ -1116,10 +1073,9 @@ rounds that are calibrated to the chosen timer.")
(build-system python-build-system)
(arguments '(#:tests? #f)) ; Tests not included in release tarball.
(propagated-inputs
- `(("python-psutil" ,python-psutil)
- ("python-requests" ,python-requests)))
+ (list python-psutil python-requests))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://github.com/pytest-dev/pytest-services")
(synopsis "Services plugin for pytest testing framework")
(description
@@ -1146,23 +1102,15 @@ service processes for your tests with pytest.")
'(#:phases
(modify-phases %standard-phases
(replace 'check
- (lambda* (#:key inputs outputs #:allow-other-keys)
- ;; Make the installed plugin discoverable by Pytest.
- (add-installed-pythonpath inputs outputs)
- (invoke "pytest" "-vv"))))))
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ (substitute* "setup.cfg"
+ ((".*timeout.*") ""))
+ ;; Make the installed plugin discoverable by Pytest.
+ (add-installed-pythonpath inputs outputs)
+ (invoke "pytest" "-vv")))))))
(native-inputs
- `(("python-coverage" ,python-coverage)
- ("python-docutils" ,python-docutils)
- ("python-flake8" ,python-flake8)
- ("python-isort" ,python-isort)
- ("python-pydantic" ,python-pydantic)
- ("python-pyflakes" ,python-pyflakes)
- ("python-pygments" ,python-pygments)
- ("python-pytest" ,python-pytest)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-pytest-isort" ,python-pytest-isort)
- ("python-pytest-mock" ,python-pytest-mock)
- ("python-pytest-sugar" ,python-pytest-sugar)))
+ (list python-pydantic python-pytest python-pytest-isort))
(home-page "https://github.com/samuelcolvin/pytest-toolbox")
(synopsis "Numerous useful plugins for Pytest")
(description
@@ -1183,9 +1131,9 @@ new fixtures, new methods and new comparison objects.")
"0kx4mbs9bflycd8x9af0idcjhdgnzri3nw1qb0vpfyb3751qaaf9"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(propagated-inputs
- `(("python-aiohttp" ,python-aiohttp)))
+ (list python-aiohttp))
(home-page "https://github.com/aio-libs/pytest-aiohttp/")
(synopsis "Pytest plugin for aiohttp support")
(description "This package provides a pytest plugin for aiohttp support.")
@@ -1221,14 +1169,10 @@ new fixtures, new methods and new comparison objects.")
;; https://github.com/computationalmodelling/nbval/pull/148.
" and not test_timeouts")))))))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-sympy" ,python-sympy)))
+ (list python-pytest python-pytest-cov python-sympy))
(propagated-inputs
- `(("python-ipykernel" ,python-ipykernel)
- ("python-jupyter-client" ,python-jupyter-client)
- ("python-nbformat" ,python-nbformat)
- ("python-six" ,python-six)))
+ (list python-ipykernel python-jupyter-client python-nbformat
+ python-six))
(home-page "https://github.com/computationalmodelling/nbval")
(synopsis "Pytest plugin to validate Jupyter notebooks")
(description
@@ -1251,10 +1195,8 @@ also ensuring that the notebooks are running without errors.")
"1hln7mwgdzfi5ma0kqfsi768l7p24jhkw8l0imhifwy08nh7hmjd"))))
(build-system python-build-system)
(native-inputs
- `(("python-flask" ,python-flask)
- ("python-pytest" ,python-pytest)
- ("python-setuptools-scm" ,python-setuptools-scm)
- ("python-werkzeug" ,python-werkzeug)))
+ (list python-flask python-pytest python-setuptools-scm
+ python-werkzeug))
(home-page "https://github.com/pytest-dev/pytest-flask")
(synopsis "Pytest fixtures to test Flask applications")
(description
@@ -1264,14 +1206,14 @@ also ensuring that the notebooks are running without errors.")
(define-public python-pytest-console-scripts
(package
(name "python-pytest-console-scripts")
- (version "1.2.0")
+ (version "1.2.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-console-scripts" version))
(sha256
(base32
- "073l2cz11013dl30zjr575ms78j9b2bsbdl1w0gmig37spbkh8aa"))))
+ "1qsw3i2h3psyi5avwf14panx8wxqfik2z7294dy37w8ha415iwn7"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -1284,10 +1226,9 @@ also ensuring that the notebooks are running without errors.")
;; This one test fails because of PATH assumptions
"-k" "not test_elsewhere_in_the_path")))))))
(propagated-inputs
- `(("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest)))
+ (list python-mock python-pytest))
(native-inputs
- `(("python-setuptools-scm" ,python-setuptools-scm)))
+ (list python-setuptools-scm))
(home-page "https://github.com/kvas-it/pytest-console-scripts")
(synopsis "Pytest plugin for testing console scripts")
(description
@@ -1316,8 +1257,7 @@ also ensuring that the notebooks are running without errors.")
(add-installed-pythonpath inputs outputs)
(invoke "pytest" "--verbose")))))))
(propagated-inputs
- `(("python-pytest" ,python-pytest)
- ("python-tornado" ,python-tornado)))
+ (list python-pytest python-tornado))
(home-page "https://github.com/eukaryote/pytest-tornasync")
(synopsis "Pytest plugin for testing Tornado code")
(description
@@ -1338,7 +1278,7 @@ plain (undecoratored) native coroutine tests.")
(base32 "1hl0ln0cicdid4qjk7mv90lw9xkb0v71dlj7q7rn89vzxxm9b53y"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://github.com/MobileDynasty/pytest-env")
(synopsis "Pytest plugin that allows you to add environment variables")
(description
@@ -1386,11 +1326,9 @@ libraries.")
(setenv "QT_QPA_PLATFORM" "offscreen")
#t)))))
(propagated-inputs
- `(("python-pyqt" ,python-pyqt)))
+ (list python-pyqt))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-pytest-runner" ,python-pytest-runner)
- ("python-setuptools-scm" ,python-setuptools-scm)))
+ (list python-pytest python-pytest-runner python-setuptools-scm))
(home-page "https://github.com/pytest-dev/pytest-qt")
(synopsis "Pytest support for PyQt and PySide applications")
(description
@@ -1417,7 +1355,7 @@ interaction, like key presses and mouse clicks.")
(arguments
`(#:tests? #f)); no tests
(propagated-inputs
- `(("python-check-manifest" ,python-check-manifest)))
+ (list python-check-manifest python-requests))
(home-page "https://github.com/codacy/python-codacy-coverage")
(synopsis "Codacy coverage reporter for Python")
(description "This package analyses Python test suites and reports how much
@@ -1440,7 +1378,7 @@ analysing code quality.")
(arguments
`(#:tests? #f)); no tests
(propagated-inputs
- `(("python-requests" ,python-requests)))
+ (list python-requests))
(home-page "https://github.com/patrys/httmock")
(synopsis "Mocking library for requests.")
(description "This package provides a library for replying fake data to
@@ -1470,7 +1408,7 @@ Python software under test, when they make an HTTP query.")
(lambda _
(invoke "python" "-m" "nose2" "-v"))))))
(native-inputs
- `(("python-nose2" ,python-nose2)))
+ (list python-nose2))
(home-page "https://public.readthedocs.io/")
(synopsis "@code{@@public} decorator for populating @code{__all__}")
(description
@@ -1504,8 +1442,7 @@ the implementation of that name.")
(when tests?
(invoke "pytest")))))))
(native-inputs
- `(("python-numpy" ,python-numpy)
- ("python-pytest" ,python-pytest)))
+ (list python-numpy python-pytest))
(home-page "https://github.com/kaste/mockito-python")
(synopsis "Mocking library for Python")
(description "This package provides a Python implementation of the Java
@@ -1563,23 +1500,21 @@ supported by the MyPy typechecker.")
(when tests?
(invoke "pytest" "mypyc")))))))
(native-inputs
- `(("python-attrs" ,python-attrs)
- ("python-flake8" ,python-flake8)
- ("python-flake8-bugbear" ,python-flake8-bugbear)
- ("python-flake8-pyi" ,python-flake8-pyi)
- ("python-importlib-metadata" ,python-importlib-metadata)
- ("python-lxml" ,python-lxml)
- ("python-psutil" ,python-psutil)
- ("python-pytest" ,python-pytest-6)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-pytest-forked" ,python-pytest-forked)
- ("python-pytest-xdist" ,python-pytest-xdist)
- ("python-virtualenv" ,python-virtualenv)))
+ (list python-attrs
+ python-flake8
+ python-flake8-bugbear
+ python-flake8-pyi
+ python-importlib-metadata
+ python-lxml
+ python-psutil
+ python-pytest
+ python-pytest-cov
+ python-pytest-forked
+ python-pytest-xdist
+ python-virtualenv))
(propagated-inputs
- `(("python-mypy-extensions" ,python-mypy-extensions)
- ("python-toml" ,python-toml)
- ("python-typing-extensions" ,python-typing-extensions)
- ("python-typed-ast" ,python-typed-ast)))
+ (list python-mypy-extensions python-toml python-typing-extensions
+ python-typed-ast))
(home-page "http://www.mypy-lang.org/")
(synopsis "Static type checker for Python")
(description "Mypy is an optional static type checker for Python that aims
@@ -1592,6 +1527,59 @@ any Python VM with basically no runtime overhead.")
;; mypyc/lib-rt/getargs.c
(license (list license:expat license:psfl))))
+;;; This variant exists to break a cycle between python-pylama and python-isort.
+(define-public python-mypy-minimal
+ (hidden-package
+ (package
+ (inherit python-mypy)
+ (name "python-mypy-minimal")
+ (arguments
+ `(#:tests? #f
+ #:phases (modify-phases %standard-phases
+ ;; XXX: Fails with: "In procedure utime: No such file or
+ ;; directory".
+ (delete 'ensure-no-mtimes-pre-1980))))
+ (native-inputs '()))))
+
+(define-public python-pylama
+ (package
+ (name "python-pylama")
+ (version "7.7.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pylama" version))
+ (sha256
+ (base32
+ "13vx7daqz2918y9s8q3v2i3xaq3ah43a9p58srqi6hqskkpm7blv"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'disable-failing-tests
+ (lambda _
+ ;; Fails with: "ImportError: cannot import name
+ ;; 'commented_out_code_line_numbers' from 'eradicate'".
+ (delete-file "pylama/lint/pylama_eradicate.py")
+ ;; Requires python-astroid, which fails to build on
+ ;; Python 3.9+ (see:
+ ;; https://github.com/PyCQA/astroid/issues/881).
+ (delete-file "pylama/lint/pylama_pylint.py"))))))
+ (native-inputs
+ (list python-py python-pytest python-radon))
+ (propagated-inputs
+ `(("python-mccabe" ,python-mccabe)
+ ("python-mypy", python-mypy-minimal)
+ ("python-pycodestyle" ,python-pycodestyle)
+ ("python-pydocstyle" ,python-pydocstyle)
+ ("python-pyflakes" ,python-pyflakes)))
+ (home-page "https://github.com/klen/pylama")
+ (synopsis "Code audit tool for python")
+ (description "Pylama is a code audit tool for Python and JavaScript to check
+for style, syntax and other code health metrics. It is essentially a
+convenient wrapper above tools such as Pyflakes, pydocstyle, pycodestyle and
+McCabe, among others.")
+ (license license:lgpl3+)))
+
(define-public python-pyannotate
(package
(name "python-pyannotate")
@@ -1605,8 +1593,7 @@ any Python VM with basically no runtime overhead.")
"16bm0mf7wxvy0lgmcs1p8n1ji8pnvj1jvj8zk3am70dkp825iv84"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-mypy-extensions" ,python-mypy-extensions)
- ("python-six" ,python-six)))
+ (list python-mypy-extensions python-six))
(home-page
"https://github.com/dropbox/pyannotate")
(synopsis "Auto-generate PEP-484 annotations")
@@ -1649,8 +1636,7 @@ valid Python syntax that are likely to be commented out code.")
;; Reported upstream: <https://github.com/vesln/robber.py/issues/20>.
(arguments '(#:tests? #f))
(propagated-inputs
- `(("python-mock" ,python-mock)
- ("python-termcolor" ,python-termcolor)))
+ (list python-mock python-termcolor))
;; URL of the fork used to generate the package available on PyPI.
(home-page "https://github.com/EastAgile/robber.py")
(synopsis "Test-driven development (TDD) assertion library for Python")
@@ -1673,15 +1659,15 @@ behavior-driven development (TDD and BDD).")
(arguments
`(#:tests? #f)) ;to avoid circular dependencies
(native-inputs
- `(("python-pbr" ,python-pbr)))
+ (list python-pbr))
(propagated-inputs
- `(("python-cliff" ,python-cliff)
- ("python-fixtures" ,python-fixtures)
- ("python-future" ,python-future)
- ("python-pyyaml" ,python-pyyaml)
- ("python-subunit" ,python-subunit)
- ("python-testtools" ,python-testtools)
- ("python-voluptuous" ,python-voluptuous)))
+ (list python-cliff
+ python-fixtures
+ python-future
+ python-pyyaml
+ python-subunit
+ python-testtools
+ python-voluptuous))
(home-page "https://stestr.readthedocs.io/en/latest/")
(synopsis "Parallel Python test runner")
(description "This package provides the @command{stestr} command, a
@@ -1707,11 +1693,8 @@ help in debugging failures and optimizing the scheduler to improve speed.")
;; Tests depend on python-sanic.
`(#:tests? #f))
(propagated-inputs
- `(("python-httpx" ,python-httpx)
- ("python-async-generator"
- ,python-async-generator)
- ("python-pytest" ,python-pytest)
- ("python-websockets" ,python-websockets)))
+ (list python-httpx python-async-generator python-pytest
+ python-websockets))
(home-page
"https://github.com/yunstanford/pytest-sanic")
(synopsis "Pytest plugin for Sanic")
@@ -1731,8 +1714,7 @@ code asynchronously.")
(base32 "1c987h13dly9919d15w3h747rgn50ilnv7dginhlprxbj564hn4k"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-pytest-runner" ,python-pytest-runner)))
+ (list python-pytest python-pytest-runner))
(home-page "https://github.com/thombashi/allpairspy")
(synopsis "Pairwise test combinations generator")
(description
@@ -1757,8 +1739,7 @@ most situations.")
(base32 "01v98b6n3yvkfmxf2v38xk5ijqlk6ika0yljwkhl5bh6qhq23498"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-pytest" ,python-pytest)
- ("python-psutil" ,python-psutil)))
+ (list python-pytest python-psutil))
(arguments
;; tests require setuptools-markdown, which is deprecated and not in guix
'(#:tests? #f
@@ -1803,11 +1784,9 @@ tests at one time.")
"not test_address_as_instance_of_url_combined_with_pass_through "
"and not test_pass_through_with_origin_params"))))))))
(native-inputs
- `(("python-pbr" ,python-pbr)
- ("python-ddt" ,python-ddt)
- ("python-pytest" ,python-pytest)))
+ (list python-pbr python-ddt python-pytest))
(propagated-inputs
- `(("python-aiohttp" ,python-aiohttp)))
+ (list python-aiohttp))
(home-page "https://github.com/pnuckowski/aioresponses")
(synopsis "Mock out requests made by ClientSession from aiohttp package")
(description
@@ -1819,6 +1798,24 @@ The purpose of this package is to provide an easy way to test asynchronous
HTTP requests.")
(license license:expat)))
+(define-public python-pytest-rerunfailures
+ (package
+ (name "python-pytest-rerunfailures")
+ (version "10.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pytest-rerunfailures" version))
+ (sha256
+ (base32 "15v68kggjvkflbqr0vz8gp5yp3pcsk0rz05bpg2l4xp0a6nin7ly"))))
+ (build-system python-build-system)
+ (propagated-inputs (list python-pytest python-setuptools))
+ (home-page "https://github.com/pytest-dev/pytest-rerunfailures")
+ (synopsis "Pytest plugin to re-run flaky tests")
+ (description "This package provides a pytest plugin to re-run tests to
+eliminate flaky failures.")
+ (license license:mpl2.0)))
+
(define-public python-xunitparser
(package
(name "python-xunitparser")