The "perf test" can be integrated into testing framework, e.g. Linux kernel functional testing (LKFT) [1]. We are not satisfied with only outputting the summarized result for Arm CoreSight testing but lacking more detailed result for sub testing.
This patch set is to output sub testing result in cs-etm. Thus the testing framework can extract the detailed info and generates reports for which sub cases causes failure. This patch set is cleanly applied on perf/core branch with: commit 6db59d357e8e ("perf arm64/s390: Fix printf conversion specifier for IP addresses") After applied the patches, which is tested on Arm Juno-r2 board with option '-v', the output result is shown in below; the introduced sub testing result has the format like: "CoreSight path testing (CPU0 -> tmc_etf0): PASS". # perf test 73 -v 73: Check Arm CoreSight trace data recording and synthesized samples: --- start --- test child forked, pid 17423 Recording trace (only user mode) with path: CPU0 => tmc_etf0 Looking at perf.data file for dumping branch samples: Looking at perf.data file for reporting branch samples: Looking at perf.data file for instruction samples: CoreSight path testing (CPU0 -> tmc_etf0): PASS Recording trace (only user mode) with path: CPU0 => tmc_etr0 Looking at perf.data file for dumping branch samples: Looking at perf.data file for reporting branch samples: Looking at perf.data file for instruction samples: CoreSight path testing (CPU0 -> tmc_etr0): PASS Recording trace (only user mode) with path: CPU1 => tmc_etf0 Looking at perf.data file for dumping branch samples: Looking at perf.data file for reporting branch samples: Looking at perf.data file for instruction samples: CoreSight path testing (CPU1 -> tmc_etf0): PASS Recording trace (only user mode) with path: CPU1 => tmc_etr0 Looking at perf.data file for dumping branch samples: Looking at perf.data file for reporting branch samples: Looking at perf.data file for instruction samples: CoreSight path testing (CPU1 -> tmc_etr0): PASS Recording trace (only user mode) with path: CPU2 => tmc_etf0 Looking at perf.data file for dumping branch samples: Looking at perf.data file for reporting branch samples: Looking at perf.data file for instruction samples: CoreSight path testing (CPU2 -> tmc_etf0): PASS Recording trace (only user mode) with path: CPU2 => tmc_etr0 Looking at perf.data file for dumping branch samples: Looking at perf.data file for reporting branch samples: Looking at perf.data file for instruction samples: CoreSight path testing (CPU2 -> tmc_etr0): PASS Recording trace (only user mode) with path: CPU3 => tmc_etf0 Looking at perf.data file for dumping branch samples: Looking at perf.data file for reporting branch samples: Looking at perf.data file for instruction samples: CoreSight path testing (CPU3 -> tmc_etf0): PASS Recording trace (only user mode) with path: CPU3 => tmc_etr0 Looking at perf.data file for dumping branch samples: Looking at perf.data file for reporting branch samples: Looking at perf.data file for instruction samples: CoreSight path testing (CPU3 -> tmc_etr0): PASS Recording trace (only user mode) with path: CPU4 => tmc_etf0 Looking at perf.data file for dumping branch samples: Looking at perf.data file for reporting branch samples: Looking at perf.data file for instruction samples: CoreSight path testing (CPU4 -> tmc_etf0): PASS Recording trace (only user mode) with path: CPU4 => tmc_etr0 Looking at perf.data file for dumping branch samples: Looking at perf.data file for reporting branch samples: Looking at perf.data file for instruction samples: CoreSight path testing (CPU4 -> tmc_etr0): PASS Recording trace (only user mode) with path: CPU5 => tmc_etf0 Looking at perf.data file for dumping branch samples: Looking at perf.data file for reporting branch samples: Looking at perf.data file for instruction samples: CoreSight path testing (CPU5 -> tmc_etf0): PASS Recording trace (only user mode) with path: CPU5 => tmc_etr0 Looking at perf.data file for dumping branch samples: Looking at perf.data file for reporting branch samples: Looking at perf.data file for instruction samples: CoreSight path testing (CPU5 -> tmc_etr0): PASS Recording trace with system wide mode Looking at perf.data file for dumping branch samples: Looking at perf.data file for reporting branch samples: Looking at perf.data file for instruction samples: CoreSight system wide testing: PASS Recording trace with snapshot mode Looking at perf.data file for dumping branch samples: Looking at perf.data file for reporting branch samples: Looking at perf.data file for instruction samples: CoreSight snapshot testing: PASS test child finished with 0 ---- end ---- Check Arm CoreSight trace data recording and synthesized samples: Ok [1] https://lkft.linaro.org/ Leo Yan (2): perf test: Suppress logs in cs-etm testing perf test: Output the sub testing result in cs-etm tools/perf/tests/shell/test_arm_coresight.sh | 45 ++++++++++---------- 1 file changed, 23 insertions(+), 22 deletions(-) -- 2.25.1