aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Bakke <marius@gnu.org>2023-04-30 23:16:54 +0800
committerMarius Bakke <marius@gnu.org>2023-04-30 23:25:46 +0800
commita34348967e032acfab2aa0b512d318a70f5543dd (patch)
tree9ef3bde4168cc015515c92a6db9f95f564a82bbe
parentf9a60f34670ba36724d3efec0dc266e0d6d0cb00 (diff)
downloadguix-a34348967e032acfab2aa0b512d318a70f5543dd.tar
guix-a34348967e032acfab2aa0b512d318a70f5543dd.tar.gz
gnu: clitest: Fix test failure with newer grep.
* gnu/packages/patches/clitest-grep-compat.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/check.scm (clitest)[source](patches): New field. [arguments]: While at it, remove obsolete substitution.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/check.scm8
-rw-r--r--gnu/packages/patches/clitest-grep-compat.patch27
3 files changed, 29 insertions, 7 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 1a84e5b499..68a02d10b5 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1000,6 +1000,7 @@ dist_patch_DATA = \
%D%/packages/patches/classpath-aarch64-support.patch \
%D%/packages/patches/classpath-miscompilation.patch \
%D%/packages/patches/cling-use-shared-library.patch \
+ %D%/packages/patches/clitest-grep-compat.patch \
%D%/packages/patches/clog-fix-shared-build.patch \
%D%/packages/patches/clucene-pkgconfig.patch \
%D%/packages/patches/cmake-curl-certificates-3.24.patch \
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index e671972654..17c2b7284e 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -310,6 +310,7 @@ for C++ 11 and beyond implemented as a single-header library.")
(method git-fetch)
(uri (git-reference (url home-page) (commit version)))
(file-name (git-file-name name version))
+ (patches (search-patches "clitest-grep-compat.patch"))
(sha256
(base32
"1p745mxiq3hgi3ywfljs5sa1psi06awwjxzw0j9c2xx1b09yqv4a"))))
@@ -325,13 +326,6 @@ for C++ 11 and beyond implemented as a single-header library.")
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
- (substitute* "test.md"
- ;; One test looks for an error from grep in the form "grep: foo",
- ;; but our grep returns the absolute file name on errors. Adjust
- ;; the test to cope with that.
- (("sed 's/\\^e\\*grep: \\.\\*/")
- "sed 's/.*e*grep: .*/"))
-
(setenv "HOME" "/tmp")
(invoke "./clitest" "test.md"))))
(replace 'install
diff --git a/gnu/packages/patches/clitest-grep-compat.patch b/gnu/packages/patches/clitest-grep-compat.patch
new file mode 100644
index 0000000000..8707c35e3e
--- /dev/null
+++ b/gnu/packages/patches/clitest-grep-compat.patch
@@ -0,0 +1,27 @@
+Suppress a warning from grep which causes tests to fail.
+
+Taken from upstream pull request:
+
+ https://github.com/aureliojargas/clitest/pull/54
+
+diff --git a/test/inline-match-egrep.sh b/test/inline-match-egrep.sh
+--- a/test/inline-match-egrep.sh
++++ b/test/inline-match-egrep.sh
+@@ -42,7 +42,7 @@ $ printf ' \t \t\t \n' #=> --egrep ^ $
+ # egrep regexes. You'll need to test in your system if that's the
+ # case. I recommend using a literal tab to avoid problems.
+
+-$ printf 'may\tfail' #=> --egrep ^may\tfail$
++$ printf 'may\tfail' #=> --egrep ^may\\tfail$
+ $ printf 'may\tfail' #=> --egrep ^may[\t]fail$
+ $ printf 'will\tmatch' #=> --egrep ^will match$
+
+@@ -51,7 +51,7 @@ $ printf 'will\tmatch' #=> --egrep ^will match$
+ # These tests will fail:
+
+ $ printf 'will\nfail' #=> --egrep will.*fail
+-$ printf 'will\nfail' #=> --egrep will\nfail
++$ printf 'will\nfail' #=> --egrep will\\nfail
+
+ # If one line of a multiline results matches, the test is OK
+