On 12/17/21 15:00, Suzuki K Poulose wrote:
On 15/12/2021 16:03, 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
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)
nit: In line with the other "helpers", could this be:
is_shell_file_sh() or even is_shell_script() ?
Also, for consistency, could this be bool, like the other helpers ?
i.e., returns true when the condition matches ?
Suzuki
Sure - I was going for the other pattern where 0 == true/matches/succeeds pattern but can use the bool one and give it a slight rename.
+{ + const char *ext;
+ ext = strchr(file, '.'); + if (!ext) + return -1; + if (!strcmp(ext, ".sh")) + return 0; + return -1; +}
static const char *shell_tests__dir(char *path, size_t size) {