summary refs log tree commit diff
path: root/gnu/packages/check.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/check.scm')
-rw-r--r--gnu/packages/check.scm178
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")