Commit 86305e3
DAOS-18626 test: Add per-sanitizer suite selection and JUnit reporting to run_utest.py
Extend utils/run_utest.py so the unit-test suite can be run selectively
under ASan, UBSan, or TSan, and so results are reported in a form CI can
consume:
- New --asan/--ubsan/--tsan flags select suites via new 'asan'/'tsan'
Suite config keys (utest.yaml); suites unsuitable under a given
sanitizer (e.g. memcheck-only suites, control Go tests) opt out.
- New --list flag prints the suites/tests that would run, honoring all
selection/filter options, without running them.
- Per-test sanitizer log capture: new-since-setup() sanitizer log files
(found via the ASAN_OPTIONS/UBSAN_OPTIONS/TSAN_OPTIONS log_path=
directory) are copied into each test's own log dir, tagged with a
companion '<logfile>.testname' file for attribution.
- cmocka XML results are now written into CMOCKA_XML_FILE's directory
(the Docker-mounted test-results/ volume) instead of a source-relative
test_results/ directory, and only newly-appeared XML files are
relabeled per test/suite.
- In GHA context, one JUnit TestCase per test is now written per suite
(write_xml_result()) so result counts are accurate.
- utils/utest.yaml: tag suites with 'tsan: True' (opt-in, TSan suites
are a small subset) and 'asan: False'/'gha: False' (opt-out) as
appropriate for each suite.
None of these flags or config keys are referenced by any workflow yet;
this is a standalone, backward-compatible change to the test runner.
Part of the DAOS-18626 ASan CI split (see
ckochhof/dev/master/daos-18626/patch-001 for the original, unsplit
commit).
Signed-off-by: Cedric Koch-Hofer <cedric.koch-hofer@hpe.com>1 parent d305d2d commit 86305e3
3 files changed
Lines changed: 215 additions & 33 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
5 | 6 | | |
6 | 7 | | |
7 | 8 | | |
| |||
63 | 64 | | |
64 | 65 | | |
65 | 66 | | |
| 67 | + | |
66 | 68 | | |
67 | 69 | | |
68 | 70 | | |
| 71 | + | |
69 | 72 | | |
70 | 73 | | |
71 | 74 | | |
| |||
118 | 121 | | |
119 | 122 | | |
120 | 123 | | |
| 124 | + | |
121 | 125 | | |
122 | 126 | | |
123 | 127 | | |
| |||
156 | 160 | | |
157 | 161 | | |
158 | 162 | | |
| 163 | + | |
159 | 164 | | |
160 | 165 | | |
161 | 166 | | |
| |||
0 commit comments