Andrei Rybak [off-list ref] writes:
test_expect_success 'mktree refuses to read ls-tree -r output (1)' '
- test_must_fail git mktree <all >actual
+ test_must_fail git mktree <all >actual &&
+ test_must_be_empty actual
'
test_expect_success 'mktree refuses to read ls-tree -r output (2)' '
- test_must_fail git mktree <all.withsub >actual
+ test_must_fail git mktree <all.withsub >actual &&
+ test_must_be_empty actual
'
I am ambivalent. As long as a failing command signals its failure
with its non-zero exit status value, the consumer of the output
should not blindly use the output from such a failing command. Is
there a strong reason why we want users rely on the command to be
silent when it fails?
An obvious alternative is to stop producing "actual" file, and it
might be a better idea; unless there is a good reason why we should
expect the command to be silent, that is.
Thanks.