diff options
Diffstat (limited to 'gnu/packages/check.scm')
-rw-r--r-- | gnu/packages/check.scm | 637 |
1 files changed, 276 insertions, 361 deletions
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 4928f02bfd..0a90a3b167 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -25,7 +25,7 @@ ;;; Copyright © 2017, 2019 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2017 Nikita <nikita@n0.is> ;;; Copyright © 2015, 2017, 2018, 2020, 2021 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Marius Bakke <marius@gnu.org> ;;; Copyright © 2017, 2018, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com> ;;; Copyright © 2019, 2021 Pierre Langlois <pierre.langlois@gmx.com> @@ -68,6 +68,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-check) #:use-module (gnu packages python-build) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) @@ -102,11 +103,9 @@ (base32 "0lsg791x6n95pxg6vif8qfc46nqcamhjq3g0dl5xqf6imy7n3acd")))) (build-system glib-or-gtk-build-system) (native-inputs - `(("clang" ,clang) - ("pkg-config" ,pkg-config) - ("python" ,python-wrapper))) + (list clang pkg-config python-wrapper)) (inputs - `(("glib" ,glib))) + (list glib)) (synopsis "Code checker for C") (description "Pedansee checks C source files for compliance with a particular programming style. The style is currently defined by the pedansee source code @@ -148,7 +147,27 @@ like Jasmine or Mocha.") version "/check-" version ".tar.gz")) (sha256 (base32 - "02m25y9m46pb6n46s51av62kpd936lkfv3b13kfpckgvmh5lxpm8")))) + "02m25y9m46pb6n46s51av62kpd936lkfv3b13kfpckgvmh5lxpm8")) + (patches + (list + ;; This patch fixes some tests that would otherwise fail on + ;; powerpc64le-linux. Without this patch, the tests make certain + ;; assumptions about floating point number precision that are not true + ;; on that platform. + ;; + ;; TODO: Remove this patch when updating to the next check release, + ;; since it will be included there. See: + ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=47698 + (origin + (method url-fetch) + (uri + (string-append "https://github.com/libcheck/check/commit/" + "4fbe702fa4f35bee8a90512f9f59d1441c4ae82e.patch")) + (file-name (string-append name + "-fix-test-precision-for-ppc.patch")) + (sha256 + (base32 + "04qg1p9afdd6453k18qskazrvscysdcjz9j6w4i6p5x4xyma19v6"))))))) (build-system gnu-build-system) (home-page "https://libcheck.github.io/check/") (synopsis "Unit test framework for C") @@ -227,7 +246,7 @@ source code editors and IDEs.") (string-append out "/share/doc/clitest-" ,version)) #t)))))) (native-inputs - `(("perl" ,perl))) ;for tests + (list perl)) ;for tests (synopsis "Command line test tool") (description "@command{clitest} is a portable shell script that performs automatic @@ -255,9 +274,7 @@ testing of Unix command lines.") (replace 'bootstrap (lambda _ (invoke "autoreconf" "-vfi")))))) (native-inputs - `(("automake" ,automake) - ("autoconf" ,autoconf) - ("libtool" ,libtool))) + (list automake autoconf libtool)) (home-page "http://cunit.sourceforge.net/") (synopsis "Automated testing framework for C") (description @@ -416,7 +433,7 @@ a multi-paradigm automated test framework for C++ and Objective-C.") "100r0kmra8jmra2hv92lzvwcmphpaiccwvq3lpdsa5b7hailhach")))) (build-system cmake-build-system) (inputs - `(("python" ,python-wrapper))) + (list python-wrapper)) (synopsis "Automated test framework for C++ and Objective-C") (description "Catch2 stands for C++ Automated Test Cases in Headers and is a multi-paradigm automated test framework for C++ and Objective-C.") @@ -439,12 +456,9 @@ a multi-paradigm automated test framework for C++ and Objective-C.") (build-system python-build-system) (arguments `(#:tests? #f)) ;requires Python 2! (native-inputs - `(("python-coverage-test-runner" ,python-coverage-test-runner) - ("python" ,python))) + (list python-coverage-test-runner python)) (inputs - `(("python-cliapp" ,python-cliapp) - ("python-markdown" ,python-markdown) - ("python-ttystatus" ,python-ttystatus))) + (list python-cliapp python-markdown python-ttystatus)) (home-page "https://liw.fi/cmdtest/") (synopsis "Black box Unix program tester") (description @@ -538,7 +552,7 @@ normally do not detect. The goal is to detect only real errors in the code (copy-recursively "../sample" (string-append doc-dir "/sample")) #t)))))) (propagated-inputs - `(("python-ply" ,python-ply))) + (list python-ply)) (home-page "https://cxxtest.com/") (synopsis "Unit testing framework for C++") (description "CxxTest is a unit testing framework for C++ that is similar @@ -613,7 +627,7 @@ test) much simpler.") (arguments '(#:import-path "github.com/smartystreets/assertions")) (native-inputs - `(("go-github.com-smartystreets-gunit" ,go-github.com-smartystreets-gunit))) + (list go-github.com-smartystreets-gunit)) (synopsis "Assertions for testing with Go") (description "The @code{assertions} package provides convenient assertion functions @@ -638,8 +652,7 @@ for writing tests in Go.") (arguments '(#:import-path "github.com/smartystreets/goconvey")) (propagated-inputs - `(("go-github.com-jtolds-gls" ,go-github.com-jtolds-gls) - ("go-github.com-smartystreets-assertions" ,go-github.com-smartystreets-assertions))) + (list go-github.com-jtolds-gls go-github.com-smartystreets-assertions)) (synopsis "Go testing tool with both a web and terminal user interface") (description "GoConvey is a testing tool for Go. It integrates with go test, can show @@ -650,7 +663,7 @@ test coverage and has a web user interface that will refresh automatically.") (define-public googletest (package (name "googletest") - (version "1.10.0") + (version "1.11.0") (source (origin (method git-fetch) @@ -659,7 +672,7 @@ test coverage and has a web user interface that will refresh automatically.") (commit (string-append "release-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1zbmab9295scgg4z2vclgfgjchfjailjnvzc6f5x9jvlsdi3dpwz")))) + (base32 "0pd4y1gpx1z8fiyarkvqlmk6hbv0lc8fr00ivnsvqzi1xg34jfaa")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON"))) @@ -716,7 +729,7 @@ similar to unit tests.") (define-public cpputest (package (name "cpputest") - (version "3.8") + (version "4.0") (source (origin (method url-fetch) @@ -724,10 +737,10 @@ similar to unit tests.") version "/cpputest-" version ".tar.gz")) (sha256 (base32 - "0mk48xd3klyqi7wf3f4wn4zqxxzmvrhhl32r25jzrixzl72wq7f8")))) + "1xslavlb1974y5xvs8n1j9zkk05dlw8imy4saasrjlmibl895ii1")))) (build-system gnu-build-system) (native-inputs - `(("googletest" ,googletest))) + (list googletest)) (home-page "https://cpputest.github.io/") (synopsis "Unit testing and mocking framework for C/C++") (description @@ -756,8 +769,7 @@ but it works for any C/C++ project.") (format #t "test suite not run~%")) #t))))) (native-inputs - `(("python-mock" ,python-mock) - ("python-nose" ,python-nose))) + (list python-mock python-nose)) (home-page "https://github.com/wolever/parameterized") (synopsis "Parameterized testing with any Python test framework") (description @@ -809,7 +821,7 @@ doctest.") (base32 "1hrp6j0yrx2xzylfv02qa8kph661m6yq4p0mc8fnimch9j4psrc3")))) (propagated-inputs - `(("python-six" ,python-six))) + (list python-six)) (build-system python-build-system) (arguments ;; FIXME: Tests require "pytest", which depends on this package. @@ -870,9 +882,7 @@ available via the @code{unittest.mock} module.") (build-system python-build-system) (arguments `(#:tests? #f)) ; 'module' object has no attribute 'collector' (propagated-inputs - `(("python-cov-core" ,python-cov-core) - ("python-pytest-cov" ,python-pytest-cov) - ("python-six" ,python-six))) + (list python-cov-core python-pytest-cov python-six)) (home-page "https://github.com/nose-devs/nose2") (synopsis "Next generation of nicer testing for Python") (description @@ -907,8 +917,7 @@ interfaces and processes.") (lambda _ (zero? (system* "python" "-m" "unittest2" "discover" "--verbose"))))))) (propagated-inputs - `(("python-six" ,python-six) - ("python-traceback2" ,python-traceback2))) + (list python-six python-traceback2)) (home-page "https://pypi.org/project/unittest2/") (synopsis "Python unit testing library") (description @@ -922,39 +931,46 @@ standard library.") (define-public python-pytest (package (name "python-pytest") - (version "5.3.5") + (version "6.2.5") (source (origin (method url-fetch) (uri (pypi-uri "pytest" version)) (sha256 (base32 - "139i9cjhrv5aici3skq8iihvfb3lq0d8xb5j7qycr2hlk8cfjpqd")))) + "12cyi0lnyaq8sdqfnqlppd76gkw6zcg10gyih5knx9v611l3c6qk")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases + (add-before 'build 'pretend-version + ;; The version string is usually derived via setuptools-scm, but + ;; without the git metadata available, the version string is set to + ;; '0.0.0'. + (lambda _ + (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" ,version))) (replace 'check (lambda* (#:key (tests? #t) #:allow-other-keys) + (setenv "TERM" "dumb") ;attempt disabling markup tests (if tests? (invoke "pytest" "-vv" "-k" (string-append - ;; These tests involve the /usr directory, and fails. - "not test_remove_dir_prefix" - " and not test_argcomplete" - ;; This test tries to override PYTHONPATH, and - ;; subsequently fails to locate the test libraries. - " and not test_collection")) - (format #t "test suite not run~%")) - #t))))) + ;; This test involves the /usr directory, and fails. + " not test_argcomplete" + ;; These test do not honor the isatty detection and + ;; fail. + " and not test_code_highlight" + " and not test_color_yes")) + (format #t "test suite not run~%"))))))) (propagated-inputs - `(("python-atomicwrites" ,python-atomicwrites) - ("python-attrs" ,python-attrs-bootstrap) + `(("python-attrs" ,python-attrs-bootstrap) + ("python-iniconfig" ,python-iniconfig) ("python-more-itertools" ,python-more-itertools) ("python-packaging" ,python-packaging-bootstrap) ("python-pluggy" ,python-pluggy) ("python-py" ,python-py) ("python-six" ,python-six-bootstrap) + ("python-toml" ,python-toml) ("python-wcwidth" ,python-wcwidth))) (native-inputs `(;; Tests need the "regular" bash since 'bash-final' lacks `compgen`. @@ -964,6 +980,7 @@ standard library.") ("python-mock" ,python-mock) ("python-pytest" ,python-pytest-bootstrap) ("python-setuptools-scm" ,python-setuptools-scm) + ("python-toml" ,python-toml) ("python-xmlschema" ,python-xmlschema))) (home-page "https://docs.pytest.org/en/latest/") (synopsis "Python testing library") @@ -974,52 +991,18 @@ and many external plugins.") (license license:expat) (properties `((python2-variant . ,(delay python2-pytest)))))) -(define-public python-pytest-6 +(define-public python-pytest-6.1 (package - (inherit (strip-python2-variant python-pytest)) - (version "6.2.4") + (inherit python-pytest) + (version "6.1.2") (source - (origin - (method url-fetch) - (uri (pypi-uri "pytest" version)) - (sha256 - (base32 - "0jy5f83la1864ss42dhsi1mcm5nl79d8bjg7wk474nlw1c5avg2h")))) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-version - ;; The version string is usually derived via setuptools-scm, but - ;; without the git metadata available, the version string is set to - ;; '0.0.0'. - (lambda _ - (substitute* "setup.py" - (("setup\\(\\)") - (format #f "setup(version=~s)" ,version))))) - (replace 'check - (lambda* (#:key (tests? #t) #:allow-other-keys) - (setenv "TERM" "dumb") ;attempt disabling markup tests - (if tests? - (invoke "pytest" "-vv" "-k" - (string-append - ;; This test involves the /usr directory, and fails. - " not test_argcomplete" - ;; These test do not honor the isatty detection and - ;; fail. - " and not test_code_highlight" - " and not test_color_yes")) - (format #t "test suite not run~%"))))))) - (propagated-inputs - (append (alist-delete "python-py" - (package-propagated-inputs python-pytest)) - `(("python-iniconfig" ,python-iniconfig) - ("python-py" ,python-py-next)))) - (native-inputs - (append (fold alist-delete (package-native-inputs python-pytest) - '("python-mock" - "python-pytest")) - `(("python-pytest" ,python-pytest-6-bootstrap) - ("python-toml" ,python-toml)))))) + (origin + (method url-fetch) + (uri (pypi-uri "pytest" version)) + (sha256 + (base32 "0gl2sdm322vzmsh5k4f8kj9raiq2y7kdinnca4m45ifvii5fk9y0")))))) + +(define-public python-pytest-6 python-pytest) ;; Pytest 4.x are the last versions that support Python 2. (define-public python2-pytest @@ -1061,19 +1044,11 @@ and many external plugins.") (package (inherit (strip-python2-variant python-pytest)) (name "python-pytest-bootstrap") - (native-inputs `(("python-setuptools-scm" ,python-setuptools-scm))) + (native-inputs (list python-iniconfig python-setuptools-scm + python-toml)) (arguments `(#:tests? #f)) (properties `((python2-variant . ,(delay python2-pytest-bootstrap)))))) -(define-public python-pytest-6-bootstrap - (package - (inherit (strip-python2-variant python-pytest-6)) - (name "python-pytest-bootstrap") - (arguments `(#:tests? #f)) - (native-inputs - `(("python-setuptools-scm" ,python-setuptools-scm) - ("python-toml" ,python-toml))))) - (define-public python2-pytest-bootstrap (hidden-package (package/inherit @@ -1114,8 +1089,7 @@ and many external plugins.") (when tests? (invoke "pytest"))))))) (propagated-inputs - `(("python-pytest" ,python-pytest) - ("python-six" ,python-six))) + (list python-pytest python-six)) (home-page "https://github.com/astraw38/pytest-assume") (synopsis "Pytest plugin that allows multiple failures per test") @@ -1151,8 +1125,7 @@ following improvements: (invoke "python" "./setup.py" "check" "--strict" "--metadata")))))) (propagated-inputs - `(("python-coverage" ,python-coverage) - ("python-pytest" ,python-pytest))) + (list python-coverage python-pytest)) (home-page "https://github.com/pytest-dev/pytest-cov") (synopsis "Pytest plugin for measuring coverage") (description @@ -1176,15 +1149,15 @@ supports coverage of subprocesses.") "0vbls0j570l5my83j4jnk5blmnir44i0w511azlh41nl6k8rac5f")))) (build-system python-build-system) (native-inputs - `(("python-pytest" ,python-pytest))) + (list python-pytest)) (propagated-inputs - `(("python-werkzeug" ,python-werkzeug))) + (list python-werkzeug)) (arguments '(#:phases (modify-phases %standard-phases (add-before 'check 'fix-library-loading (lambda _ - (setenv "PYTHONPATH" (string-append (getenv "PYTHONPATH") ":.")))) + (setenv "GUIX_PYTHONPATH" (string-append (getenv "GUIX_PYTHONPATH") ":.")))) (replace 'check (lambda _ (invoke "pytest" "tests" "-vv") @@ -1213,7 +1186,7 @@ contacting the real http server.") (when tests? (invoke "python" "-m" "pytest" "--random-order"))))))) (propagated-inputs - `(("python-pytest" ,python-pytest))) + (list python-pytest)) (home-page "https://github.com/jbasko/pytest-random-order") (synopsis "Pytest plugin to randomize the order of tests") (description "@code{pytest-random-order} is a Pytest plugin that @@ -1249,7 +1222,7 @@ reported in a previous test run.") (format #t "test suite not run~%")) #t))))) (native-inputs - `(("python-setuptools-scm" ,python-setuptools-scm))) + (list python-setuptools-scm)) (home-page "https://github.com/pytest-dev/pytest-runner") (synopsis "Invoke py.test as a distutils command") (description @@ -1296,7 +1269,7 @@ reported in a previous test run.") (add-installed-pythonpath inputs outputs) (invoke "pytest" "-vv")))))) (propagated-inputs - `(("python-pytest" ,python-pytest))) + (list python-pytest)) (home-page "https://github.com/tvorog/pytest-lazy-fixture") (synopsis "Use fixtures in @code{pytest.mark.parametrize}") (description "This plugin helps to use fixtures in @@ -1329,10 +1302,9 @@ reported in a previous test run.") (invoke "pytest" "--assert=plain" "-k" "not test_standalone_mock"))))))) (native-inputs - `(("python-setuptools-scm" ,python-setuptools-scm))) + (list python-pytest-asyncio python-setuptools-scm)) (propagated-inputs - `(("python-pytest" ,python-pytest) - ("python-pytest-asyncio" ,python-pytest-asyncio))) + (list python-pytest)) (home-page "https://github.com/pytest-dev/pytest-mock/") (synopsis "Thin-wrapper around the mock package for easier use with py.test") (description @@ -1358,6 +1330,8 @@ same arguments.") "1i5mg3ff1qk0wqfcxfz60hwy3q5dskdp36i10ckigkzffg8hc3ad")))) (arguments `(#:python ,python-2)) + (native-inputs + `(("python2-setuptools-scm" ,python2-setuptools-scm))) (propagated-inputs `(("python2-mock" ,python2-mock) ("python2-pytest" ,python2-pytest)))))) @@ -1365,20 +1339,32 @@ same arguments.") (define-public python-pytest-xdist (package (name "python-pytest-xdist") - ;; There is an issue that causes all releases after 1.34 to fail on Pytest - ;; 5 (see: https://github.com/pytest-dev/pytest-xdist/issues/697). - (version "1.34.0") + (version "2.1.0") (source (origin (method url-fetch) (uri (pypi-uri "pytest-xdist" version)) (sha256 (base32 - "1vh4ps32lp5ignch5adbl3pgchvigdfmrl6qpmhxih54wa1qw3il")))) + "0wh6pn66nncfs6ay0n863bgyriwsgppn8flx5l7551j1lbqkinc2")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove pre-compiled .pyc files from source. + (for-each delete-file-recursively + (find-files "." "__pycache__" #:directories? #t)) + (for-each delete-file (find-files "." "\\.pyc$")) + #t)))) (build-system python-build-system) (arguments - `(#:phases + '(#:tests? #f ; Lots of tests fail. + #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-setup-py + (lambda _ + ;; Relax pytest requirement. + (substitute* "setup.py" + (("pytest>=6\\.0\\.0") "pytest")))) (replace 'check (lambda* (#:key inputs outputs tests? #:allow-other-keys) (when tests? @@ -1386,11 +1372,9 @@ same arguments.") (invoke "pytest" "-vv" "-n" (number->string (parallel-job-count))))))))) (native-inputs - `(("python-setuptools-scm" ,python-setuptools-scm))) + (list python-setuptools-scm)) (propagated-inputs - `(("python-execnet" ,python-execnet) - ("python-pytest" ,python-pytest) - ("python-pytest-forked" ,python-pytest-forked))) + (list python-execnet python-pytest python-py python-pytest-forked)) (home-page "https://github.com/pytest-dev/pytest-xdist") (synopsis @@ -1443,10 +1427,9 @@ result back.") (add-installed-pythonpath inputs outputs) (invoke "pytest" "-vv")))))) (propagated-inputs - `(("python-pytest" ,python-pytest) - ("python-pytest-cov" ,python-pytest-cov))) + (list python-pytest python-pytest-cov)) (native-inputs - `(("python-pexpect" ,python-pexpect))) + (list python-pexpect)) (home-page "https://github.com/pytest-dev/pytest-timeout") (synopsis "Plugin for py.test to abort hanging tests") (description @@ -1511,7 +1494,7 @@ side-effects (such as setting environment variables).") "0f4w84k8ck82syys7yg9maz93mqzc8p5ymis941x034v44jzq74m")))) (build-system python-build-system) (native-inputs - `(("python-pytest" ,python-pytest))) + (list python-pytest)) (home-page (string-append "https://web.archive.org/web/20161029233413/" "http://pythonpaste.org/scripttest/")) (synopsis "Python library to test command-line scripts") @@ -1523,25 +1506,20 @@ subprocess and see the output as well as any file modifications.") (define-public python-testtools-bootstrap (package (name "python-testtools-bootstrap") - (version "2.3.0") + (version "2.5.0") (source (origin (method url-fetch) (uri (pypi-uri "testtools" version)) (sha256 (base32 - "0n8519lk8aaa91vymz842831181wf7fss98hyllhygi3z1nfq9sq")) - (patches (search-patches "python-testtools.patch")))) + "0gxjbjk93jjqi491k4s9rh3ia37v21yifd35pvizv7sgv4rk9hap")))) (build-system python-build-system) (arguments '(#:tests? #f)) (propagated-inputs `(("python-extras" ,python-extras) ("python-fixtures" ,python-fixtures-bootstrap) - ("python-mimeparse" ,python-mimeparse) - ("python-pbr" ,python-pbr-minimal) - ("python-six" ,python-six) - ("python-traceback2" ,python-traceback2) - ("python-unittest2" ,python-unittest2))) + ("python-pbr" ,python-pbr-minimal))) (home-page "https://github.com/testing-cabal/testtools") (synopsis "Extensions to the Python standard library unit testing framework") @@ -1554,19 +1532,15 @@ subprocess and see the output as well as any file modifications.") (inherit python-testtools-bootstrap) (name "python-testtools") (arguments - `(#:phases (modify-phases %standard-phases - (replace 'check - (lambda _ - (invoke "python" "-m" "testtools.run" - "testtools.tests.test_suite")))))) + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "python" "-m" "testtools.run" + "testtools.tests.test_suite"))))))) (propagated-inputs - `(("python-extras" ,python-extras) - ("python-fixtures" ,python-fixtures) - ("python-mimeparse" ,python-mimeparse) - ("python-pbr" ,python-pbr) - ("python-six" ,python-six) - ("python-traceback2" ,python-traceback2) - ("python-unittest2" ,python-unittest2))) + (list python-extras python-fixtures python-pbr)) (native-inputs `(("python-testscenarios" ,python-testscenarios-bootstrap))) (description @@ -1606,8 +1580,7 @@ compatibility."))) (inherit python-testscenarios-bootstrap) (name "python-testscenarios") (propagated-inputs - `(("python-pbr" ,python-pbr) - ("python-testtools" ,python-testtools))) + (list python-pbr python-testtools)) (description "Testscenarios provides clean dependency injection for Python unittest style tests."))) @@ -1641,11 +1614,10 @@ testresources package instead.") (inherit python-testresources-bootstrap) (name "python-testresources") (propagated-inputs - `(("python-pbr" ,python-pbr))) + (list python-pbr)) (arguments '()) (native-inputs - `(("python-fixtures" ,python-fixtures) - ("python-testtols" ,python-testtools))) + (list python-fixtures python-testtools)) (description "Testresources is an extension to Python's unittest to allow declarative use of resources by test cases."))) @@ -1663,12 +1635,10 @@ use of resources by test cases."))) "0j0ymmnc5nfxi1qzvy59j27viqca7l7xd0y9x29g7yr0h693j804")))) (build-system python-build-system) (propagated-inputs - `(("python-extras" ,python-extras) - ("python-testtools" ,python-testtools-bootstrap))) + (list python-extras python-testtools-bootstrap)) (native-inputs - `(("python-fixtures" ,python-fixtures-bootstrap) - ("python-hypothesis" ,python-hypothesis) - ("python-testscenarios" ,python-testscenarios-bootstrap))) + (list python-fixtures-bootstrap python-hypothesis + python-testscenarios-bootstrap)) (home-page "https://launchpad.net/subunit") (synopsis "Python implementation of the subunit protocol") (description @@ -1681,12 +1651,9 @@ python-subunit package instead.") (inherit python-subunit-bootstrap) (name "python-subunit") (propagated-inputs - `(("python-extras" ,python-extras) - ("python-testtools" ,python-testtools))) + (list python-extras python-testtools)) (native-inputs - `(("python-fixtures" ,python-fixtures) - ("python-hypothesis" ,python-hypothesis) - ("python-testscenarios" ,python-testscenarios))) + (list python-fixtures python-hypothesis python-testscenarios)) (description "Python-subunit is a Python implementation of the subunit test streaming protocol."))) @@ -1697,17 +1664,23 @@ protocol."))) (package (name "python-fixtures-bootstrap") (version "3.0.0") - (source (origin - (method url-fetch) - (uri (pypi-uri "fixtures" version)) - (sha256 - (base32 - "1vxj29bzz3rd4pcy51d05wng9q9dh4jq6wx92yklsm7i6h1ddw7w")))) + (source + (origin + (method url-fetch) + (uri (pypi-uri "fixtures" version)) + (sha256 + (base32 + "1vxj29bzz3rd4pcy51d05wng9q9dh4jq6wx92yklsm7i6h1ddw7w")) + (patches (search-patches "python-fixtures-remove-monkeypatch-test.patch")))) (build-system python-build-system) - (arguments `(#:tests? #f)) + (arguments + `(#:tests? #f + #:phases + (modify-phases %standard-phases + ;; Package is not loadable on its own at this stage. + (delete 'sanity-check)))) (propagated-inputs - `(("python-pbr-minimal" ,python-pbr-minimal) - ("python-six" ,python-six))) + (list python-pbr-minimal python-six)) (home-page "https://launchpad.net/python-fixtures") (synopsis "Python test fixture library") (description @@ -1723,13 +1696,13 @@ python-fixtures package instead.") '(#:phases (modify-phases %standard-phases (replace 'check - (lambda _ - (invoke "python" "-m" "testtools.run" - "fixtures.test_suite")))))) + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "python" "-m" "testtools.run" + "fixtures.test_suite"))))))) (propagated-inputs ;; Fixtures uses pbr at runtime to check versions, etc. - `(("python-pbr" ,python-pbr) - ("python-six" ,python-six))) + (list python-pbr python-six)) (native-inputs `(("python-mock" ,python-mock) ("python-testtools" ,python-testtools-bootstrap))) @@ -1755,7 +1728,7 @@ Python tests."))) ("python-subunit" ,python-subunit-bootstrap) ("python-testtools" ,python-testtools-bootstrap))) (native-inputs - `(("python-mimeparse" ,python-mimeparse))) + (list python-mimeparse)) (home-page "https://launchpad.net/testrepository") (synopsis "Database for Python test results") (description @@ -1770,11 +1743,9 @@ Python tests."))) ;; FIXME: Many tests are failing. '(#:tests? #f)) (propagated-inputs - `(("python-fixtures" ,python-fixtures) - ("python-subunit" ,python-subunit) - ("python-testtools" ,python-testtools))) + (list python-fixtures python-subunit python-testtools)) (native-inputs - `(("python-mimeparse" ,python-mimeparse))) + (list python-mimeparse)) (description "Testrepository provides a database of test results which can be used as part of a developer's workflow to check things such as what tests have failed since the last commit or what tests are currently failing."))) @@ -1809,9 +1780,7 @@ executed.") (define-public python-pytest-asyncio (package (name "python-pytest-asyncio") - ;; Version 0.10.0 is the last version which is compatible with Pytest <= - ;; 5.4.0. - (version "0.10.0") + (version "0.15.1") (source (origin (method git-fetch) ;for tests @@ -1820,23 +1789,11 @@ executed.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "1m63b7nbph5z20mn8jgh6j9ac873i1k4in29x44vrkw3qwfwg13y")) - (patches (search-patches "python-pytest-asyncio-python-3.8.patch")))) + (base32 "03drs4myv1ik79148xyhli37q6mp931jb14cz65n8qvls2zvvwgx")))) (build-system python-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda* (#:key inputs outputs tests? #:allow-other-keys) - (when tests? - (add-installed-pythonpath inputs outputs) - (invoke "pytest" "-vv"))))))) (native-inputs - `(("python-coverage" ,python-coverage) - ("python-async-generator" ,python-async-generator) - ("python-hypothesis" ,python-hypothesis) - ("python-pytest" ,python-pytest))) + (list python-coverage python-async-generator python-hypothesis + python-pytest)) (home-page "https://github.com/pytest-dev/pytest-asyncio") (synopsis "Pytest support for asyncio") (description "Python asyncio code is usually written in the form of @@ -1858,7 +1815,7 @@ to make testing async code easier.") "0k3np9ymh06yv1ib96sb6wfsxjkqhmik8qfsn119vnhga9ywc52a")))) (build-system python-build-system) (propagated-inputs - `(("python-coverage" ,python-coverage))) + (list python-coverage)) (home-page "https://github.com/schlamar/cov-core") (synopsis "Coverage plugin core for pytest-cov, nose-cov and nose2-cov") (description @@ -1883,10 +1840,9 @@ testing frameworks.") "1217c0vqf7ii65635gvl27a5pfhv0r7zhrpdp9cx640hg73bgn4f")))) (build-system python-build-system) (native-inputs - `(("python-unittest2" ,python-unittest2))) + (list python-unittest2)) (propagated-inputs - `(("python-coverage" ,python-coverage) - ("python-requests" ,python-requests))) + (list python-coverage python-requests)) (home-page "https://github.com/codecov/codecov-python") (synopsis "Upload code coverage reports to @code{codecov.io}") (description @@ -1934,7 +1890,7 @@ C/C++, R, and more, and uploads it to the @code{codecov.io} service.") wheel (string-append "--prefix=" out))) (find-files "dist" "\\.whl$")))))))) (native-inputs - `(("python-flit" ,python-flit))) + (list python-flit)) (home-page "https://github.com/takluyver/testpath") (synopsis "Test utilities for code working with files and commands") (description @@ -1955,7 +1911,7 @@ tools for mocking system commands and recording calls to those.") (base32 "1mz26cxn4x8bbgv0rn0mvj2z05y31rkc8009nvdlb3lam5b4mj3y")))) (build-system python-build-system) (native-inputs - `(("unzip" ,unzip))) ; for unpacking the source + (list unzip)) ; for unpacking the source (synopsis "Python micro test suite harness") (description "A micro unittest suite harness for Python.") (home-page "https://github.com/trentm/testlib") @@ -1977,10 +1933,7 @@ tools for mocking system commands and recording calls to those.") "1a873fihw4rhshc722j4h6j7g3nj7xpgsna9hhg3zn6ksknnhx5y")))) (build-system python-build-system) (propagated-inputs - `(("python-apipkg" ,python-apipkg) - ("python-execnet" ,python-execnet) - ("python-py" ,python-py) - ("python-pytest" ,python-pytest))) + (list python-apipkg python-execnet python-py python-pytest)) (synopsis "Py.test plugin with mechanisms for caching across test runs") (description "The pytest-cache plugin provides tools to rerun failures from the last py.test invocation.") @@ -2008,11 +1961,9 @@ the last py.test invocation.") (lambda _ (invoke "py.test" "-v")))))) (native-inputs - `(("python-pytest" ,python-pytest) - ("python-requests" ,python-requests) - ("python-six" ,python-six))) + (list python-pytest python-requests python-six)) (propagated-inputs - `(("python-werkzeug" ,python-werkzeug))) + (list python-werkzeug)) (synopsis "Py.test plugin to test server connections locally") (description "Pytest-localserver is a plugin for the pytest testing framework which enables you to test server connections locally.") @@ -2031,15 +1982,13 @@ framework which enables you to test server connections locally.") "0rm2rchrr63imn44xk5slwydxf8gvy579524qcxq7dc42pnk17zx")))) (build-system python-build-system) (native-inputs - `(("python-setuptools-scm" ,python-setuptools-scm))) + (list python-setuptools-scm)) (propagated-inputs - `(("python-pytest" ,python-pytest) - ("python-pytest-cache" ,python-pytest-cache) - ("python-psutil" ,python-psutil))) + (list python-pytest python-psutil)) (synopsis "Pytest plugin to manage external processes across test runs") (description "Pytest-xprocess is an experimental py.test plugin for managing processes across test runs.") - (home-page "https://github.com/pytest-dev/pytest-xprocess") + (home-page "https://github.com/pytest-dev/pytest-xprocess/") (license license:expat))) (define-public python-pytest-subtesthack @@ -2054,7 +2003,7 @@ processes across test runs.") "15kzcr5pchf3id4ikdvlv752rc0j4d912n589l4rifp8qsj19l1x")))) (build-system python-build-system) (propagated-inputs - `(("python-pytest" ,python-pytest))) + (list python-pytest)) (synopsis "Set-up and tear-down fixtures for unit tests") (description "This plugin allows you to set up and tear down fixtures within unit test functions that use @code{py.test}. This is useful for using @@ -2079,9 +2028,7 @@ normally the case.") (base32 "1i0hv3h49zvl62jbiyjag84carbrp3zprqzxffdr291nxavvac0n")))) (build-system python-build-system) (propagated-inputs - `(("python-packaging" ,python-packaging) - ("python-pytest" ,python-pytest) - ("python-termcolor" ,python-termcolor))) + (list python-packaging python-pytest python-termcolor)) (home-page "https://pivotfinland.com/pytest-sugar/") (synopsis "Plugin for pytest that changes the default look and feel") (description @@ -2093,13 +2040,13 @@ instantly.") (define-public python-hypothesis (package (name "python-hypothesis") - (version "5.4.1") + (version "6.0.2") (source (origin (method url-fetch) (uri (pypi-uri "hypothesis" version)) (sha256 (base32 - "0zn09bn6hadk4vxl6jy8bkjr5fz8mrhin3z46w7pq5qgbaycr89p")))) + "0wj7ip779naf2n076nylf2gi0sjz68z1ir9d9r2rgs7br18naqdf")))) (build-system python-build-system) (arguments ;; XXX: Tests are not distributed with the PyPI archive. @@ -2116,28 +2063,16 @@ seamlessly into your existing Python unit testing work flow.") (license license:mpl2.0) (properties `((python2-variant . ,(delay python2-hypothesis)))))) -(define-public python-hypothesis-5.23 - (package - (inherit python-hypothesis) - (version "5.23.0") - (source (origin - (method url-fetch) - (uri (pypi-uri "hypothesis" version)) - (sha256 - (base32 - "0sy1v6nyxg4rjcf3rlr8nalb7wqd9nccpb2lzkchbj5an13ysf1h")))) - (home-page "https://github.com/HypothesisWorks/hypothesis"))) - (define-public python-hypothesis-6.23 (package (inherit python-hypothesis) - (version "6.23.2") + (version "6.23.4") (source (origin (method url-fetch) (uri (pypi-uri "hypothesis" version)) (sha256 (base32 - "0lqhfrqsd81apchz93pdqfn85kx0p790w8hhd9qq85692rwja6xp")))))) + "0wp8i9qmd5wl1sq1l2b97fgliyk5fyphssl6j7q5qn5zjlfgi4qs")))))) ;; This is the last version of Hypothesis that supports Python 2. (define-public python2-hypothesis @@ -2152,25 +2087,23 @@ seamlessly into your existing Python unit testing work flow.") (base32 "183gpxbfcdhdqzlahkji5a71n6lmvgqsbkcb0ihqad51n2j6jhrw")))) (propagated-inputs - `(("python2-enum34" ,python2-enum34) - ,@(package-propagated-inputs hypothesis)))))) + (modify-inputs (package-propagated-inputs hypothesis) + (prepend python2-enum34)))))) (define-public python-hypothesmith (package (name "python-hypothesmith") - (version "0.1.2") + (version "0.1.8") (source (origin (method url-fetch) (uri (pypi-uri "hypothesmith" version)) (sha256 (base32 - "09331sspknv459xcyn1k0lx5flqlc6gmnwp9370pfvg4kg1zmss6")))) + "02j101m5grjrbvrgjap17jsxd1hgawkylmyswcn33vf42mxh9zzr")))) (build-system python-build-system) (propagated-inputs - `(("python-hypothesis" ,python-hypothesis-5.23) - ("python-lark-parser" ,python-lark-parser) - ("python-libcst" ,python-libcst))) + (list python-hypothesis python-lark-parser python-libcst-minimal)) (home-page "https://github.com/Zac-HD/hypothesmith") (synopsis "Strategies for generating Python programs") (description @@ -2181,14 +2114,14 @@ programs, something like CSmith, a random generator of C programs.") (define-public python-lit (package (name "python-lit") - (version "0.5.1") + (version "12.0.1") (source (origin (method url-fetch) (uri (pypi-uri "lit" version)) (sha256 (base32 - "0z651m3vkbk85y41larnsjxrszkbi58x9gzml3lb6ga7qwcrsg97")))) + "01yggsb73s2gbq36xwifxl6k5ll5lkss5rwz59k9h3jnbnn7m5fj")))) (build-system python-build-system) (arguments `(#:phases @@ -2197,7 +2130,7 @@ programs, something like CSmith, a random generator of C programs.") (lambda _ (invoke "python" "lit.py" "tests")))))) (native-inputs - `(("llvm" ,llvm))) + (list llvm)) (home-page "https://llvm.org/") (synopsis "LLVM Software Testing Tool") (description "@code{lit} is a portable tool for executing LLVM and Clang @@ -2205,9 +2138,6 @@ style test suites, summarizing their results, and providing indication of failures.") (license license:ncsa))) -(define-public python2-lit - (package-with-python2 python-lit)) - (define-public python-pytest-pep8 (package (name "python-pytest-pep8") @@ -2220,11 +2150,22 @@ failures.") "06032agzhw1i9d9qlhfblnl3dw5hcyxhagn7b120zhrszbjzfbh3")))) (build-system python-build-system) (arguments - `(#:tests? #f)) ; Fails with recent pytest and pep8. See upstream issues #8 and #12. + `(#:tests? #f ; Fails with recent pytest and pep8. See upstream issues #8 and #12. + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-dependencies + (lambda _ + (substitute* "setup.py" + (("'pytest-cache', ") "")))) ; Included in recent pytest + (replace 'check + (lambda* (#:key tests? inputs outputs #:allow-other-keys) + (when tests? + (add-installed-pythonpath inputs outputs) + (invoke "pytest" "-v"))))))) (native-inputs - `(("python-pytest" ,python-pytest))) + (list python-pytest)) (propagated-inputs - `(("python-pep8" ,python-pep8))) + (list python-pep8)) (home-page "https://bitbucket.org/pytest-dev/pytest-pep8") (synopsis "Py.test plugin to check PEP8 requirements") (description "Pytest plugin for checking PEP8 compliance.") @@ -2255,12 +2196,10 @@ failures.") (add-installed-pythonpath inputs outputs) (invoke "py.test" "-vv" "-k" "not test_syntax_error")))))) (native-inputs - `(("python-coverage" ,python-coverage) - ("python-pytest" ,python-pytest) - ("python-pytest-cache" ,python-pytest-cache) - ("python-pytest-pep8" ,python-pytest-pep8))) + (list python-coverage python-pytest python-pytest-cache + python-pytest-pep8)) (propagated-inputs - `(("python-pyflakes" ,python-pyflakes))) + (list python-pyflakes)) (home-page "https://github.com/fschulze/pytest-flakes") (synopsis "Py.test plugin to check source code with pyflakes") (description "Pytest plugin for checking Python source code with pyflakes.") @@ -2291,7 +2230,7 @@ failures.") (lambda _ (invoke "./testrun")))))) (propagated-inputs - `(("python-coverage" ,python-coverage))) + (list python-coverage)) (home-page "https://liw.fi/coverage-test-runner/") (synopsis "Python module for running unit tests") (description "@code{CoverageTestRunner} is a python module for running @@ -2305,30 +2244,21 @@ statements in the module it tests.") (define-public python-pylint (package (name "python-pylint") - (version "2.5.3") + (version "2.9.6") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/PyCQA/pylint") - (commit (string-append "pylint-" version)))) + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "04cgbh2z1mygar63plzziyz34yg6bdr4i0g63jp256fgnqwb1bi3")))) + (base32 "15yw69v1cj6zkndk60c2g0dgl0khh8bfm1lrwhjffpdjfc7nkc9a")))) (build-system python-build-system) - ;; FIXME: Tests are failing since version 2.4.3, see: - ;; https://github.com/PyCQA/pylint/issues/3198. - (arguments '(#:tests? #f)) (native-inputs - `(("python-pytest" ,python-pytest) - ("python-pytest-runner" ,python-pytest-runner) - ("python-tox" ,python-tox))) + (list python-pytest python-pytest-benchmark python-pytest-runner)) (propagated-inputs - `(("python-astroid" ,python-astroid) - ("python-isort" ,python-isort) - ("python-mccabe" ,python-mccabe) - ("python-six" ,python-six) - ("python-toml" ,python-toml))) + (list python-astroid python-isort python-mccabe python-toml)) (home-page "https://github.com/PyCQA/pylint") (synopsis "Python source code analyzer which looks for coding standard errors") @@ -2381,7 +2311,7 @@ recognize TestCases.") "0gf2dpahpl5igb7jh1sr9acj3z3gp7zahqdqb69nk6wx01c8kc1g")))) (build-system python-build-system) (propagated-inputs - `(("pytest" ,python-pytest))) + (list python-pytest)) (home-page "https://github.com/fschulze/pytest-warnings") (synopsis "Pytest plugin to list Python warnings in pytest report") (description @@ -2410,7 +2340,7 @@ pytest report.") "038049nyjl7di59ycnxvc9nydivc5m8np3hqq84j2iirkccdbs5n")))) (build-system python-build-system) (propagated-inputs - `(("pytest" ,python-pytest))) + (list python-pytest)) (home-page "https://bitbucket.org/memedough/pytest-capturelog/overview") (synopsis "Pytest plugin to catch log messages") (description @@ -2433,9 +2363,9 @@ pytest report.") "1w7wxh27sbqwm4jgwrjr9c2gy384aca5jzw9c0wzhl0pmk2mvqab")))) (build-system python-build-system) (native-inputs - `(("unzip" ,unzip))) + (list unzip)) (propagated-inputs - `(("pytest" ,python-pytest))) + (list python-pytest)) (home-page "https://github.com/eisensheng/pytest-catchlog") (synopsis "Pytest plugin to catch log messages") (description @@ -2458,8 +2388,7 @@ a fork of pytest-capturelog.") "10xqr12qv62k2flxwqhh8cr00cjhn7sfjrm6p35gd1x5bmjkr319")))) (build-system python-build-system) (propagated-inputs - `(("python-coverage" ,python-coverage) - ("python-nose" ,python-nose))) + (list python-coverage python-nose)) (home-page "https://github.com/cmheisel/nose-xcover") (synopsis "Extends nose.plugins.cover to add Cobertura-style XML reports") (description "Nose-xcover is a companion to the built-in @@ -2510,26 +2439,12 @@ backported from Python 2.7 for Python 2.4+.") "behave-skip-a-couple-of-tests.patch")))) (build-system python-build-system) (native-inputs - `(("python-mock" ,python-mock) - ("python-nose" ,python-nose) - ("python-pathpy" ,python-pathpy) - ("python-pyhamcrest" ,python-pyhamcrest) - ("python-pytest" ,python-pytest))) + (list python-mock python-nose python-pathpy python-pyhamcrest + python-pytest)) (propagated-inputs - `(("python-importlib-metadata" ,python-importlib-metadata) - ("python-six" ,python-six) - ("python-parse" ,python-parse) - ("python-parse-type" ,python-parse-type))) + (list python-parse python-parse-type)) (arguments - '(#:test-target "behave_test" - #:phases - (modify-phases %standard-phases - (add-before 'check 'fix-library-loading - (lambda _ - ;; Otherwise, tests fail with no module named 'path' - (setenv "PYTHONPATH" (string-append (getenv "PYTHONPATH") ":" - (getcwd) "/tasks/_vendor")) - #t))))) + '(#:test-target "behave_test")) (home-page "https://github.com/behave/behave") (synopsis "Python behavior-driven development") (description @@ -2562,8 +2477,7 @@ tests written in a natural language style, backed up by Python code.") (("'ordereddict==1.1'") "")) ; Python >= 2.7 has it built-in. #t))))) (propagated-inputs - `(("behave" ,behave) - ("python-requests" ,python-requests))) + (list behave python-requests)) (home-page "https://github.com/jefersondaniel/behave-web-api") (synopsis "Provides testing for JSON APIs with Behave for Python") (description "This package provides testing utility modules for testing @@ -2592,11 +2506,9 @@ JSON APIs with Behave.") (("six==1.10.0") "six")) #t))))) (propagated-inputs - `(("python-colorama" ,python-colorama) - ("python-termstyle" ,python-termstyle))) + (list python-colorama python-termstyle)) (native-inputs - `(("python-six" ,python-six) - ("python-nose" ,python-nose))) + (list python-six python-nose)) (home-page "https://github.com/JBKahn/rednose") (synopsis "Colored output for Python nosetests") (description "This package provides colored output for the @@ -2622,7 +2534,7 @@ JSON APIs with Behave.") "1dvip61r2frjv35mv6mmfjc07402z73pjbndfp3mhxyjn2zhksw2")))) (build-system python-build-system) (native-inputs - `(("python-nose" ,python-nose))) + (list python-nose)) (home-page "https://github.com/fzumstein/nose-random") (synopsis "Nose plugin to facilitate randomized unit testing with Python") @@ -2644,8 +2556,7 @@ scenarios.") (base32 "0z662rqhfk4bjmg806mn4frb8nz4gbh7mrddsrhfffp1g4yklj3y")))) (build-system python-build-system) (native-inputs - `(("python-nose" ,python-nose) - ("python-numpy" ,python-numpy))) + (list python-nose python-numpy)) (home-page "https://github.com/adamchainz/nose-randomly") (synopsis "Nose plugin to randomly order tests and control random.seed") @@ -2672,8 +2583,7 @@ create data based on random numbers and yet remain repeatable.") (base32 "05wzkc88vbzw62pqkvhl33211b90kns0lny70b7qw62rcg4flzk4")))) (build-system python-build-system) (propagated-inputs - `(("python-nose" ,python-nose) - ("python-termcolor" ,python-termcolor))) + (list python-nose python-termcolor)) (home-page "https://github.com/mahmoudimus/nose-timer") (synopsis "Timer plugin for nosetests") (description "Shows how much time was needed to run individual tests.") @@ -2694,11 +2604,9 @@ create data based on random numbers and yet remain repeatable.") (base32 "0al75mk829j1izxi760b7yjnknjihyfhp2mvi5qiyrxb9cpxwqk2")))) (build-system python-build-system) (native-inputs - `(("python-mock" ,python-mock) - ("python-pytest" ,python-pytest))) + (list python-mock python-pytest)) (propagated-inputs - `(("python-six" ,python-six) - ("python-dateutil" ,python-dateutil))) + (list python-six python-dateutil)) (arguments `(#:phases (modify-phases %standard-phases @@ -2780,8 +2688,8 @@ retried.") (sha256 (base32 "05kdzlhs2kvj82pfca13qszszcj6dyrk4b9pbr46x06sq2s4qyls")))) - (native-inputs - `(("python-pytest" ,python-pytest))) + (native-inputs ;all native inputs are for tests + (list python-pytest-cov python-mock python-pytest python-hypothesis)) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -2823,7 +2731,7 @@ portable to just about any platform.") (define-public libfaketime (package (name "libfaketime") - (version "0.9.8") + (version "0.9.9") (home-page "https://github.com/wolfcw/libfaketime") (source (origin (method git-fetch) @@ -2832,35 +2740,41 @@ portable to just about any platform.") (commit (string-append "v" version)))) (sha256 (base32 - "1mfdl82ppgbdvy1ny8mb7xii7p0g7awvn4bn36jb8v4r545slmjc")) + "1gi1xciqga5hl2xlk7rc3j8wy47ag97pi7ngmdl6ny1d11b2wn1z")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments - '(#:phases (modify-phases %standard-phases + `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'embed-date-reference + (lambda* (#:key inputs #:allow-other-keys) + (let ((coreutils (assoc-ref inputs "coreutils"))) + (substitute* "src/faketime.c" + (("\"date\"") + (string-append "\"" coreutils "/bin/date\"")))))) (replace 'configure (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) - (setenv "CC" "gcc") + (setenv "CC" ,(cc-for-target)) (setenv "PREFIX" out) ;; XXX: Without this flag, the CLOCK_REALTIME test hangs ;; indefinitely. See README.packagers for more information. - ;; Try removing this for future versions of libfaketime. - (setenv "FAKETIME_COMPILE_CFLAGS" "-DFORCE_MONOTONIC_FIX") - - #t))) + ;; There are specific instructions to not enable more flags + ;; than absolutely needed. + ,(if (target-ppc64le?) + `(setenv "FAKETIME_COMPILE_CFLAGS" + "-DFORCE_MONOTONIC_FIX -DFORCE_PTHREAD_NONVER") + `(setenv "FAKETIME_COMPILE_CFLAGS" + "-DFORCE_MONOTONIC_FIX"))))) (add-before 'check 'pre-check (lambda _ (substitute* "test/functests/test_exclude_mono.sh" - (("/bin/bash") (which "bash"))) - - ;; Do not fail due to use of 'ftime', which was deprecated in - ;; glibc 2.31. Remove this for later versions of libfaketime. - (setenv "FAKETIME_COMPILE_CFLAGS" "-Wno-deprecated-declarations") - #t))) + (("/bin/bash") (which "bash")))))) #:test-target "test")) (native-inputs - `(("perl" ,perl))) ;for tests + (list perl)) ;for tests + (inputs + (list coreutils)) (synopsis "Fake the system time for single applications") (description "The libfaketime library allows users to modify the system time that an @@ -2891,18 +2805,15 @@ provides a simple way to achieve this.") (("/run") "/tmp")) #t))))) (native-inputs - `(("vala" ,vala) - ("gobject-introspection" ,gobject-introspection) - ("gtk-doc" ,gtk-doc/stable) - ("pkg-config" ,pkg-config) - - ;; For tests. - ("python" ,python) - ("which" ,which))) + (list vala + gobject-introspection + gtk-doc/stable + pkg-config + ;; For tests. + python + which)) (inputs - `(("glib" ,glib) - ("eudev" ,eudev) - ("libgudev" ,libgudev))) + (list glib eudev libgudev)) (home-page "https://github.com/martinpitt/umockdev/") (synopsis "Mock hardware devices for creating unit tests") (description "umockdev mocks hardware devices for creating integration @@ -2963,15 +2874,23 @@ grew out of the @dfn{Vc} project.") (arguments `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-testsuite + (lambda _ + ;; Time difference is larger than expected. + (substitute* "pyfakefs/tests/fake_filesystem_unittest_test.py" + (("(\\s+)def test_copy_real_file" all indent) + (string-append + indent + "@unittest.skip('disabled by guix')\n" + all))))) ;; The default test suite does not run these extra tests. (add-after 'check 'check-pytest-plugin (lambda _ (invoke "python" "-m" "pytest" - "pyfakefs/pytest_tests/pytest_plugin_test.py") - #t))))) + "pyfakefs/pytest_tests/pytest_plugin_test.py")))))) (native-inputs - `(("python-pytest" ,python-pytest))) + (list python-pytest)) (build-system python-build-system) ;; Guix lint doesn't like that this is a permanent redirect to the GitHub ;; page, but the pyfakefs documentation asks us to use this specific URL @@ -3026,10 +2945,9 @@ system. The code under test requires no modification to work with pyfakefs.") (invoke "nosetests" "-v") (format #t "test suite not run~%")) #t))))) - (propagated-inputs `(("python-wrapt" ,python-wrapt))) + (propagated-inputs (list python-wrapt)) (native-inputs - `(("python-coverage" ,python-coverage) - ("python-nose" ,python-nose))) + (list python-coverage python-nose)) (home-page "https://github.com/kwarunek/aiounittest") (synopsis "Test asyncio code more easily") @@ -3050,7 +2968,7 @@ asynchronous code in Python (asyncio).") "0swl3mxca7nnjbb5grfzrm3fa2750h9vjsha0f2kyrljc6895a62")))) (build-system python-build-system) (propagated-inputs - `(("python-pytest" ,python-pytest))) + (list python-pytest)) (home-page "https://github.com/RKrahl/pytest-dependency") (synopsis "Manage dependencies of tests") @@ -3072,10 +2990,9 @@ skipped if any of the dependencies did fail or has been skipped.") "066bg6wlzgq2pqnjp73dfrcmk8951xw3aqcxa3p1axgqimrixbyk")))) (build-system python-build-system) (native-inputs - `(("python-setuptools-scm" ,python-setuptools-scm))) + (list python-setuptools-scm)) (propagated-inputs - `(("python-pytest" ,python-pytest) - ("python-wheel" ,python-wheel))) + (list python-pytest python-wheel)) (home-page "https://github.com/gabrielcnr/pytest-datadir") (synopsis "Pytest plugin for manipulating test data directories and files") (description @@ -3096,19 +3013,17 @@ directories and files.") "05jpsvv8rj8i4x24fphpnar5dl4s6d6bw6ikjk5d8v96rdviz9qm")))) (build-system python-build-system) (propagated-inputs - `(("python-pytest-datadir" ,python-pytest-datadir) - ("python-pyyaml" ,python-pyyaml))) + (list python-pytest-datadir python-pyyaml)) (native-inputs - `(("python-matplotlib" ,python-matplotlib) - ("python-numpy" ,python-numpy) - ("python-pandas" ,python-pandas) - ("python-pillow" ,python-pillow) - ("python-pre-commit" ,python-pre-commit) - ("python-restructuredtext-lint" - ,python-restructuredtext-lint) - ("python-tox" ,python-tox) - ("python-setuptools-scm" ,python-setuptools-scm) - ("python-pytest" ,python-pytest))) + (list python-matplotlib + python-numpy + python-pandas + python-pillow + python-pre-commit + python-restructuredtext-lint + python-tox + python-setuptools-scm + python-pytest)) (home-page "https://github.com/ESSS/pytest-regressions") (synopsis "Easy to use fixtures to write regression tests") (description |