Re: [PATCH 1/7] perf test: Skip reason for suites with 1 test

From: John Garry
Date: Fri May 13 2022 - 11:29:25 EST


On 13/05/2022 05:05, Ian Rogers wrote:
When a suite has just 1 subtest, the subtest number is given as -1 to
avoid indented printing. When this subtest number is seen for the skip
reason, use the reason of the first test.

Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>
---
tools/perf/tests/builtin-test.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/perf/tests/builtin-test.c b/tools/perf/tests/builtin-test.c
index fac3717d9ba1..33fcafa0fa79 100644
--- a/tools/perf/tests/builtin-test.c
+++ b/tools/perf/tests/builtin-test.c
@@ -137,10 +137,10 @@ static bool has_subtests(const struct test_suite *t)
static const char *skip_reason(const struct test_suite *t, int subtest)
{
- if (t->test_cases && subtest >= 0)
- return t->test_cases[subtest].skip_reason;
+ if (!t->test_cases)
+ return NULL;
- return NULL;
+ return t->test_cases[subtest >= 0 ? subtest : 0].skip_reason;
}

I was not sure which suite has a single tastcase, so I experimented for libpfm4 by deleting a testcase so it has only 1x remaining, I get:

before your change:
john@localhost:~/acme/tools/perf> sudo ./perf test 63
63: Test libpfm4 support : Skip

after:

john@localhost:~/acme/tools/perf> sudo ./perf test 63
63: Test libpfm4 support : Skip (not compiled in)

Although it is odd to have a single sub-test, is there a reason for which we don't print its name? We print the name when there are multiple sub-tests.

Thanks,
John