]> git.ipfire.org Git - thirdparty/rsync.git/commitdiff
Allow `ls(1)` to fail in test setup
authorEmily <hello@emily.moe>
Tue, 5 Aug 2025 14:55:24 +0000 (15:55 +0100)
committerAndrew Tridgell <andrew@tridgell.net>
Sat, 23 Aug 2025 07:30:59 +0000 (17:30 +1000)
This can happen when the tests are unable to `stat(2)` some files in
`/etc`, `/bin`, or `/`, due to Unix permissions or other sandboxing. We
still guard against serious errors, which use exit code 2.

testsuite/longdir.test
testsuite/rsync.fns

index 8d66bb5ff5abf35315bc98f8c71b97a96819ba3b..2674729238a55de805a55aabc4caf6cd93fd508e 100644 (file)
@@ -16,9 +16,9 @@ makepath "$longdir" || test_skipped "unable to create long directory"
 touch "$longdir/1" || test_skipped "unable to create files in long directory"
 date > "$longdir/1"
 if [ -r /etc ]; then
-    ls -la /etc >"$longdir/2"
+    ls -la /etc >"$longdir/2" || [ $? -eq 1 ]
 else
-    ls -la / >"$longdir/2"
+    ls -la / >"$longdir/2" || [ $? -eq 1 ]
 fi
 checkit "$RSYNC --delete -avH '$fromdir/' '$todir'" "$fromdir/" "$todir"
 
index 2ab97b69cd54c09041a259cb8928148a7eba8ecf..f7da363fee34513503de0549231c16fab5e00172 100644 (file)
@@ -195,15 +195,15 @@ hands_setup() {
     echo some data > "$fromdir/dir/subdir/foobar.baz"
     mkdir "$fromdir/dir/subdir/subsubdir"
     if [ -r /etc ]; then
-       ls -ltr /etc > "$fromdir/dir/subdir/subsubdir/etc-ltr-list"
+       ls -ltr /etc > "$fromdir/dir/subdir/subsubdir/etc-ltr-list" || [ $? -eq 1 ]
     else
-       ls -ltr / > "$fromdir/dir/subdir/subsubdir/etc-ltr-list"
+       ls -ltr / > "$fromdir/dir/subdir/subsubdir/etc-ltr-list" || [ $? -eq 1 ]
     fi
     mkdir "$fromdir/dir/subdir/subsubdir2"
     if [ -r /bin ]; then
-       ls -lt /bin > "$fromdir/dir/subdir/subsubdir2/bin-lt-list"
+       ls -lt /bin > "$fromdir/dir/subdir/subsubdir2/bin-lt-list" || [ $? -eq 1 ]
     else
-       ls -lt / > "$fromdir/dir/subdir/subsubdir2/bin-lt-list"
+       ls -lt / > "$fromdir/dir/subdir/subsubdir2/bin-lt-list" || [ $? -eq 1 ]
     fi
 
 #      echo testing head: