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

Arnaldo Carvalho de Melo
2022-08-12T19:03:00Z

Em Fri, Aug 12, 2022 at 01:16:27PM +0100, carsten.haitzler@foss.arm.com escreveu:
> From: Carsten Haitzler <carsten.haitzler@arm.com>
>
> 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>

Leo, can you please check if your previous Reviewed-by tags stand for
this new version?

Thanks,

- Arnaldo

>
> 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

--

- Arnaldo