Skip to content

DAOS-18626 ci: Add shared sanitizer report parsing base module#18698

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

DAOS-18626 ci: Add shared sanitizer report parsing base module#18698
knard38 wants to merge 1 commit into
masterfrom
ckochhof/dev/master/daos-18626/patch-004

Conversation

@knard38

@knard38 knard38 commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

This is PR 3 of 10 in the split of DAOS-18626 (see ckochhof/dev/master/daos-18626/patch-001 for the original, unsplit commit). It adds utils/ci/sanitizer_report_base.py, the shared infrastructure used by the ASan/UBSan/TSan report parsers added in the next three PRs of this stack. This module has no consumers yet within this PR and is not yet referenced by any workflow.

What/why

  • StackFrame data class and shared frame-regex fragments (FILE_LINE_COL / ADDR_FRAME_RE).
  • collect_reports(): scan a log directory for <prefix>.<pid> files and attach each report's originating test-binary name from its companion .testname file.
  • resolve_paths_frames() / resolve_paths_threaded(): resolve absolute frame paths to source-root-relative ones.
  • SARIF 2.1.0 helpers (sarif_location(), build_sarif_doc()).
  • build_summary_md() / report_heading(): shared Markdown job-summary template and per-report details block.
  • get_args() / main_runner(): shared CLI argument parsing and control flow.

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

@knard38 knard38 self-assigned this Jul 22, 2026
@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

Add utils/ci/sanitizer_report_base.py, the shared infrastructure used by
the upcoming ASan/UBSan/TSan report parsers:

- StackFrame data class and shared frame-regex fragments
  (FILE_LINE_COL / ADDR_FRAME_RE).
- collect_reports(): scan a log directory for <prefix>.<pid> files and
  attach each report's originating test-binary name from its companion
  '.testname' file.
- resolve_paths_frames()/resolve_paths_threaded(): resolve absolute
  frame paths to source-root-relative ones.
- SARIF 2.1.0 helpers (sarif_location(), build_sarif_doc()).
- build_summary_md()/report_heading(): shared Markdown job-summary
  template and per-report details block.
- get_args()/main_runner(): shared CLI argument parsing and control
  flow.

This module has no consumers yet (the ASan/UBSan/TSan parsers that
import it land in the next few commits) and is not referenced by any
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 force-pushed the ckochhof/dev/master/daos-18626/patch-004 branch from 2b27ae1 to c861504 Compare July 23, 2026 13:15
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.

2 participants