aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/check.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/check.scm')
-rw-r--r--gnu/packages/check.scm65
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))