diff options
Diffstat (limited to 'gnu/packages/check.scm')
-rw-r--r-- | gnu/packages/check.scm | 65 |
1 files changed, 58 insertions, 7 deletions
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 186f4ba09a..6103f8e3f7 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -29,6 +29,7 @@ ;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com> ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com> +;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -468,13 +469,14 @@ test coverage and has a web user interface that will refresh automatically.") (version "1.8.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/google/googletest/archive/" - "release-" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/google/googletest.git") + (commit (string-append "release-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1n5p1m2m3fjrjdj752lf92f9wq3pl5cbsfrb49jqbg52ghkz99jq")))) + "0bjlljmbf8glnd9qjabx73w6pd7ibv43yiyngqvmvgxsabzr8399")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON"))) @@ -2004,13 +2006,13 @@ create data based on random numbers and yet remain repeatable.") (define-public python-nose-timer (package (name "python-nose-timer") - (version "0.7.4") + (version "0.7.5") (source (origin (method url-fetch) (uri (pypi-uri "nose-timer" version)) (sha256 - (base32 "04inck7l1sgkjbiinhifxk45wk2b3czbwh1x2a390hi183fq1q12")))) + (base32 "05wzkc88vbzw62pqkvhl33211b90kns0lny70b7qw62rcg4flzk4")))) (build-system python-build-system) (propagated-inputs `(("python-nose" ,python-nose) @@ -2246,3 +2248,52 @@ record the properties and behaviour of particular devices, and to run a program or test suite under a test bed with the previously recorded devices loaded.") (license license:lgpl2.1+))) + +(define-public python-pyfakefs + (package + (name "python-pyfakefs") + (version "3.5.8") + (source (origin + (method url-fetch) + ;; We use the PyPI URL because there is no proper release + ;; available from GitHub. The GitHub project only provides + ;; autogenerated tarballs, which are known to change in place. + (uri (pypi-uri "pyfakefs" version)) + (sha256 + (base32 + "0qb9jp0bqhc0dv0rn805fv99029fvx135f3bvka6scfkcl6jgllc")) + (patches (search-patches + "python-pyfakefs-remove-bad-test.patch")) + (file-name (string-append name "-" version ".tar.gz")))) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; 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))))) + (native-inputs + `(("python-pytest" ,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 + ;; when linking to the project. Honor their request. + (home-page "http://pyfakefs.org/") + ;; TRANSLATORS: In the synopsis, "Mock" is a verb. + (synopsis "Mock file system interactions in tests") + (description + "This package provides a Python library intended for use in automated +tests. One difficulty when testing software is that the code under test might +need to read or write to files in the local file system. If the file system +is not set up in just the right way, it might cause a spurious error during +the test. The pyfakefs library provides a solution to problems like this by +mocking file system interactions. In other words, it arranges for the code +under test to interact with a fake file system instead of the real file +system. The code under test requires no modification to work with pyfakefs.") + (license license:asl2.0))) + +(define-public python2-pyfakefs + (package-with-python2 python-pyfakefs)) |