diff options
author | Ian Rogers <irogers@google.com> | 2021-11-04 07:41:54 +0100 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2021-11-13 14:32:26 +0100 |
commit | 9be56d30802f6da22c7afe7e70a77a3bdda6561b (patch) | |
tree | 6ceb10994ab9e238ad99ae84a7e0e3b1eae25243 | |
parent | perf test: Add test case struct. (diff) | |
download | linux-9be56d30802f6da22c7afe7e70a77a3bdda6561b.tar.xz linux-9be56d30802f6da22c7afe7e70a77a3bdda6561b.zip |
perf test: Add skip reason to test case.
This doesn't exist in kunit, but will ease the transition from perf
tests.
Signed-off-by: Ian Rogers <irogers@google.com>
Tested-by: Sohaib Mohamed <sohaib.amhmd@gmail.com>
Acked-by: Jiri Olsa <jolsa@redhat.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Brendan Higgins <brendanhiggins@google.com>
Cc: Daniel Latypov <dlatypov@google.com>
Cc: David Gow <davidgow@google.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jin Yao <yao.jin@linux.intel.com>
Cc: John Garry <john.garry@huawei.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Clarke <pc@us.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: https://lore.kernel.org/r/20211104064208.3156807-9-irogers@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-rw-r--r-- | tools/perf/tests/builtin-test.c | 3 | ||||
-rw-r--r-- | tools/perf/tests/tests.h | 11 |
2 files changed, 13 insertions, 1 deletions
diff --git a/tools/perf/tests/builtin-test.c b/tools/perf/tests/builtin-test.c index a6d84feba483..db76d7d10749 100644 --- a/tools/perf/tests/builtin-test.c +++ b/tools/perf/tests/builtin-test.c @@ -142,6 +142,9 @@ static const char *skip_reason(const struct test_suite *t, int subtest) if (t->subtest.skip_reason) return t->subtest.skip_reason(subtest); + if (t->test_cases && subtest >= 0) + return t->test_cases[subtest].skip_reason; + return NULL; } diff --git a/tools/perf/tests/tests.h b/tools/perf/tests/tests.h index 71b8d2c88e5c..f87129b63d92 100644 --- a/tools/perf/tests/tests.h +++ b/tools/perf/tests/tests.h @@ -34,6 +34,7 @@ typedef int (*test_fnptr)(struct test_suite *, int); struct test_case { const char *name; const char *desc; + const char *skip_reason; test_fnptr run_case; }; @@ -61,7 +62,15 @@ struct test_suite { .run_case = test__##_name, \ } -#define DEFINE_SUITE(description, _name) \ +#define TEST_CASE_REASON(description, _name, _reason) \ + { \ + .name = #_name, \ + .desc = description, \ + .run_case = test__##_name, \ + .skip_reason = _reason, \ + } + +#define DEFINE_SUITE(description, _name) \ struct test_case tests__##_name[] = { \ TEST_CASE(description, _name), \ { .name = NULL, } \ |