Artyom V. Poptsov wrote 12 months ago
(address . guix-patches@gnu.org)(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
* gnu/packages/golang-check.scm (go-pgregory-net-rapid): New variable.
Change-Id: I09a89c779a352e6a102d0b4c7af3aa1f7c3cac70
---
gnu/packages/golang-check.scm | 39 +++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
Toggle diff (54 lines)
diff --git a/gnu/packages/golang-check.scm b/gnu/packages/golang-check.scm
index 290afdd3b9..c4bdd75f00 100644
--- a/gnu/packages/golang-check.scm
+++ b/gnu/packages/golang-check.scm
@@ -804,6 +804,45 @@ (define-public go-honnef-co-go-tools
advanced Go linter.")
(license license:expat)))
+(define-public go-pgregory-net-rapid
+ (package
+ (name "go-pgregory-net-rapid")
+ (version "1.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/flyingmutant/rapid")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1alyhcbdq6113sfymx7xxmxpcbgvkaipsn15cgjrcqrx8ks1hm5i"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "pgregory.net/rapid"
+ #:go ,go-1.18))
+ (native-inputs (list go-github-com-stretchr-testify))
+ (home-page "https://pgregory.net/rapid/")
+ (synopsis "Modern Go property-based testing library")
+ (description
+ "@code{Rapid} is a Go library for property-based testing.
+
+Rapid checks that properties you define hold for a large number of automatically
+generated test cases. If a failure is found, rapid automatically minimizes the
+failing test case before presenting it.
+
+Features:
+@itemize
+@item Imperative Go API with type-safe data generation using generics.
+@item Data generation biased to explore \"small\" values and edge cases more
+thoroughly
+@item Fully automatic minimization of failing test cases.
+@item Persistence and automatic re-running of minimized failing test cases.
+@item Support for state machine (\"stateful\" or \"model-based\") testing
+@item No dependencies outside the Go standard library.
+@end itemize")
+ (license license:mpl2.0)))
+
;;;
;;; Executables:
;;;
base-commit: edfb05e16d409ab71f5cc5c91747b693f0054d59
--
2.41.0