aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVivien Kraus <vivien@planete-kraus.eu>2024-03-23 08:12:48 +0100
committerChristopher Baines <mail@cbaines.net>2024-03-24 10:02:44 +0000
commit19cd76e3f7a7da7f42e5d576b624897570218928 (patch)
tree24246b85c80225930760ebecf22eca7e4f2dfcd0
parent85c99aa1cf5e9a54143118e498c5a8562e6140d9 (diff)
downloadguix-19cd76e3f7a7da7f42e5d576b624897570218928.tar
guix-19cd76e3f7a7da7f42e5d576b624897570218928.tar.gz
gnu: duc: Fix build.
* gnu/packages/patches/duc-fix-test-sh.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it here. * gnu/packages/disk.scm (duc): Use it here. Change-Id: I664614dc35fb88f8ee63dbe727a38f17f4af0f8e Signed-off-by: Christopher Baines <mail@cbaines.net>
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/disk.scm4
-rw-r--r--gnu/packages/patches/duc-fix-test-sh.patch70
3 files changed, 74 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 5cc134d3d3..6f191a1bfb 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1114,6 +1114,7 @@ dist_patch_DATA = \
%D%/packages/patches/dstat-fix-crash-when-specifying-delay.patch \
%D%/packages/patches/dstat-skip-devices-without-io.patch \
%D%/packages/patches/dtc-meson-cell-overflow.patch \
+ %D%/packages/patches/duc-fix-test-sh.patch \
%D%/packages/patches/dune-common-skip-failing-tests.patch \
%D%/packages/patches/dune-grid-add-missing-include-cassert.patch \
%D%/packages/patches/dune-istl-fix-solver-playground.patch \
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index b0117d77ce..ea18a98ab6 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -1562,7 +1562,9 @@ reliably with @code{bmaptool} than with traditional tools, like @code{dd} or
(file-name (git-file-name name version))
(sha256
(base32
- "0sglcn38rgn6y3m5ahngizyn3x2rzhqjphs7g0ppnlinkz56rcv4"))))
+ "0sglcn38rgn6y3m5ahngizyn3x2rzhqjphs7g0ppnlinkz56rcv4"))
+ (patches
+ (search-patches "duc-fix-test-sh.patch"))))
(build-system gnu-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/patches/duc-fix-test-sh.patch b/gnu/packages/patches/duc-fix-test-sh.patch
new file mode 100644
index 0000000000..8b79e4bd03
--- /dev/null
+++ b/gnu/packages/patches/duc-fix-test-sh.patch
@@ -0,0 +1,70 @@
+From a84835e481d9b5fcfc101bb1fa5aba38a245b6f3 Mon Sep 17 00:00:00 2001
+Message-ID: <a84835e481d9b5fcfc101bb1fa5aba38a245b6f3.1711177846.git.vivien@planete-kraus.eu>
+From: Fabio Natali <me@fabionatali.com>
+Date: Wed, 30 Aug 2023 11:35:40 +0100
+Subject: [PATCH] Fix test.sh which used to fail in some circumstances
+
+duc's behaviour may legitimately vary depending on the system it is being run
+on. The test.sh script used to fail in some circumstances as it was too strict
+and it did not account for some legitimate behaviour differences.
+
+Fix: update `test.sh' variable
+---
+
+This is a squash of pull request https://github.com/zevv/duc/pull/318,
+waiting to be merged.
+
+ test.sh | 22 ++++++++++++++++------
+ 1 file changed, 16 insertions(+), 6 deletions(-)
+
+diff --git a/test.sh b/test.sh
+index eb592be..7668499 100755
+--- a/test.sh
++++ b/test.sh
+@@ -130,8 +130,8 @@ fi
+ # Actual tests are below. If you add test cases above, these need to be tweaked.
+ #---------------------------------------------------------------------------------
+
+-
+-cat ${DUC_TEST_DIR}.out | grep -q "Indexed 77 files and 47 directories, (91869B apparent, 540672B actual)"
++# An exact match is expected on the apparent size; the actual size may vary.
++cat ${DUC_TEST_DIR}.out | grep -q "Indexed 77 files and 47 directories, (91869B apparent, [0-9]*B actual)"
+
+ if [ "$?" = "0" ]; then
+ echo "report: ok"
+@@ -153,16 +153,26 @@ if [ "$?" != "0" ]; then
+ exit 1
+ fi
+
+-testsum="33e2be27a9e70e81d4006a2d7b555948"
++# When two or more hard links point to the same file and when running duc with
++# the `--check-hard-links' option, only one of the hard links will be
++# counted. However, duc may pick up and display a different hard link depending
++# on the system it is being run on. Since our tests include three hard links to
++# the same file, we should be expecting three possible outcomes, all equally
++# valid, each corresponding to one of the following MD5 checksums.
++testsum0="78dbf880ef6917ea665fddb5ebb44428"
++testsum1="38ab7b7d1ec6ac57d672c5618371386d"
++testsum2="33e2be27a9e70e81d4006a2d7b555948"
+ md5sum ${DUC_TEST_DIR}.out > /tmp/.duc.md5sum
+-grep -q $testsum /tmp/.duc.md5sum
++grep -q "$testsum0\|$testsum1\|$testsum2" /tmp/.duc.md5sum
+
+ if [ "$?" = "0" ]; then
+ echo "md5sum: ok"
+ else
+ echo "md5sum: failed"
+- echo "expected: "
+- echo "$testsum ${DUC_TEST_DIR}.out"
++ echo "expected one of: "
++ echo "$testsum0 ${DUC_TEST_DIR}.out"
++ echo "$testsum1 ${DUC_TEST_DIR}.out"
++ echo "$testsum2 ${DUC_TEST_DIR}.out"
+ echo "got: "
+ cat /tmp/.duc.md5sum
+ exit 1
+
+base-commit: b8f9659688a38476df9f613be3342bb8e2d65402
+--
+2.41.0
+