lkml.org 
[lkml]   [2021]   [Dec]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH 02/12] perf test: Shell - only run .sh shell files to skip other files
From


On 12/16/21 10:22, Daniel Thompson wrote:
> On Wed, Dec 15, 2021 at 04:03:53PM +0000, carsten.haitzler@foss.arm.com wrote:
>> From: Carsten Haitzler <carsten.haitzler@arm.com>
>>
>> You edit your scripts in the tests and end up with your usual shell
>> backup files with ~ or .bak or something else at the end, but then your
>> next perf test run wants to run the backups too. You might also have perf
>> .data files in the directory or something else undesireable as well. You end
>> up chasing which test is the one you edited and the backup and have to keep
>> removing all the backup files, so automatically skip any files that are
>> not plain *.sh scripts to limit the time wasted in chasing ghosts.
>>
>> Signed-off-by: Carsten Haitzler <carsten.haitzler@arm.com>
>
> Why require both executable *and* endswith('.sh')?

Paranoia. :) Making sure we really only run things that are meant to be
run and avoid other junk/tmp/whatever files.

>> ---
>> tools/perf/tests/builtin-test.c | 15 ++++++++++++++-
>> 1 file changed, 14 insertions(+), 1 deletion(-)
>>
>> diff --git a/tools/perf/tests/builtin-test.c b/tools/perf/tests/builtin-test.c
>> index ece272b55587..849737ead9fd 100644
>> --- a/tools/perf/tests/builtin-test.c
>> +++ b/tools/perf/tests/builtin-test.c
>> @@ -297,7 +297,20 @@ static const char *shell_test__description(char *description, size_t size,
>> for (int __i = 0; __i < nr && (ent = entlist[__i]); __i++) \
>> if (!is_directory(base, ent) && \
>> is_executable_file(base, ent) && \
>> - ent->d_name[0] != '.')
>> + ent->d_name[0] != '.' && \
>> + (shell_file_is_sh(ent->d_name) == 0))
>> +
>> +static int shell_file_is_sh(const char *file)
>> +{
>> + const char *ext;
>> +
>> + ext = strchr(file, '.');
>
> Shouldn't this be strrchr()?

Oh indeed probably should be. My bad. Nothing uses a dot inside the
filename yet. I can fix that - will wait for the rest to come in before
doing an update

\
 
 \ /
  Last update: 2021-12-16 20:47    [W:0.393 / U:0.232 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site