Messages in this thread | | | Date | Thu, 16 Dec 2021 19:45:42 +0000 | Subject | Re: [PATCH 02/12] perf test: Shell - only run .sh shell files to skip other files | From | Carsten Haitzler <> |
| |
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
| |