diff options
Diffstat (limited to 'gnu/packages/check.scm')
-rw-r--r-- | gnu/packages/check.scm | 134 |
1 files changed, 51 insertions, 83 deletions
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 1300f9e1a6..7163086ae0 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2015, 2017 Cyril Roelandt <tipecaml@gmail.com> ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2015, 2016, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> ;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym+a@scratchpost.org> @@ -67,6 +67,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-build) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages time) @@ -288,6 +289,55 @@ unit testing. Test output is in XML for automatic testing and GUI based for supervised tests.") (license license:lgpl2.1))) ; no copyright notices. LGPL2.1 is in the tarball +(define-public shunit2 + (package + (name "shunit2") + (version "2.1.8") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kward/shunit2") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "08vs0jjl3pfh100sjlw31x4638xj7fghr0j2g1zfikba8n1f9491")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'configure) ; no configure script + (delete 'build) + (add-after 'patch-source-shebangs 'patch-more-shebangs + (lambda _ + (substitute* "shunit2" + (("#! /bin/sh") (string-append "#! " (which "sh"))) + (("/usr/bin/od") (which "od"))) + (substitute* "test_runner" + (("/bin/sh") (which "sh")) + (("/bin/bash") (which "bash"))) + #t)) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; This test is buggy in the build container. + (delete-file "shunit2_misc_test.sh") + (invoke "sh" "test_runner")) + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (install-file "shunit2" + (string-append (assoc-ref outputs "out") + "/bin")) + #t))))) + (home-page "https://github.com/kward/shunit2") + (synopsis "@code{xUnit} based unit testing for Unix shell scripts") + (description "@code{shUnit2} was originally developed to provide a +consistent testing solution for @code{log4sh}, a shell based logging framework +similar to @code{log4j}. It is designed to work in a similar manner to JUnit, +PyUnit and others.") + (license license:asl2.0))) + ;; When dependent packages upgraded to use newer version of catch, this one should ;; be removed. (define-public catch-framework @@ -1355,9 +1405,6 @@ subprocess and see the output as well as any file modifications.") "This package is only for bootstrapping. Do not use this.") (license license:psfl))) -(define-public python2-testtools-bootstrap - (package-with-python2 python-testtools-bootstrap)) - (define-public python-testtools (package (inherit python-testtools-bootstrap) @@ -1383,9 +1430,6 @@ subprocess and see the output as well as any file modifications.") provide matchers, more debugging information, and cross-Python compatibility."))) -(define-public python2-testtools - (package-with-python2 python-testtools)) - (define-public python-testscenarios-bootstrap (package (name "python-testscenarios-bootstrap") @@ -1413,9 +1457,6 @@ compatibility."))) "This package is only for bootstrapping. Don't use this.") (license (list license:bsd-3 license:asl2.0)))) ; at the user's option -(define-public python2-testscenarios-bootstrap - (package-with-python2 python-testscenarios-bootstrap)) - (define-public python-testscenarios (package (inherit python-testscenarios-bootstrap) @@ -1427,9 +1468,6 @@ compatibility."))) "Testscenarios provides clean dependency injection for Python unittest style tests."))) -(define-public python2-testscenarios - (package-with-python2 python-testscenarios)) - ;; Testresources requires python-pbr at runtime, but pbr needs it for its ;; own tests. Hence this bootstrap variant. (define-public python-testresources-bootstrap @@ -1454,9 +1492,6 @@ style tests."))) testresources package instead.") (license (list license:bsd-3 license:asl2.0)))) ; at the user's option -(define-public python2-testresources-bootstrap - (package-with-python2 python-testresources-bootstrap)) - (define-public python-testresources (package (inherit python-testresources-bootstrap) @@ -1471,9 +1506,6 @@ testresources package instead.") "Testresources is an extension to Python's unittest to allow declarative use of resources by test cases."))) -(define-public python2-testresources - (package-with-python2 python-testresources)) - (define-public python-subunit-bootstrap (package (name "python-subunit-bootstrap") @@ -1500,9 +1532,6 @@ use of resources by test cases."))) python-subunit package instead.") (license (list license:bsd-3 license:asl2.0)))) ; at the user's option -(define-public python2-subunit-bootstrap - (package-with-python2 python-subunit-bootstrap)) - (define-public python-subunit (package (inherit python-subunit-bootstrap) @@ -1518,9 +1547,6 @@ python-subunit package instead.") "Python-subunit is a Python implementation of the subunit test streaming protocol."))) -(define-public python2-subunit - (package-with-python2 python-subunit)) - ;; Fixtures requires python-pbr at runtime, but pbr uses fixtures for its ;; own tests. Hence this bootstrap variant. (define-public python-fixtures-bootstrap @@ -1545,9 +1571,6 @@ protocol."))) python-fixtures package instead.") (license (list license:bsd-3 license:asl2.0)))) ; at user's option -(define-public python2-fixtures-bootstrap - (package-with-python2 python-fixtures-bootstrap)) - (define-public python-fixtures (package (inherit python-fixtures-bootstrap) @@ -1570,9 +1593,6 @@ python-fixtures package instead.") "Fixtures provides a way to create reusable state, useful when writing Python tests."))) -(define-public python2-fixtures - (package-with-python2 python-fixtures)) - (define-public python-testrepository-bootstrap (package (name "python-testrepository-bootstrap") @@ -1598,9 +1618,6 @@ Python tests."))) "Bootstrap package for python-testrepository. Don't use this.") (license (list license:bsd-3 license:asl2.0)))) ; at user's option -(define-public python2-testrepository-bootstrap - (package-with-python2 python-testrepository-bootstrap)) - (define-public python-testrepository (package (inherit python-testrepository-bootstrap) @@ -1618,9 +1635,6 @@ Python tests."))) 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."))) -(define-public python2-testrepository - (package-with-python2 python-testrepository)) - (define-public python-coverage (package (name "python-coverage") @@ -2149,51 +2163,8 @@ Pylint has many rules enabled by default, way too much to silence them all on a minimally sized program. It's highly configurable and handle pragmas to control it from within your code. Additionally, it is possible to write plugins to add your own checks.") - (properties `((python2-variant . ,(delay python2-pylint)))) (license license:gpl2+))) -;; Python2 is not supported anymore by Pylint. See: -;; https://github.com/PyCQA/pylint/issues/1763. -(define-public python2-pylint - (let ((pylint (package-with-python2 - (strip-python2-variant python-pylint)))) - (package (inherit pylint) - (version "1.9.5") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/PyCQA/pylint") - (commit (string-append "pylint-" version)))) - (file-name (git-file-name (package-name pylint) version)) - (sha256 - (base32 - "02a89d8a47s7nfiv1ady3j0sg2sbyja3np145brarfp5x9qxz9x2")))) - (arguments - `(,@(strip-keyword-arguments '(#:tests?) (package-arguments pylint)) - #:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - ;; Somehow, tests fail if run from the build directory. - (let ((work "/tmp/work")) - (mkdir-p work) - (setenv "PYTHONPATH" - (string-append (getenv "PYTHONPATH") ":" work)) - (copy-recursively "." work) - (with-directory-excursion "/tmp" - (invoke "python" "-m" "unittest" "discover" - "-s" (string-append work "/pylint/test") - "-p" "*test_*.py")))))))) - (native-inputs - `(("python2-futures" ,python2-futures) - ,@(package-native-inputs pylint))) - (propagated-inputs - `(("python2-backports-functools-lru-cache" - ,python2-backports-functools-lru-cache) - ("python2-configparser" ,python2-configparser) - ,@(package-propagated-inputs pylint)))))) - (define-public python-paramunittest (package (name "python-paramunittest") @@ -2422,9 +2393,6 @@ tests written in a natural language style, backed up by Python code.") JSON APIs with Behave.") (license license:expat))) -(define-public python2-behave-web-api - (package-with-python2 python-behave-web-api)) - (define-public python-rednose (package (name "python-rednose") |