[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20211013174604.747276-1-irogers@google.com>
Date: Wed, 13 Oct 2021 10:45:42 -0700
From: Ian Rogers <irogers@...gle.com>
To: Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...hat.com>,
Arnaldo Carvalho de Melo <acme@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Jiri Olsa <jolsa@...hat.com>,
Namhyung Kim <namhyung@...nel.org>,
Jin Yao <yao.jin@...ux.intel.com>,
John Garry <john.garry@...wei.com>,
"Paul A . Clarke" <pc@...ibm.com>,
linux-perf-users@...r.kernel.org, linux-kernel@...r.kernel.org,
Brendan Higgins <brendanhiggins@...gle.com>,
Daniel Latypov <dlatypov@...gle.com>,
David Gow <davidgow@...gle.com>
Cc: eranian@...gle.com, Ian Rogers <irogers@...gle.com>
Subject: [PATCH v2 00/22] Start aligning perf test with kunit style
Perf test uses its own structs and code layout that differs from kunit
that was more recently introduced to the kernel. Besides consistency,
it is hoped that moving in the direction of kunit style will enable
reuse of infrastructure like test output formatting for continuous
testing systems. For example:
https://lore.kernel.org/linux-kselftest/CA+GJov6tdjvY9x12JsJT14qn6c7NViJxqaJk+r-K1YJzPggFDQ@mail.gmail.com/
The motivation for this restructuring comes from wanting to be able to
tag tests with a size:
https://lore.kernel.org/linux-perf-users/CAP-5=fWmGyuqFKc-EMP3rbmTkjZ3MS+YSajGZfeRMc38HS82gw@mail.gmail.com/
To have more exhaustive and slower running tests. This isn't
something kunit currently supports, nor is the execution of python and
shell tests, but it seems sensible to work on an approach with kunit
rather to invent a new wheel inside of perf.
These initial patches are just refactoring the main test suite
definitions to be in a more kunit style. Kunit isn't depended upon, it
is hoped that this can be done in later patches for the sake of
consistency.
v2. Gets to a point of the perf test test suite/case structs being
close facsimiles of the kunit ones. It also addresses feedback on
the v1 RFC, in particular from Jiri Olsa <jolsa@...hat.com>.
v1. Built/tested on x86.
Ian Rogers (22):
perf test: Use macro for "suite" declarations
perf test: Use macro for "suite" definitions
perf test: Make each test/suite its own struct.
perf test: Move each test suite struct to its test
perf test: Rename struct test to test_suite
perf test: Add helper functions for abstraction.
perf test: Add test case struct.
perf test: Add skip reason to test case.
perf test: Convert pfm tests to use test cases.
perf test: Convert pmu event tests to test cases.
perf test: Convert watch point tests to test cases.
perf test: Convert clang tests to test cases.
perf test: Convert bpf tests to test cases.
perf test: Convert llvm tests to test cases.
perf test: Remove now unused subtest helpers
perf test: bp tests use test case
perf test: Convert time to tsc test to test case.
perf test: Remove non test case style support.
perf test: BP tests, remove is_supported use
perf test: TSC test, remove is_supported use
perf test: Remove is_supported function
perf test: Remove skip_if_fail
tools/perf/arch/arm/include/arch-tests.h | 2 +-
tools/perf/arch/arm/tests/arch-tests.c | 18 +-
tools/perf/arch/arm/tests/vectors-page.c | 2 +-
tools/perf/arch/arm64/include/arch-tests.h | 2 +-
tools/perf/arch/arm64/tests/arch-tests.c | 11 +-
tools/perf/arch/powerpc/include/arch-tests.h | 2 +-
tools/perf/arch/powerpc/tests/arch-tests.c | 12 +-
tools/perf/arch/x86/include/arch-tests.h | 14 +-
tools/perf/arch/x86/tests/arch-tests.c | 46 +-
tools/perf/arch/x86/tests/bp-modify.c | 2 +-
tools/perf/arch/x86/tests/insn-x86.c | 2 +-
tools/perf/arch/x86/tests/intel-cqm.c | 2 +-
.../x86/tests/intel-pt-pkt-decoder-test.c | 2 +-
tools/perf/arch/x86/tests/rdpmc.c | 2 +-
tools/perf/arch/x86/tests/sample-parsing.c | 2 +-
tools/perf/tests/api-io.c | 6 +-
tools/perf/tests/attr.c | 4 +-
tools/perf/tests/backward-ring-buffer.c | 4 +-
tools/perf/tests/bitmap.c | 4 +-
tools/perf/tests/bp_account.c | 36 +-
tools/perf/tests/bp_signal.c | 34 +-
tools/perf/tests/bp_signal_overflow.c | 9 +-
tools/perf/tests/bpf.c | 69 ++-
tools/perf/tests/builtin-test.c | 578 ++++++------------
tools/perf/tests/clang.c | 54 +-
tools/perf/tests/code-reading.c | 4 +-
tools/perf/tests/cpumap.c | 10 +-
tools/perf/tests/demangle-java-test.c | 4 +-
tools/perf/tests/demangle-ocaml-test.c | 4 +-
tools/perf/tests/dlfilter-test.c | 4 +-
tools/perf/tests/dso-data.c | 10 +-
tools/perf/tests/dwarf-unwind.c | 5 +-
tools/perf/tests/event-times.c | 4 +-
tools/perf/tests/event_update.c | 4 +-
tools/perf/tests/evsel-roundtrip-name.c | 5 +-
tools/perf/tests/evsel-tp-sched.c | 5 +-
tools/perf/tests/expand-cgroup.c | 6 +-
tools/perf/tests/expr.c | 4 +-
tools/perf/tests/fdarray.c | 7 +-
tools/perf/tests/genelf.c | 6 +-
tools/perf/tests/hists_cumulate.c | 4 +-
tools/perf/tests/hists_filter.c | 4 +-
tools/perf/tests/hists_link.c | 4 +-
tools/perf/tests/hists_output.c | 4 +-
tools/perf/tests/is_printable_array.c | 4 +-
tools/perf/tests/keep-tracking.c | 4 +-
tools/perf/tests/kmod-path.c | 4 +-
tools/perf/tests/llvm.c | 74 ++-
tools/perf/tests/maps.c | 4 +-
tools/perf/tests/mem.c | 4 +-
tools/perf/tests/mem2node.c | 4 +-
tools/perf/tests/mmap-basic.c | 4 +-
tools/perf/tests/mmap-thread-lookup.c | 4 +-
tools/perf/tests/openat-syscall-all-cpus.c | 5 +-
tools/perf/tests/openat-syscall-tp-fields.c | 5 +-
tools/perf/tests/openat-syscall.c | 5 +-
tools/perf/tests/parse-events.c | 4 +-
tools/perf/tests/parse-metric.c | 4 +-
tools/perf/tests/parse-no-sample-id-all.c | 5 +-
tools/perf/tests/pe-file-parsing.c | 6 +-
tools/perf/tests/perf-hooks.c | 4 +-
tools/perf/tests/perf-record.c | 4 +-
tools/perf/tests/perf-time-to-tsc.c | 30 +-
tools/perf/tests/pfm.c | 63 +-
tools/perf/tests/pmu-events.c | 73 +--
tools/perf/tests/pmu.c | 4 +-
tools/perf/tests/python-use.c | 4 +-
tools/perf/tests/sample-parsing.c | 4 +-
tools/perf/tests/sdt.c | 6 +-
tools/perf/tests/stat.c | 11 +-
tools/perf/tests/sw-clock.c | 4 +-
tools/perf/tests/switch-tracking.c | 4 +-
tools/perf/tests/task-exit.c | 4 +-
tools/perf/tests/tests.h | 238 ++++----
tools/perf/tests/thread-map.c | 10 +-
tools/perf/tests/thread-maps-share.c | 4 +-
tools/perf/tests/time-utils-test.c | 4 +-
tools/perf/tests/topology.c | 4 +-
tools/perf/tests/unit_number__scnprintf.c | 4 +-
tools/perf/tests/vmlinux-kallsyms.c | 5 +-
tools/perf/tests/wp.c | 122 +---
tools/perf/util/c++/clang-c.h | 8 +-
tools/perf/util/c++/clang-test.cpp | 6 +-
83 files changed, 811 insertions(+), 966 deletions(-)
--
2.33.0.882.g93a45727a2-goog
Powered by blists - more mailing lists