Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

perf test: Skip not fail tp fields test when insufficient permissions

Clean up return value to be TEST_* rather than unspecific integer. Add
test case skip reason. Skip test if EACCES comes back from
evsel__newtp.

Signed-off-by: Ian Rogers <irogers@google.com>
Link: https://lore.kernel.org/r/20241001052327.7052-4-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org>

authored by

Ian Rogers and committed by
Namhyung Kim
7457bcfc 1334ee91

+25 -15
+25 -15
tools/perf/tests/evsel-tp-sched.c
··· 36 36 int subtest __maybe_unused) 37 37 { 38 38 struct evsel *evsel = evsel__newtp("sched", "sched_switch"); 39 - int ret = 0; 39 + int ret = TEST_OK; 40 40 41 41 if (IS_ERR(evsel)) { 42 42 pr_debug("evsel__newtp failed with %ld\n", PTR_ERR(evsel)); 43 - return -1; 43 + return PTR_ERR(evsel) == -EACCES ? TEST_SKIP : TEST_FAIL; 44 44 } 45 45 46 46 if (evsel__test_field(evsel, "prev_comm", 16, false)) 47 - ret = -1; 47 + ret = TEST_FAIL; 48 48 49 49 if (evsel__test_field(evsel, "prev_pid", 4, true)) 50 - ret = -1; 50 + ret = TEST_FAIL; 51 51 52 52 if (evsel__test_field(evsel, "prev_prio", 4, true)) 53 - ret = -1; 53 + ret = TEST_FAIL; 54 54 55 55 if (evsel__test_field(evsel, "prev_state", sizeof(long), true)) 56 - ret = -1; 56 + ret = TEST_FAIL; 57 57 58 58 if (evsel__test_field(evsel, "next_comm", 16, false)) 59 - ret = -1; 59 + ret = TEST_FAIL; 60 60 61 61 if (evsel__test_field(evsel, "next_pid", 4, true)) 62 - ret = -1; 62 + ret = TEST_FAIL; 63 63 64 64 if (evsel__test_field(evsel, "next_prio", 4, true)) 65 - ret = -1; 65 + ret = TEST_FAIL; 66 66 67 67 evsel__delete(evsel); 68 68 ··· 70 70 71 71 if (IS_ERR(evsel)) { 72 72 pr_debug("evsel__newtp failed with %ld\n", PTR_ERR(evsel)); 73 - return -1; 73 + return TEST_FAIL; 74 74 } 75 75 76 76 if (evsel__test_field(evsel, "comm", 16, false)) 77 - ret = -1; 77 + ret = TEST_FAIL; 78 78 79 79 if (evsel__test_field(evsel, "pid", 4, true)) 80 - ret = -1; 80 + ret = TEST_FAIL; 81 81 82 82 if (evsel__test_field(evsel, "prio", 4, true)) 83 - ret = -1; 83 + ret = TEST_FAIL; 84 84 85 85 if (evsel__test_field(evsel, "target_cpu", 4, true)) 86 - ret = -1; 86 + ret = TEST_FAIL; 87 87 88 88 evsel__delete(evsel); 89 89 return ret; 90 90 } 91 91 92 - DEFINE_SUITE("Parse sched tracepoints fields", perf_evsel__tp_sched_test); 92 + static struct test_case tests__perf_evsel__tp_sched_test[] = { 93 + TEST_CASE_REASON("Parse sched tracepoints fields", 94 + perf_evsel__tp_sched_test, 95 + "permissions"), 96 + { .name = NULL, } 97 + }; 98 + 99 + struct test_suite suite__perf_evsel__tp_sched_test = { 100 + .desc = "Parse sched tracepoints fields", 101 + .test_cases = tests__perf_evsel__tp_sched_test, 102 + };