From 9a5b9dad0d542b94bc34d5d5cfab70bff6c29c90 Mon Sep 17 00:00:00 2001 From: "Artyom V. Poptsov" Date: Sun, 17 Mar 2024 07:47:17 +0300 Subject: gnu: Add go-pgregory-net-rapid. * gnu/packages/golang-check.scm (go-pgregory-net-rapid): New variable. Change-Id: I09a89c779a352e6a102d0b4c7af3aa1f7c3cac70 Signed-off-by: Sharlatan Hellseher --- gnu/packages/golang-check.scm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/gnu/packages/golang-check.scm b/gnu/packages/golang-check.scm index 290afdd3b9..1558536182 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 + (list + #:go go-1.18 + #:import-path "pgregory.net/rapid")) + (home-page "https://pgregory.net/rapid/") + (synopsis "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: ;;; -- cgit v1.2.3