Skip to content

DAOS-18626 ci: Add run-unit_tests.sh sanitizer test runner script - #19104

Draft
knard38 wants to merge 1 commit into
masterfrom
ckochhof/dev/master/daos-18626/patch-008
Draft

knard38 wants to merge 1 commit into
masterfrom
ckochhof/dev/master/daos-18626/patch-008

Conversation

@knard38

@knard38 knard38 commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

TODO

Steps for the author:

  • Commit message follows the guidelines.
  • Appropriate Features or Test-tag pragmas were used.
  • Appropriate Functional Test Stages were run.
  • At least two positive code reviews including at least one code owner from each category referenced in the PR.
  • Testing is complete. If necessary, forced-landing label added and a reason added in a comment.

After all prior steps are complete:

  • Gatekeeper requested (daos-gatekeeper added as a reviewer).

Add utils/ci/run-unit_tests.sh, the single entry point that will drive
each of the 4 unit-test CI modes (standard/asan/ubsan/tsan) once wired
into GitHub Actions:

- Selects the right run_utest.py flag (--asan/--ubsan/--tsan, added in
  a prior commit) for the requested mode.
- Sets each sanitizer's *_OPTIONS (log_path, exitcode, mode-specific
  tuning), honoring any pre-set override or a *_EXTRA_OPTIONS append.
- Wires in utils/test_lsan.supp / utils/test_tsan.supp suppressions
  when present (added in a later commit; this script degrades
  gracefully if they don't exist yet).
- Mounts a tmpfs for PMDK/VOS tests, runs utils/run_utest.py, and
  determines sanitizer_detected/functional_failure/runner_error from
  the resulting logs and JUnit/cmocka XML output.
- Writes a 3-field test-results/exit_status file for the workflow to
  key its pass/fail decision on.

Also adds utils/ci/summarize_functional_failures.py, which scans
JUnit/cmocka XML for failures and renders the deduplicated
cmocka-level/binary-level Markdown table used both by this script (to
compute functional_failure) and, later, by the GHA job summary.

Not yet invoked by any GHA workflow. 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>
@knard38 knard38 self-assigned this Sep 17, 2026
@daosbuild3

Copy link
Copy Markdown
Collaborator

@github-actions

Copy link
Copy Markdown

Ticket title is 'Add ASan/UBSan/TSan sanitizer checks to the GitHub Actions unit-test CI'
Status is 'In Progress'
https://daosio.atlassian.net/browse/DAOS-18626

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants