diff options
Diffstat (limited to 'gnu/packages/check.scm')
-rw-r--r-- | gnu/packages/check.scm | 100 |
1 files changed, 88 insertions, 12 deletions
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index f249dbedb0..661ed65e53 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -24,7 +24,7 @@ ;;; Copyright © 2017, 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017, 2019 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2017 Nikita <nikita@n0.is> -;;; Copyright © 2015, 2017, 2018 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2015, 2017, 2018, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017, 2018, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com> @@ -33,6 +33,7 @@ ;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2020 Josh Marshall <joshua.r.marshall.1991@gmail.com> +;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -116,6 +117,54 @@ source code editors and IDEs.") (base32 "0d22h8xshmbpl9hba9ch3xj8vb9ybm5akpsbbh7yj07fic4h2hj6")))))) +(define-public clitest + (package + (name "clitest") + (version "0.3.0") + (home-page "https://github.com/aureliojargas/clitest") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0zw5wra9hc717srmcar1wm4i34kyj8c49ny4bb7y3nrvkjp2pdb5")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; This package is distributed as a single shell script and comes + ;; without a proper build system. + (delete 'configure) + (delete 'build) + (replace 'check + (lambda _ + (substitute* "test.md" + ;; One test looks for an error from grep in the form "grep: foo", + ;; but our grep returns the absolute file name on errors. Adjust + ;; the test to cope with that. + (("sed 's/\\^e\\*grep: \\.\\*/") + "sed 's/.*e*grep: .*/")) + + (setenv "HOME" "/tmp") + (invoke "./clitest" "test.md"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (install-file "clitest" (string-append out "/bin")) + (install-file "README.md" + (string-append out "/share/doc/clitest-" ,version)) + #t)))))) + (native-inputs + `(("perl" ,perl))) ;for tests + (synopsis "Command line test tool") + (description + "@command{clitest} is a portable shell script that performs automatic +testing of Unix command lines.") + (license license:expat))) + (define-public cunit (package (name "cunit") @@ -396,7 +445,7 @@ and it supports a very flexible form of test discovery.") (define-public doctest (package (name "doctest") - (version "2.3.8") + (version "2.4.0") (home-page "https://github.com/onqtam/doctest") (source (origin (method git-fetch) @@ -404,7 +453,7 @@ and it supports a very flexible form of test discovery.") (file-name (git-file-name name version)) (sha256 (base32 - "16w907750jnp98vdzkn72lzwy1zyryaqvfi80lbdp398pj23rq65")))) + "1yi95saqv8qb3ix6w8d7ffvs7qbwvqmq6wblckhxhicxxdxk85cd")))) (build-system cmake-build-system) (synopsis "C++ test framework") (description @@ -421,7 +470,7 @@ has been designed to be fast, light and unintrusive.") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/go-check/check.git") + (url "https://github.com/go-check/check") (commit commit))) (file-name (git-file-name name version)) (sha256 @@ -527,7 +576,7 @@ test coverage and has a web user interface that will refresh automatically.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/google/googletest.git") + (url "https://github.com/google/googletest") (commit (string-append "release-" version)))) (file-name (git-file-name name version)) (sha256 @@ -551,7 +600,7 @@ generation.") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/google/googletest.git") + (url "https://github.com/google/googletest") (commit (string-append "release-" version)))) (file-name (git-file-name "googletest" version)) (sha256 @@ -970,6 +1019,33 @@ supports coverage of subprocesses.") (define-public python2-pytest-runner-2 (package-with-python2 python-pytest-runner-2)) +(define-public python-pytest-lazy-fixture + (package + (name "python-pytest-lazy-fixture") + (version "0.6.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pytest-lazy-fixture" version)) + (sha256 + (base32 "1b0hmnsxw4s2wf9pks8dg6dfy5cx3zcbzs8517lfccxsfizhqz8f")))) + (build-system python-build-system) + (arguments + '(#: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")))))) + (propagated-inputs + `(("python-pytest" ,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 +@code{pytest.mark.parametrize}.") + (license license:expat))) + (define-public python-pytest-mock (package (name "python-pytest-mock") @@ -1446,7 +1522,7 @@ have failed since the last commit or what tests are currently failing."))) (arguments ;; FIXME: 95 tests failed, 539 passed, 6 skipped, 2 errors. '(#:tests? #f)) - (home-page "http://nedbatchelder.com/code/coverage") + (home-page "https://coverage.readthedocs.io") (synopsis "Code coverage measurement for Python") (description "Coverage measures code coverage, typically during test execution. It @@ -1524,7 +1600,7 @@ testing frameworks.") (propagated-inputs `(("python-coverage" ,python-coverage) ("python-requests" ,python-requests))) - (home-page "http://github.com/codecov/codecov-python") + (home-page "https://github.com/codecov/codecov-python") (synopsis "Upload code coverage reports to @code{codecov.io}") (description "Codecov collects code coverage reports from code written in Python, Java, @@ -1822,13 +1898,13 @@ failures.") (define-public python-pytest-flakes (package (name "python-pytest-flakes") - (version "1.0.1") + (version "4.0.0") (source (origin (method url-fetch) (uri (pypi-uri "pytest-flakes" version)) (sha256 (base32 - "0flag3n33kbhyjrhzmq990rvg4yb8hhhl0i48q9hw0ll89jp28lw")))) + "0hyind0gb950v9kfy0v97x66fb33slbqmxhrjvgbvsv0ayzn869l")))) (build-system python-build-system) (arguments `(#:phases @@ -1839,7 +1915,7 @@ failures.") ;; It's easier to run tests after install. ;; Make installed package available for running the tests (add-installed-pythonpath inputs outputs) - (invoke "py.test" "-vv")))))) + (invoke "py.test" "-vv" "-k" "not test_syntax_error")))))) (native-inputs `(("python-coverage" ,python-coverage) ("python-pytest" ,python-pytest) @@ -2087,7 +2163,7 @@ a fork of pytest-capturelog.") (propagated-inputs `(("python-coverage" ,python-coverage) ("python-nose" ,python-nose))) - (home-page "http://github.com/cmheisel/nose-xcover") + (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 @code{nose.plugins.cover}. This plugin will write out an XML coverage report |