diff options
| author | Eric Sunshine <sunshine@sunshineco.com> | 2022-09-01 00:29:47 +0000 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2022-09-01 10:07:40 -0700 |
| commit | aabc3258a1da5f06e0b2492f450d4b8e7e8137e5 (patch) | |
| tree | ab283dec966538e1050a0da387b02fa69d68492d /t/chainlint | |
| parent | t/Makefile: apply chainlint.pl to existing self-tests (diff) | |
| download | git-aabc3258a1da5f06e0b2492f450d4b8e7e8137e5.tar.gz git-aabc3258a1da5f06e0b2492f450d4b8e7e8137e5.zip | |
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>
Diffstat (limited to 't/chainlint')
| -rw-r--r-- | t/chainlint/chain-break-background.expect | 9 | ||||
| -rw-r--r-- | t/chainlint/chain-break-background.test | 10 |
2 files changed, 19 insertions, 0 deletions
diff --git a/t/chainlint/chain-break-background.expect b/t/chainlint/chain-break-background.expect new file mode 100644 index 0000000000..28f9114f42 --- /dev/null +++ b/t/chainlint/chain-break-background.expect @@ -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 diff --git a/t/chainlint/chain-break-background.test b/t/chainlint/chain-break-background.test new file mode 100644 index 0000000000..e10f656b05 --- /dev/null +++ b/t/chainlint/chain-break-background.test @@ -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 |
