diff options
Diffstat (limited to 'gnu/packages/python-check.scm')
-rw-r--r-- | gnu/packages/python-check.scm | 457 |
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") |