On Tue, Jun 30, 2020 at 01:50:22PM -0400, Eric Sunshine wrote: > On Tue, Jun 30, 2020 at 1:17 PM Taylor Blau <me@xxxxxxxxxxxx> wrote: > > In a759bfa9ee (t4216: add end to end tests for git log with Bloom > > filters, 2020-04-06), a 'rm' invocation was added without a > > corresponding '&&' chain. > > > > This ends up working fine when the file already exists, in which case > > 'rm' exits cleanly and the rest of the function executes normally. When > > the file does _not_ exist, however, 'rm' returns an unclean exit code, > > causing the function to terminate. > > This explanation makes no sense. Since this command was not part of > the &&-chain, its failure would not cause the function to terminate > prematurely nor would it affect the return value of the function. This > explanation would make sense, however, if you're talking about the > behavior _after_ fixing the broken &&-chain. Fair enough. For what it's worth, this explanation *does* make sense if you 'set -e' beforehand, which I am accustomed to (and had incorrectly assumed that tests in 't' also have 'set -e', when they do not). I've corrected the patch and shortened it to account for your suggestions. Mind taking a look at the updated version and telling me what you think? --- >8 --- Subject: [PATCH] t4216: fix broken '&&'-chain The 'rm' added in a759bfa9ee (t4216: add end to end tests for git log with Bloom filters, 2020-04-06) should be placed within the function's '&&'-chain. The file being removed may not exist (for eg., in the case of '--run', in which case it may not be generated beforehand by a skipped test), and so add '-f' to account for the file's optional existence. Helped-by: Eric Sunshine <sunshine@xxxxxxxxxxxxxx> Signed-off-by: Taylor Blau <me@xxxxxxxxxxxx> --- t/t4216-log-bloom.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/t/t4216-log-bloom.sh b/t/t4216-log-bloom.sh index c855bcd3e7..0b4cc4f8d1 100755 --- a/t/t4216-log-bloom.sh +++ b/t/t4216-log-bloom.sh @@ -53,7 +53,7 @@ sane_unset GIT_TRACE2_PERF_BRIEF sane_unset GIT_TRACE2_CONFIG_PARAMS setup () { - rm "$TRASH_DIRECTORY/trace.perf" + rm -f "$TRASH_DIRECTORY/trace.perf" && git -c core.commitGraph=false log --pretty="format:%s" $1 >log_wo_bloom && GIT_TRACE2_PERF="$TRASH_DIRECTORY/trace.perf" git -c core.commitGraph=true log --pretty="format:%s" $1 >log_w_bloom } -- 2.27.0.224.g4cfa086e50