On Cygwin tests/cksum/md5sum-bsd.sh fails with the following logged:
+ :
./tests/cksum/md5sum-bsd.sh: line 73: backslash\is\not\dir\sep: No such
file or directory
+ remove_tmp_
+ __st=1
+ cleanup_
[...]
exit 0
After checking if backslash is a directory seperator, $? is set to 1 on
Cygwin. Since we don't have anything after this 'Exit' is called and
__st is set to $? which is 1. This value of __st is what init.sh
actually calls 'exit' with.
The fix is to reset $? with ':'. Will push in a bit.
Collin
>From 192bcefdc9f3a0b29e3a9d057cae06ecf1af3189 Mon Sep 17 00:00:00 2001
Message-ID: <192bcefdc9f3a0b29e3a9d057cae06ecf1af3189.1753515191.git.collin.fu...@gmail.com>
From: Collin Funk <[email protected]>
Date: Sat, 26 Jul 2025 00:30:51 -0700
Subject: [PATCH] tests: avoid a false failure on Cygwin
* tests/cksum/md5sum-bsd.sh: Make sure that $? is 0 before calling
'Exit'.
---
tests/cksum/md5sum-bsd.sh | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/tests/cksum/md5sum-bsd.sh b/tests/cksum/md5sum-bsd.sh
index aa2d24d89..5092a4eb4 100755
--- a/tests/cksum/md5sum-bsd.sh
+++ b/tests/cksum/md5sum-bsd.sh
@@ -70,7 +70,11 @@ for i in 'a' ' b' '*c' 'dd' ' '; do
done
md5sum --strict -c check.md5 || fail=1
-if : > 'backslash\is\not\dir\sep'; then
+if ! echo '' > 'backslash\is\not\dir\sep'; then
+ # Make sure our exit status is 0 so the above line does not cause 'Exit'
+ # to fail.
+ :
+else
# Ensure we can --check BSD traditional format we produce
# with the GNU extension of escaped newlines
nl='
--
2.50.1