[PATCH v7 00/14] perf: test: Add trace data quality tests for CoreSight

carsten.haitzler
2022-08-12T12:16:58Z

This is a prelude to adding more tests to shell tests and in order to
support putting those tests into subdirectories, I need to change the
test code that scans/finds and runs them.

To support subdirs I have to recurse so it's time to refactor the code to
allow this and centralize the shell script finding into one location and
only one single scan that builds a list of all the found tests in memory
instead of it being duplicated in 3 places.

This code also optimizes things like knowing the max width of desciption
strings (as we can do that while we scan instead of a whole new pass
of opening files). It also more cleanly filters scripts to see only
*.sh files thus skipping random other files in directories like *~
backup files, other random junk/data files that may appear and the
scripts must be executable to make the cut (this ensures the script
lib dir is not seen as scripts to run). This avoids perf test running
previous older versions of test scripts that are editor backup files
as well as skipping perf.data files that may appear and so on.

Signed-off-by: Carsten Haitzler <carsten.haitzler@arm.com>

Carsten Haitzler (14):
perf test: Refactor shell tests allowing subdirs
perf test: Add CoreSight shell lib shared code for future tests
perf test: Add build infra for perf test tools for CoreSight tests
perf test: Add asm pureloop test tool
perf test: Add asm pureloop test shell script
perf test: Add git ignore for perf data generated by the CoreSight
tests
perf test: Add memcpy thread test tool
perf test: Add memcpy thread test shell script
perf test: Add thread loop test tool
perf test: Add thread loop test shell scripts
perf test: Add unroll thread test tool
perf test: Add unroll thread test shell script
perf test: Add git ignore for tmp and output files of CoreSight tests
perf test: Add relevant documentation about CoreSight testing

.../trace/coresight/coresight-perf.rst | 158 +++++++++++++
MAINTAINERS | 1 +
tools/perf/.gitignore | 6 +-
.../perf/Documentation/perf-arm-coresight.txt | 5 +
tools/perf/Makefile.config | 2 +
tools/perf/Makefile.perf | 17 +-
tools/perf/tests/Build | 1 +
tools/perf/tests/builtin-test-list.c | 207 ++++++++++++++++++
tools/perf/tests/builtin-test-list.h | 12 +
tools/perf/tests/builtin-test.c | 152 ++-----------
tools/perf/tests/shell/coresight/Makefile | 30 +++
.../tests/shell/coresight/Makefile.miniconfig | 14 ++
.../tests/shell/coresight/asm_pure_loop.sh | 18 ++
.../shell/coresight/asm_pure_loop/.gitignore | 1 +
.../shell/coresight/asm_pure_loop/Makefile | 34 +++
.../coresight/asm_pure_loop/asm_pure_loop.S | 28 +++
.../shell/coresight/memcpy_thread/.gitignore | 1 +
.../shell/coresight/memcpy_thread/Makefile | 33 +++
.../coresight/memcpy_thread/memcpy_thread.c | 79 +++++++
.../shell/coresight/memcpy_thread_16k_10.sh | 18 ++
.../shell/coresight/thread_loop/.gitignore | 1 +
.../shell/coresight/thread_loop/Makefile | 33 +++
.../shell/coresight/thread_loop/thread_loop.c | 86 ++++++++
.../coresight/thread_loop_check_tid_10.sh | 19 ++
.../coresight/thread_loop_check_tid_2.sh | 19 ++
.../coresight/unroll_loop_thread/.gitignore | 1 +
.../coresight/unroll_loop_thread/Makefile | 33 +++
.../unroll_loop_thread/unroll_loop_thread.c | 74 +++++++
.../shell/coresight/unroll_loop_thread_10.sh | 18 ++
tools/perf/tests/shell/lib/coresight.sh | 132 +++++++++++
30 files changed, 1094 insertions(+), 139 deletions(-)
create mode 100644 Documentation/trace/coresight/coresight-perf.rst
create mode 100644 tools/perf/Documentation/perf-arm-coresight.txt
create mode 100644 tools/perf/tests/builtin-test-list.c
create mode 100644 tools/perf/tests/builtin-test-list.h
create mode 100644 tools/perf/tests/shell/coresight/Makefile
create mode 100644 tools/perf/tests/shell/coresight/Makefile.miniconfig
create mode 100755 tools/perf/tests/shell/coresight/asm_pure_loop.sh
create mode 100644 tools/perf/tests/shell/coresight/asm_pure_loop/.gitignore
create mode 100644 tools/perf/tests/shell/coresight/asm_pure_loop/Makefile
create mode 100644 tools/perf/tests/shell/coresight/asm_pure_loop/asm_pure_loop.S
create mode 100644 tools/perf/tests/shell/coresight/memcpy_thread/.gitignore
create mode 100644 tools/perf/tests/shell/coresight/memcpy_thread/Makefile
create mode 100644 tools/perf/tests/shell/coresight/memcpy_thread/memcpy_thread.c
create mode 100755 tools/perf/tests/shell/coresight/memcpy_thread_16k_10.sh
create mode 100644 tools/perf/tests/shell/coresight/thread_loop/.gitignore
create mode 100644 tools/perf/tests/shell/coresight/thread_loop/Makefile
create mode 100644 tools/perf/tests/shell/coresight/thread_loop/thread_loop.c
create mode 100755 tools/perf/tests/shell/coresight/thread_loop_check_tid_10.sh
create mode 100755 tools/perf/tests/shell/coresight/thread_loop_check_tid_2.sh
create mode 100644 tools/perf/tests/shell/coresight/unroll_loop_thread/.gitignore
create mode 100644 tools/perf/tests/shell/coresight/unroll_loop_thread/Makefile
create mode 100644 tools/perf/tests/shell/coresight/unroll_loop_thread/unroll_loop_thread.c
create mode 100755 tools/perf/tests/shell/coresight/unroll_loop_thread_10.sh
create mode 100644 tools/perf/tests/shell/lib/coresight.sh

--
2.32.0