From cd698f4a5cabbd24b1a8dd6887930358407caf9f Mon Sep 17 00:00:00 2001 From: Fabio Natali Date: Wed, 30 Aug 2023 11:35:40 +0100 Subject: [PATCH 1/2] 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. --- test.sh | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/test.sh b/test.sh index eb592be9..85c6406b 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,9 +153,17 @@ 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" From e97f4135a385268af324f6e3a1149bea33ba646d Mon Sep 17 00:00:00 2001 From: Fabio Natali Date: Wed, 30 Aug 2023 14:43:41 +0100 Subject: [PATCH 2/2] Fix: update `test.sh' variable --- test.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/test.sh b/test.sh index 85c6406b..7668499c 100755 --- a/test.sh +++ b/test.sh @@ -169,8 +169,10 @@ 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