chainlint.pl: don't require &
background command to end with &&
The exit status of the `&` asynchronous operator which starts a command in the background is unconditionally zero, and the few places in the test scripts which launch commands asynchronously are not interested in the exit status of the `&` operator (though they often capture the background command's PID). As such, there is little value in complaining about broken &&-chain for a command launched in the background, and doing so would only make busy-work for test authors. Therefore, take this special case into account when checking for &&-chain breakage. Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
d00113ec34
commit
aabc3258a1
@ -483,7 +483,7 @@ sub match_ending {
|
||||
}
|
||||
|
||||
my @safe_endings = (
|
||||
[qr/^(?:&&|\|\||\|)$/],
|
||||
[qr/^(?:&&|\|\||\||&)$/],
|
||||
[qr/^(?:exit|return)$/, qr/^(?:\d+|\$\?)$/],
|
||||
[qr/^(?:exit|return)$/, qr/^(?:\d+|\$\?)$/, qr/^;$/],
|
||||
[qr/^(?:exit|return|continue)$/],
|
||||
|
9
t/chainlint/chain-break-background.expect
Normal file
9
t/chainlint/chain-break-background.expect
Normal file
@ -0,0 +1,9 @@
|
||||
JGIT_DAEMON_PID= &&
|
||||
git init --bare empty.git &&
|
||||
> empty.git/git-daemon-export-ok &&
|
||||
mkfifo jgit_daemon_output &&
|
||||
{
|
||||
jgit daemon --port="$JGIT_DAEMON_PORT" . > jgit_daemon_output &
|
||||
JGIT_DAEMON_PID=$!
|
||||
} &&
|
||||
test_expect_code 2 git ls-remote --exit-code git://localhost:$JGIT_DAEMON_PORT/empty.git
|
10
t/chainlint/chain-break-background.test
Normal file
10
t/chainlint/chain-break-background.test
Normal file
@ -0,0 +1,10 @@
|
||||
JGIT_DAEMON_PID= &&
|
||||
git init --bare empty.git &&
|
||||
>empty.git/git-daemon-export-ok &&
|
||||
mkfifo jgit_daemon_output &&
|
||||
{
|
||||
# LINT: exit status of "&" is always 0 so &&-chaining immaterial
|
||||
jgit daemon --port="$JGIT_DAEMON_PORT" . >jgit_daemon_output &
|
||||
JGIT_DAEMON_PID=$!
|
||||
} &&
|
||||
test_expect_code 2 git ls-remote --exit-code git://localhost:$JGIT_DAEMON_PORT/empty.git
|
Loading…
Reference in New Issue
Block a user