This test uses (... || true) as a shorthand for an if-then-else
statement. The subshell prevents it from breaking the top-level
&&-chain.

However, an upcoming change will teach --chain-lint to check the
&&-chain inside subshells. Although it specially recognizes and allows
(... || git ...) and (... || test*), it intentionally avoids treating
(... || true) specially since such a construct typically can be
expressed more naturally with test_might_fail() and a normal &&-chain.

This case is special, though, since the invoked command, 'setfacl',
might not even exist (indeed, MacOS has no such command) which is not a
valid use-case for test_might_fail(). Sidestep the issue by wrapping the
"||" expression in a "{...}" block instead of a subshell since "{...}"
blocks are not checked for &&-chain breakage.

Signed-off-by: Eric Sunshine <sunsh...@sunshineco.com>
---
 t/t0001-init.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/t/t0001-init.sh b/t/t0001-init.sh
index c413bff9cf..fa44a55a5b 100755
--- a/t/t0001-init.sh
+++ b/t/t0001-init.sh
@@ -260,7 +260,7 @@ test_expect_success POSIXPERM 'init creates a new deep 
directory (umask vs. shar
                # the repository itself should follow "shared"
                mkdir newdir &&
                # Remove a default ACL if possible.
-               (setfacl -k newdir 2>/dev/null || true) &&
+               { setfacl -k newdir 2>/dev/null || true; } &&
                umask 002 &&
                git init --bare --shared=0660 newdir/a/b/c &&
                test_path_is_dir newdir/a/b/c/refs &&
-- 
2.18.0.419.gfe4b301394

Reply via email to