Messages in this thread | | | From | Ian Rogers <> | Date | Fri, 13 May 2022 08:42:04 -0700 | Subject | Re: [PATCH 1/7] perf test: Skip reason for suites with 1 test |
| |
On Fri, May 13, 2022 at 8:29 AM John Garry <john.garry@huawei.com> wrote: > > 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@google.com> > > --- > > 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.
The reason was to replicate the existing "perf test" behavior before the kunit style transition. The main place we get tests with a single sub-test is from the DEFINE_SUITE macro: https://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git/tree/tools/perf/tests/tests.h?h=perf/core#n67 I agree it looks kind of weird and was inheriting the data structures from kunit and the format of the output from perf test.
Thanks, Ian
> Thanks, > John
| |