;;; Copyright © 2016 Troy Sankey <sankeytms@gmail.com>
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
-;;; Copyright © 2016, 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017, 2019 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 ng0 <ng0@n0.is>
;;; Copyright © 2015, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2016, 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;; 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>
source code editors and IDEs.")
(license license:lgpl2.1+)))
+;; Some packages require this older version. Removed once no longer needed.
+(define-public check-0.12
+ (package/inherit
+ check
+ (version "0.12.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/libcheck/check/releases"
+ "/download/" version "/check-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0d22h8xshmbpl9hba9ch3xj8vb9ybm5akpsbbh7yj07fic4h2hj6"))))))
+
(define-public cunit
(package
(name "cunit")
multi-paradigm automated test framework for C++ and Objective-C.")
(license license:boost1.0)))
-(define-public catch-framework2
+(define-public catch-framework2-1
(package
(name "catch2")
(version "1.12.2")
a multi-paradigm automated test framework for C++ and Objective-C.")
(license license:boost1.0)))
+(define-public catch-framework2
+ (package
+ (name "catch2")
+ (version "2.1.2")
+ (home-page "https://github.com/catchorg/Catch2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/catchorg/Catch2")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "14vcckqmbydjsg40ngi6iv999zimysh2l7fmrqj1d7xl990qz233"))))
+ (build-system cmake-build-system)
+ (inputs
+ `(("python" ,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.")
+ (license license:boost1.0)))
+
(define-public cmdtest
(package
(name "cmdtest")
(define-public cppcheck
(package
(name "cppcheck")
- (version "1.89")
+ (version "1.90")
(source (origin
(method git-fetch)
(uri (git-reference
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "07yn1zycsb7sn1v7fprihbl0ih4n2zkd7l9jvmkjcskvwn4n21h0"))))
+ (base32 "0h7ir2x0k005fm586dxmaphgv5cyz25k3k4sh02p7zb78gzx398h"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags '("-DBUILD_TESTS=ON")))
(define-public doctest
(package
(name "doctest")
- (version "2.3.5")
+ (version "2.3.6")
(home-page "https://github.com/onqtam/doctest")
(source (origin
(method git-fetch)
(file-name (git-file-name name version))
(sha256
(base32
- "0rddlzhnv0f5036q0m0p019pismka7sx6x8cnzk65sk77b1dsbhg"))))
+ "070gkwffi73i2p0azga9yxj8km32bp8bw4jvkvz1vzlpavyii5kn"))))
(build-system cmake-build-system)
(synopsis "C++ test framework")
(description
(define-public googletest
(package
(name "googletest")
- (version "1.8.1")
+ (version "1.10.0")
(source
(origin
(method git-fetch)
(commit (string-append "release-" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0270msj6n7mggh4xqqjp54kswbl7mkcc8px1p5dqdpmw5ngh9fzk"))))
+ (base32 "1zbmab9295scgg4z2vclgfgjchfjailjnvzc6f5x9jvlsdi3dpwz"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
generation.")
(license license:bsd-3)))
+(define-public googletest-1.8
+ (package/inherit
+ googletest
+ (version "1.8.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/google/googletest.git")
+ (commit (string-append "release-" version))))
+ (file-name (git-file-name "googletest" version))
+ (sha256
+ (base32
+ "0270msj6n7mggh4xqqjp54kswbl7mkcc8px1p5dqdpmw5ngh9fzk"))))))
+
(define-public cpputest
(package
(name "cpputest")
(define-public python-parameterized
(package
(name "python-parameterized")
- (version "0.6.1")
+ (version "0.7.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "parameterized" version))
(sha256
(base32
- "1qj1939shm48d9ql6fm1nrdy4p7sdyj8clz1szh5swwpf1qqxxfa"))))
+ "1vapry9lyfb2mlpgk2wh9079hzxzq5120bsczncxxay663mdp53a"))))
(build-system python-build-system)
- (arguments '(#:tests? #f)) ; there are no tests
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (if tests?
+ (invoke "nosetests" "-v")
+ (format #t "test suite not run~%"))
+ #t)))))
+ (native-inputs
+ `(("python-mock" ,python-mock)
+ ("python-nose" ,python-nose)))
(home-page "https://github.com/wolever/parameterized")
(synopsis "Parameterized testing with any Python test framework")
(description
"Parameterized is a Python library that aims to fix parameterized testing
for every Python test framework. It supports nose, py.test, and unittest.")
+ (properties `((python2-variant . ,(delay python2-parameterized))))
(license license:bsd-2)))
(define-public python2-parameterized
- (package-with-python2 python-parameterized))
+ (let ((base (package-with-python2 (strip-python2-variant
+ python-parameterized))))
+ (package/inherit
+ base
+ (source
+ (origin
+ (inherit (package-source base))
+ (patches (search-patches "python2-parameterized-docstring-test.patch")))))))
(define-public python-minimock
(package
(build-system python-build-system)
(native-inputs
`(("python-pytest" ,python-pytest)))
- (home-page "http://pythonpaste.org/scripttest/")
+ (home-page (string-append "https://web.archive.org/web/20161029233413/"
+ "http://pythonpaste.org/scripttest/"))
(synopsis "Python library to test command-line scripts")
(description "Scripttest is a Python helper library for testing
interactive command-line applications. With it you can run a script in a
("python-parse" ,python-parse)
("python-parse-type" ,python-parse-type)))
(arguments
- '(#:test-target "behave_test"))
+ '(#: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)))))
(home-page "https://github.com/behave/behave")
(synopsis "Python behavior-driven development")
(description
(let ((out (assoc-ref outputs "out")))
(setenv "CC" "gcc")
(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)))
(add-before 'check 'pre-check
(lambda _