coreutils
[Top][All Lists]
Advanced

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

Re: [PATCH] maint: make some shell and perl scripts executable in 'tests


From: Pádraig Brady
Subject: Re: [PATCH] maint: make some shell and perl scripts executable in 'tests/'
Date: Mon, 22 Jul 2013 00:20:37 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130110 Thunderbird/17.0.2

On 07/22/2013 12:14 AM, Bernhard Voelker wrote:
> On 07/22/2013 12:22 AM, Pádraig Brady wrote:
>> How about something like this instead?
>>
>> find tests/ \( -name '*.sh' -o -name '*.pl' \) \! -perm /111 -print |
>> grep . && { echo ...; exit 1; }
> 
> Good idea!  I knew it was ugly.
> 
> Thanks for the review!
> 2 nits:
> 
> a) find ! -perm /111 will find only files with *any* of ugo=x set;
> we need ! -perm -111, don't we?
> 
> b) we one other file extension (besides .sh and .pl), see tests/cfg.mk,
> line 26:
> 
>   TEST_EXTENSIONS = .sh .pl .xpl
> 
> I used that one in the following amendment.
> 
> Have a nice day,
> Berny
> 
>>From 0c452fe97a395a1ecc2cacce3609ea6be366ac8e Mon Sep 17 00:00:00 2001
> From: Bernhard Voelker <address@hidden>
> Date: Mon, 22 Jul 2013 01:07:52 +0200
> Subject: [PATCH] maint: make some shell and perl scripts executable in
>  'tests/'
> 
> Some newer test scripts - partially ones from me - are not executable.
> It does not seem to be a problem, but for consistency and to avoid
> future problems on unusual platforms or shells change the permissions
> by adding the executable bit.
> 
> * cfg.mk (sc_tests_executable): Add new syntax-check rule to ensure
> that all test scripts are executable.
> * tests/df/df-output.sh: Change file mode from 644 to 755.
> * tests/du/threshold.sh: Likewise.
> * tests/factor/run.sh: Likewise.
> * tests/init.sh: Likewise.
> * tests/misc/csplit-suppress-matched.pl: Likewise.
> * tests/misc/numfmt.pl: Likewise.
> * tests/tail-2/retry.sh: Likewise.
> ---
>  cfg.mk                                | 8 ++++++++
>  tests/df/df-output.sh                 | 0
>  tests/du/threshold.sh                 | 0
>  tests/factor/run.sh                   | 0
>  tests/init.sh                         | 0
>  tests/misc/csplit-suppress-matched.pl | 0
>  tests/misc/numfmt.pl                  | 0
>  tests/tail-2/retry.sh                 | 0
>  8 files changed, 8 insertions(+)
>  mode change 100644 => 100755 tests/df/df-output.sh
>  mode change 100644 => 100755 tests/du/threshold.sh
>  mode change 100644 => 100755 tests/factor/run.sh
>  mode change 100644 => 100755 tests/init.sh
>  mode change 100644 => 100755 tests/misc/csplit-suppress-matched.pl
>  mode change 100644 => 100755 tests/misc/numfmt.pl
>  mode change 100644 => 100755 tests/tail-2/retry.sh
> 
> diff --git a/cfg.mk b/cfg.mk
> index 7b14c07..a4f36ff 100644
> --- a/cfg.mk
> +++ b/cfg.mk
> @@ -115,6 +115,14 @@ sc_tests_list_consistency:
>           | $(EGREP) "$$test_extensions_rx\$$";                       \
>       } | sort | uniq -u | grep . && exit 1; :
> 
> +# Ensure that all version-controlled test scripts are executable.
> +sc_tests_executable:
> +     @test_extensions_rx=`echo $(TEST_EXTENSIONS)                    \
> +       | sed -e "s/ / -o -name */g" -e "s/^/-name */"`; \
> +     find tests/ \( $$test_extensions_rx \) \! -perm -111 -print \
> +       | sed -e "s/^/$(ME): Please make test executable: /" | grep . \
> +         && exit 1; :
> +

looks good.

thanks!
Pádraig.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]