Thread (6 messages) 6 messages, 2 authors, 2021-07-29

Re: [PATCH 3/3] perf test: Be more consistent in use of TEST_*

From: Ian Rogers <irogers@google.com>
Date: 2021-07-29 18:25:10
Also in: lkml

On Thu, Jul 29, 2021 at 6:41 AM Riccardo Mancini [off-list ref] wrote:
Hi Ian,

On Wed, 2021-07-28 at 23:24 -0700, Ian Rogers wrote:
quoted
The TEST_OK, TEST_FAIL and TEST_SKIP enum values are used
inconsistently. Try to reduce this by swapping constants for enum values
to try to be more intention revealing.

Signed-off-by: Ian Rogers <irogers@google.com>
---
 tools/perf/arch/x86/tests/rdpmc.c           |   8 +-
 tools/perf/tests/attr.c                     |   2 +-
 tools/perf/tests/bitmap.c                   |   2 +-
 tools/perf/tests/bp_account.c               |   4 +-
 tools/perf/tests/bp_signal.c                |  51 +++++++--
 tools/perf/tests/code-reading.c             |  12 +-
 tools/perf/tests/cpumap.c                   |  10 +-
 tools/perf/tests/dso-data.c                 |   8 +-
 tools/perf/tests/dwarf-unwind.c             |  14 ++-
 tools/perf/tests/event-times.c              |   2 +-
 tools/perf/tests/evsel-roundtrip-name.c     |  14 +--
 tools/perf/tests/evsel-tp-sched.c           |  28 ++---
 tools/perf/tests/expr.c                     |   4 +-
 tools/perf/tests/fdarray.c                  |   4 +-
 tools/perf/tests/genelf.c                   |   2 +-
 tools/perf/tests/hists_cumulate.c           |   2 +-
 tools/perf/tests/hists_filter.c             |  12 +-
 tools/perf/tests/hists_link.c               |  33 +++---
 tools/perf/tests/keep-tracking.c            |   4 +-
 tools/perf/tests/kmod-path.c                |   6 +-
 tools/perf/tests/mem.c                      |   4 +-
 tools/perf/tests/mem2node.c                 |   2 +-
 tools/perf/tests/mmap-basic.c               |  10 +-
 tools/perf/tests/mmap-thread-lookup.c       |   2 +-
 tools/perf/tests/openat-syscall-all-cpus.c  |   4 +-
 tools/perf/tests/openat-syscall-tp-fields.c |   4 +-
 tools/perf/tests/openat-syscall.c           |   6 +-
 tools/perf/tests/parse-events.c             | 118 ++++++++++----------
 tools/perf/tests/parse-metric.c             |  16 +--
 tools/perf/tests/parse-no-sample-id-all.c   |   4 +-
 tools/perf/tests/perf-hooks.c               |   2 +-
 tools/perf/tests/perf-record.c              |   2 +-
 tools/perf/tests/perf-time-to-tsc.c         |   4 +-
 tools/perf/tests/pfm.c                      |   4 +-
 tools/perf/tests/pmu-events.c               |  36 +++---
 tools/perf/tests/pmu.c                      |  16 +--
 tools/perf/tests/python-use.c               |   2 +-
 tools/perf/tests/sample-parsing.c           |  10 +-
 tools/perf/tests/stat.c                     |  12 +-
 tools/perf/tests/sw-clock.c                 |   8 +-
 tools/perf/tests/switch-tracking.c          |   9 +-
 tools/perf/tests/task-exit.c                |  12 +-
 tools/perf/tests/tests.h                    |   4 +-
 tools/perf/tests/thread-map.c               |   8 +-
 tools/perf/tests/thread-maps-share.c        |   2 +-
 tools/perf/tests/time-utils-test.c          |   2 +-
 tools/perf/tests/topology.c                 |   2 +-
 tools/perf/tests/vmlinux-kallsyms.c         |   6 +-
 tools/perf/tests/wp.c                       |  10 +-
 49 files changed, 292 insertions(+), 251 deletions(-)
