Re: [PATCH] t/lib-httpd: switch SANITY check for NOT_ROOT

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Torsten Bögershausen <tboegi@xxxxxx> writes:

> If I run that sequence manually:
> chmod 755 .
> touch x
> chmod a-w .
> rm x
> touch y
>
> x is gone, (but shoudn't according to POSIX)
> y is not created, "access denied"

Good (or is that Sad?).

> diff --git a/t/test-lib.sh b/t/test-lib.sh
> --- a/t/test-lib.sh
> +++ b/t/test-lib.sh
> @@ -1039,7 +1039,17 @@ test_lazy_prereq NOT_ROOT '
>  # When the tests are run as root, permission tests will report that
>  # things are writable when they shouldn't be.
>  test_lazy_prereq SANITY '
> -       test_have_prereq POSIXPERM,NOT_ROOT
> +       mkdir ds &&
> +       touch ds/x &&
> +       chmod -w ds &&
> +       if rm ds/x
> +       then
> +               chmod +w ds
> +               false
> +       else
> +               chmod +w ds
> +               true
> +       fi
>  '

It looks like a better approach overall.

Because we cannot know where $(pwd) is when lazy prereq is evaluated
(it typically is at the root of the trash hierarchy, but not always)
and we would not want to add, leave or remove random files in the
working tree that are not expected by the tests proper (e.g. a test
that counts untracked paths are not expecting ds/ to be there), your
actual "fix" may need to be a bit more careful, though.

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]