On Sun, Apr 23, 2017 at 09:02:41PM -0700, Junio C Hamano wrote:

> >> That looks fine, assuming the answer to the "is the cwd important"
> >> question is "no".
> >
> > And I do think the answer would be "yes", unfortunately.  There are
> > systems that do not even allow a file to be removed while it is
> > open, so...
> 
> In addition to "some platforms may not want cwd removed", this
> directory would be where test_at_end_hook_ will be running in, so
> we'd better be consistent with the current behaviour.

Good point. There's only one caller, but it does care about being in
that directory.

> Second try that hopefully is much less damaging
> 
>  t/test-lib.sh | 13 ++++++++-----
>  1 file changed, 8 insertions(+), 5 deletions(-)
> 
> diff --git a/t/test-lib.sh b/t/test-lib.sh
> index cb0766b9ee..4e8f511870 100644
> --- a/t/test-lib.sh
> +++ b/t/test-lib.sh
> @@ -760,12 +760,15 @@ test_done () {
>                       say "1..$test_count$skip_all"
>               fi
>  
> -             test -d "$remove_trash" ||
> -             error "Tests passed but trash directory already removed before 
> test cleanup; aborting"
> +             if test -z "$debug"
> +             then
> +                     test -d "$TRASH_DIRECTORY" ||
> +                     error "Tests passed but trash directory already removed 
> before test cleanup; aborting"
>  
> -             cd "$(dirname "$remove_trash")" &&
> -             rm -rf "$(basename "$remove_trash")" ||
> -             error "Tests passed but test cleanup failed; aborting"
> +                     cd "$(dirname "$TRASH_DIRECTORY")" &&
> +                     rm -fr "$TRASH_DIRECTORY" ||
> +                     error "Tests passed but test cleanup failed; aborting"
> +             fi

Yeah, that looks good to me.

-Peff

Reply via email to