[PATCH 1/1] test/basic: replaced find -perm +111 with portable alternative

Austin Clements amdragon at MIT.EDU
Mon Jun 10 08:59:40 PDT 2013


LGTM.  Though, I wonder, why not *just* -perm -100?  That isn't quite
a correct test of whether the user can execute it: e.g., if the file
is owned by some other user and a group the current user isn't in,
then -perm -1 is the correct test, though unless the file has some
unusual permissions, -perm -100 is likely to pass anyway.  But the
test you have (and the test that was there before) isn't quite correct
either: if the file is owned by the current user and has some crazy
permission like 0611, the user won't be able to execute it, even
though someone else could.

It's too bad "-executable" is a GNU extension.

Quoth Tomi Ollila on Jun 08 at 12:37 am:
> The find option syntax `-perm +111` is deprecated gnu find feature.
> The replacement `( -perm -100 -o -perm -10 -o -perm 1 )` should also
> work outside of the GNU domain.
> ---
>  test/basic | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/test/basic b/test/basic
> index 1b2a7d2..64eb7d7 100755
> --- a/test/basic
> +++ b/test/basic
> @@ -53,7 +53,8 @@ test_expect_code 2 'failure to clean up causes the test to fail' '
>  test_begin_subtest 'Ensure that all available tests will be run by notmuch-test'
>  eval $(sed -n -e '/^TESTS="$/,/^"$/p' $TEST_DIRECTORY/notmuch-test)
>  tests_in_suite=$(for i in $TESTS; do echo $i; done | sort)
> -available=$(find "$TEST_DIRECTORY" -maxdepth 1 -type f -perm +111  \
> +available=$(find "$TEST_DIRECTORY" -maxdepth 1 -type f \
> +   '(' -perm -100 -o -perm -10 -o -perm -1 ')' \
>      ! -name aggregate-results.sh	\
>      ! -name arg-test			\
>      ! -name hex-xcode			\


More information about the notmuch mailing list