diff options
Diffstat (limited to 'gnu/packages/check.scm')
-rw-r--r-- | gnu/packages/check.scm | 178 |
1 files changed, 82 insertions, 96 deletions
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 4de5b1c0d4..2dcf33a460 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -48,6 +48,7 @@ ;;; Copyright © 2023 Reza Housseini <reza@housseini.me> ;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space> ;;; Copyright © 2023 Troy Figiel <troy@troyfigiel.com> +;;; Copyright © 2024 Giacomo Leidi <goodoldpaul@autistici.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -77,6 +78,7 @@ #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages golang) + #:use-module (gnu packages golang-build) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages guile-xyz) @@ -898,94 +900,6 @@ prevent common NGINX misconfigurations. It provides the @command{gixy} command.") (license license:mpl2.0)))) -(define-public go-github.com-smartystreets-gunit - (package - (name "go-github.com-smartystreets-gunit") - (version "1.0.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/smartystreets/gunit") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "00m4zg0kdj49mnpmf9klb44ba71p966xsk6zknrzqgfc8119f35z")))) - (build-system go-build-system) - (arguments - '(;; TODO: This package depends on go-github.com-smartystreets-assertions - ;; for running the tests, but go-github.com-smartystreets-assertions - ;; depends on this package, so break this loop by not running the tests - ;; for this package. - #:tests? #f - #:import-path "github.com/smartystreets/gunit")) - (synopsis "Testing tool for Go, in the style of xUnit") - (description - "@code{gunit} allows the test author to use a struct as the scope for a -group of related test cases, in the style of xUnit fixtures. This makes -extraction of setup/teardown behavior (as well as invoking the system under -test) much simpler.") - (home-page "https://github.com/smartystreets/gunit") - (license license:expat))) - -(define-public go-github.com-smartystreets-assertions - (package - (name "go-github.com-smartystreets-assertions") - (version "1.13.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/smartystreets/assertions") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0flf3fb6fsw3bk1viva0fzrzw87djaj1mqvrx2gzg1ssn7xzfrzr")))) - (build-system go-build-system) - (arguments - (list - #:import-path "github.com/smartystreets/assertions" - #:phases - #~(modify-phases %standard-phases - (replace 'check - (lambda* (#:key inputs #:allow-other-keys #:rest args) - (unless - ;; The tests fail when run with gccgo. - (false-if-exception (search-input-file inputs "/bin/gccgo")) - (apply (assoc-ref %standard-phases 'check) args))))))) - (native-inputs - (list go-github.com-smartystreets-gunit)) - (synopsis "Assertions for testing with Go") - (description - "The @code{assertions} package provides convenient assertion functions -for writing tests in Go.") - (home-page "https://github.com/smartystreets/assertions") - (license license:expat))) - -(define-public go-github.com-smartystreets-goconvey - (package - (name "go-github.com-smartystreets-goconvey") - (version "1.6.3") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/smartystreets/goconvey") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1ph18rkl3ns3fgin5i4j54w5a69grrmf3apcsmnpdn1wlrbs3dxh")))) - (build-system go-build-system) - (arguments - '(#:import-path "github.com/smartystreets/goconvey")) - (propagated-inputs - (list go-github.com-jtolds-gls go-github.com-smartystreets-assertions)) - (synopsis "Go testing tool with both a web and terminal user interface") - (description - "GoConvey is a testing tool for Go. It integrates with go test, can show -test coverage and has a web user interface that will refresh automatically.") - (home-page "https://github.com/smartystreets/goconvey") - (license license:expat))) - (define-public googletest (package (name "googletest") @@ -1028,7 +942,7 @@ generation.") (define-public googlebenchmark (package (name "googlebenchmark") - (version "1.8.2") + (version "1.8.3") (home-page "https://github.com/google/benchmark") (source (origin (method git-fetch) @@ -1037,7 +951,7 @@ generation.") (file-name (git-file-name "google-benchmark" version)) (sha256 (base32 - "1p72bw7xcd88d8268fmmzji59408f552fbiv37jmsixml5dmq9wv")))) + "1hf8xrdd9k57kw3mpdi68a78fd96vzdqv3179v2yy5dxx336ffw3")))) (build-system cmake-build-system) (arguments '(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON" @@ -1052,6 +966,29 @@ generation.") similar to unit tests.") (license license:asl2.0))) +(define-public greatest + (package + (name "greatest") + (version "1.5.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/silentbicycle/greatest") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "11rajkb5m7mlzi3i3v0i27k6rrjw3x8a7bl6fkc29igzpwfbxndy")))) + (build-system copy-build-system) + (arguments (list #:install-plan + #~'(("greatest.h" "include/")))) + (home-page "https://github.com/silentbicycle/greatest") + (synopsis "Single-header test system") + (description "Greatest is a single-header test system for C, including +macros for defining tests, grouping them into suites, and providing a test +runner. It is quite unopinionated with most of its features being optional.") + (license license:isc))) + (define-public cpputest (package (name "cpputest") @@ -1227,14 +1164,14 @@ available via the @code{unittest.mock} module.") (define-public python-nose2 (package (name "python-nose2") - (version "0.11.0") + (version "0.14.0") (source (origin (method url-fetch) (uri (pypi-uri "nose2" version)) (sha256 (base32 - "1scxwvwbgfdj41acma41xzdhcfdwjj9irj6sfifdbyf9dryqs83d")))) + "1936fkrxg672bhp9i32ivna7jbydl9dpbhyn5f3059xrl1qdfa2w")))) (build-system python-build-system) (arguments (list #:phases @@ -1245,10 +1182,6 @@ available via the @code{unittest.mock} module.") ;; Tests require nose2 itself. (setenv "PYTHONPATH" (getcwd)) (invoke (string-append #$output "/bin/nose2") "-v"))))))) - (native-inputs - (list python-coverage)) - (propagated-inputs - (list python-six)) (home-page "https://github.com/nose-devs/nose2") (synopsis "Next generation of nicer testing for Python") (description @@ -3194,6 +3127,36 @@ retried.") allowing you to declaratively define \"match\" rules.") (license license:bsd-3))) +(define-public theft + (package + (name "theft") + (version "0.4.5") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/silentbicycle/theft") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1n2mkawfl2bpd4pwy3mdzxwlqjjvb5bdrr2x2gldlyqdwbk7qjhd")) + (snippet #~(begin + (delete-file "vendor/greatest.h"))))) + (build-system gnu-build-system) + (arguments (list #:make-flags #~(list "VENDOR=" + (string-append "CC=" #$(cc-for-target)) + (string-append "PREFIX=" #$output)) + #:test-target "test" + #:phases + #~(modify-phases %standard-phases + (delete 'bootstrap) + (delete 'configure)))) + (native-inputs (list greatest)) + (home-page "https://github.com/silentbicycle/theft") + (synopsis "Property-based testing for C") + (description "Theft is a library for property-based testing.") + (license license:isc))) + (define-public unittest-cpp (package (name "unittest-cpp") @@ -3594,6 +3557,29 @@ tables by saving expected data in a data directory (courtesy of pytest-datadir) that can be used to verify that future runs produce the same data.") (license license:expat))) +(define-public python-pytest-tornado5 + (package + (name "python-pytest-tornado5") + (version "2.0.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "pytest-tornado5" version)) + (sha256 + (base32 + "0qb62jw2w0xr6y942yp0qxiy755bismjfpnxaxjjm05gy2pymr8d")))) + (build-system pyproject-build-system) + (arguments + ;; Tests require pytest < 6 + (list #:tests? #f)) + (propagated-inputs (list python-pytest python-tornado)) + (home-page "https://github.com/vidartf/pytest-tornado") + (synopsis + "Fixtures and markers to simplify testing of Tornado applications") + (description + "This package provides a @code{py.test} plugin supplying fixtures and +markers to simplify testing of asynchronous tornado applications.") + (license license:asl2.0))) + (define-public guile-proba (package (name "guile-proba") |