<SNIP>
quoted
diff --git a/tools/perf/tests/code-reading.c b/tools/perf/tests/code-reading.c
index 9866cddebf23..70e92e074dba 100644
--- a/tools/perf/tests/code-reading.c
+++ b/tools/perf/tests/code-reading.c
@@ -725,20 +725,20 @@ int test__code_reading(struct test *test __maybe_unused,
int subtest __maybe_unu

        switch (ret) {
        case TEST_CODE_READING_OK:
-               return 0;
+               return TEST_OK;
        case TEST_CODE_READING_NO_VMLINUX:
                pr_debug("no vmlinux\n");
-               return 0;
+               return TEST_SKIP;
        case TEST_CODE_READING_NO_KCORE:
                pr_debug("no kcore\n");
-               return 0;
+               return TEST_SKIP;
        case TEST_CODE_READING_NO_ACCESS:
                pr_debug("no access\n");
-               return 0;
+               return TEST_SKIP;
        case TEST_CODE_READING_NO_KERNEL_OBJ:
                pr_debug("no kernel obj\n");
-               return 0;
+               return TEST_SKIP;
        default:
-               return -1;
+               return TEST_FAIL;
        };
 }

I think it's better to separate changes that do not change the current behaviour
from these changes (0 -> TEST_SKIP) into different patches.
Ack. This is the only case of this I see as TEST_OK would contradict
the debug output. There are also cases where I've swapped things like
-ENOMEM or -EINVAL for TEST_FAIL for things that generally won't
happen like malloc failures - the test calling function doesn't handle
-ENOMEM. Separating all of these out into CLs is work I'd prefer to
avoid, but I agree it makes just eye-balling this as a substitution CL
hard.

Thanks,
Ian
Riccardo
quoted
diff --git a/tools/perf/tests/cpumap.c b/tools/perf/tests/cpumap.c
index 0472b110fe65..bfcb85a965bb 100644
--- a/tools/perf/tests/cpumap.c
+++ b/tools/perf/tests/cpumap.c
@@ -42,7 +42,7 @@ static int process_event_mask(struct perf_tool *tool
__maybe_unused,
        }

        perf_cpu_map__put(map);
-       return 0;
+       return TEST_OK;
 }

 static int process_event_cpus(struct perf_tool *tool __maybe_unused,
@@ -71,7 +71,7 @@ static int process_event_cpus(struct perf_tool *tool
__maybe_unused,
        TEST_ASSERT_VAL("wrong cpu", map->map[1] == 256);
        TEST_ASSERT_VAL("wrong refcnt", refcount_read(&map->refcnt) == 1);
        perf_cpu_map__put(map);
-       return 0;
+       return TEST_OK;
 }

@@ -94,7 +94,7 @@ int test__cpu_map_synthesize(struct test *test
__maybe_unused, int subtest __may
                !perf_event__synthesize_cpu_map(NULL, cpus,
process_event_cpus, NULL));

        perf_cpu_map__put(cpus);
-       return 0;
+       return TEST_OK;
 }

 static int cpu_map_print(const char *str)
@@ -120,7 +120,7 @@ int test__cpu_map_print(struct test *test __maybe_unused,
int subtest __maybe_un
        TEST_ASSERT_VAL("failed to convert map", cpu_map_print("1,3-6,8-
10,24,35-37"));
        TEST_ASSERT_VAL("failed to convert map", cpu_map_print("1,3-6,8-
10,24,35-37"));
        TEST_ASSERT_VAL("failed to convert map", cpu_map_print("1-10,12-20,22-
30,32-40"));
-       return 0;
+       return TEST_OK;
 }

 int test__cpu_map_merge(struct test *test __maybe_unused, int subtest
__maybe_unused)
@@ -135,5 +135,5 @@ int test__cpu_map_merge(struct test *test __maybe_unused,
int subtest __maybe_un
        TEST_ASSERT_VAL("failed to merge map: bad result", !strcmp(buf, "1-
2,4-5,7"));
        perf_cpu_map__put(b);
        perf_cpu_map__put(c);
-       return 0;
+       return TEST_OK;
 }
<SNIP>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help