Subject: [bug#70625] [PATCH] gnu: Add go-github-com-warpfork-go-wish.

From: "Artyom V. Poptsov" <[email-masked]>
Date: Sun, 28 Apr 2024 13:52:54 +0300

* gnu/packages/golang-xyz.scm (go-github-com-warpfork-go-wish): New variable.
* gnu/packages/patches/go-github-com-warpfork-go-wish-fix-tests.patch: New
  file.
* gnu/local.mk (dist_patch_DATA): Add
  "go-github-com-warpfork-go-wish-fix-tests.patch".

Change-Id: Ic3245a1112ef2e04b22cf26be23f27bf3ff90e9e
---
 gnu/local.mk                                  |  1 +
 gnu/packages/golang-xyz.scm                   | 28 ++++++
 ...ithub-com-warpfork-go-wish-fix-tests.patch | 85 +++++++++++++++++++
 3 files changed, 114 insertions(+)
 create mode 100644 gnu/packages/patches/go-github-com-warpfork-go-wish-fix-tests.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 42961e60b2..03c91cfb9d 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1394,6 +1394,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/go-github-com-golang-snappy-32bit-test.patch \
   %D%/packages/patches/go-github-com-urfave-cli-fix-tests.patch \
   %D%/packages/patches/go-github-com-urfave-cli-v2-fix-tests.patch \
+  %D%/packages/patches/go-github-com-warpfork-go-wish-fix-tests.patch \
   %D%/packages/patches/go-github-com-wraparound-wrap-free-fonts.patch \
   %D%/packages/patches/go-skip-gc-test.patch			\
   %D%/packages/patches/gourmet-sqlalchemy-compat.patch		\
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index fcb352148c..34e9220e40 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -3132,6 +3132,34 @@ (define-public go-github-com-vividcortex-ewma
 weighted moving averages}.")
     (license license:expat)))
 
+(define-public go-github-com-warpfork-go-wish
+  (package
+    (name "go-github-com-warpfork-go-wish")
+    (version "0.0.0-20220906213052-39a1cc7a02d0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/warpfork/go-wish")
+             (commit (go-version->git-ref version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0rqbxmqwzy1q2zwy3mszp0li0pg8zzh3j9l8wlzr6p1pq2idallq"))
+       (patches (search-patches
+                 "go-github-com-warpfork-go-wish-fix-tests.patch"))))
+    (build-system go-build-system)
+    (arguments
+     (list
+      #:go go-1.21
+      #:import-path "github.com/warpfork/go-wish"))
+    (home-page "https://github.com/warpfork/go-wish")
+    (synopsis "Simple, functional, composable test assertions for Go")
+    (description
+     "@code{wish} is a test assertion library for Go, designed to gracefully enhance
+the Go standard library testing package and behaviors of the @command{go test}
+command.")
+    (license license:expat)))
+
 (define-public go-github-com-whyrusleeping-go-sysinfo
   (package
     (name "go-github-com-whyrusleeping-go-sysinfo")
diff --git a/gnu/packages/patches/go-github-com-warpfork-go-wish-fix-tests.patch b/gnu/packages/patches/go-github-com-warpfork-go-wish-fix-tests.patch
new file mode 100644
index 0000000000..27738ac59b
--- /dev/null
+++ b/gnu/packages/patches/go-github-com-warpfork-go-wish-fix-tests.patch
@@ -0,0 +1,85 @@
+From d53c651a8fd65656e486eb5c7e20ab889f64639b Mon Sep 17 00:00:00 2001
+From: "Artyom V. Poptsov" <[email-masked]>
+Date: Sun, 28 Apr 2024 13:24:34 +0300
+Subject: [PATCH] output_test.go: Fix tests
+
+* output_test.go (TestGoTestOutputTree, TestGoTestOutputFun): Fix
+  tests.
+---
+ output_test.go | 40 ++++++++++++++++++++--------------------
+ 1 file changed, 20 insertions(+), 20 deletions(-)
+
+diff --git a/output_test.go b/output_test.go
+index eb3e0e9..58948c2 100644
+--- a/output_test.go
++++ b/output_test.go
+@@ -75,15 +75,15 @@ func TestGoTestOutputTree(t *testing.T) {
+ 		diff := strdiff(nom, Dedent(`
+ 			=== RUN   TestGoTestOutputTree_helper
+ 			=== RUN   TestGoTestOutputTree_helper/subtest
++			    output_test.go:NN: wtf
+ 			=== RUN   TestGoTestOutputTree_helper/subtest/subsubtest
++			    output_test.go:NN: sadz
+ 			=== RUN   TestGoTestOutputTree_helper/subtest/happy_subsubtest
++			    output_test.go:NN: ooh!
+ 			--- FAIL: TestGoTestOutputTree_helper (N.NNs)
+ 			    --- FAIL: TestGoTestOutputTree_helper/subtest (N.NNs)
+-			        output_test.go:NN: wtf
+ 			        --- FAIL: TestGoTestOutputTree_helper/subtest/subsubtest (N.NNs)
+-			            output_test.go:NN: sadz
+ 			        --- PASS: TestGoTestOutputTree_helper/subtest/happy_subsubtest (N.NNs)
+-			            output_test.go:NN: ooh!
+ 			FAIL
+ 			exit status N
+ 			FAIL	github.com/warpfork/go-wish	N.NNNs
+@@ -149,28 +149,28 @@ func TestGoTestOutputFun(t *testing.T) {
+ 		diff := strdiff(nom, Dedent(`
+ 			=== RUN   TestGoTestOutputFun_helper
+ 			=== RUN   TestGoTestOutputFun_helper/subtest
++			    output_test.go:NNN: hello!
+ 			=== RUN   TestGoTestOutputFun_helper/subtest/subsubtest
++			    output_test.go:NNN: ShouldEqual check rejected:
++			        	@@ -N +N @@
++			        	- snafoo
++			        	+ zounds
++			        
++			    output_test.go:NNN: ShouldEqual check rejected:
++			        	@@ -N +N @@
++			        	- zebras
++			        	+ cats
++			        
++			    output_test.go:NNN: ShouldEqual check rejected:
++			        	  interface{}(
++			        	- 	struct{ Foo string }{},
++			        	+ 	struct{ Bar string }{},
++			        	  )
++			        
+ 			=== RUN   TestGoTestOutputFun_helper/subtest/happy_subsubtest
+ 			--- FAIL: TestGoTestOutputFun_helper (N.NNs)
+ 			    --- FAIL: TestGoTestOutputFun_helper/subtest (N.NNs)
+-			        output_test.go:NNN: hello!
+ 			        --- FAIL: TestGoTestOutputFun_helper/subtest/subsubtest (N.NNs)
+-			            output_test.go:NNN: ShouldEqual check rejected:
+-			                	@@ -N +N @@
+-			                	- snafoo
+-			                	+ zounds
+-			                
+-			            output_test.go:NNN: ShouldEqual check rejected:
+-			                	@@ -N +N @@
+-			                	- zebras
+-			                	+ cats
+-			                
+-			            output_test.go:NNN: ShouldEqual check rejected:
+-			                	  interface{}(
+-			                	- 	struct{ Foo string }{},
+-			                	+ 	struct{ Bar string }{},
+-			                	  )
+-			                
+ 			        --- PASS: TestGoTestOutputFun_helper/subtest/happy_subsubtest (N.NNs)
+ 			FAIL
+ 			exit status N
+
+base-commit: 39a1cc7a02d01d037bc6bc075e6550279026e645
+-- 
+2.41.0
+

base-commit: 4178eaf3b2eeea8f6c2e49b1d65cd60a1663c4a9
-- 
2.41.0