Re: [PATCH] test-lib: abort when can't remove trash directory
- From
Jeff King <peff@peff.net>
- Date
- Apr 21, 2017, 20:15 UTC
- Message-ID
- <20170421201527.wdtxhox3p4g35gex@sigill.intra.peff.net>
- In-Reply-To
- <20170420165230.5951-1-szeder.dev@gmail.com>
On Thu, Apr 20, 2017 at 06:52:30PM +0200, SZEDER Gábor wrote:
Show 11 quoted lines
> diff --git a/t/test-lib.sh b/t/test-lib.sh
> index 13b569682..e9e6f677d 100644
> --- a/t/test-lib.sh
> +++ b/t/test-lib.sh
> @@ -761,9 +761,12 @@ test_done () {
> say "1..$test_count$skip_all"
> fi
>
> - test -d "$remove_trash" &&
> + test -d "$remove_trash" ||
> + error "Tests passed but trash directory already removed before test cleanup; aborting"I think I found out why this "test -d" was here in the first place:
$ ./t0000-basic.sh --debug [...] # passed all 77 test(s) 1..77 error: Tests passed but trash directory already removed before test cleanup; aborting
When --debug is in use, we do not set $remove_trash. The original was relying on 'test -d ""' to return false.
I think this whole removal block should probably be moved inside a conditional like:
if test -n "$remove_trash"
then
...
fiI also wonder if we should come up with a better name than $remove_trash. A script which unknowingly overwrites that variable would be disastrous.
Perhaps we should drop it entirely and just do:
if test -z "$debug"
then
test -d "$TRASH_DIRECTORY" ||
error "Tests passed but..."
[and so forth...]
fi-Peff