Skip to content

Create sanitizer tests - #69

Draft
ajanczew wants to merge 9 commits into
mainfrom
ajanczew-sanitizers
Draft

Create sanitizer tests#69
ajanczew wants to merge 9 commits into
mainfrom
ajanczew-sanitizers

Conversation

@ajanczew

Copy link
Copy Markdown
Collaborator

No description provided.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces a dedicated GitHub Actions workflow to run sanitizer-instrumented builds/tests on a schedule (and manually), and adjusts an AVX-512 unit-test helper to avoid UB that sanitizers would flag.

Changes:

  • Added a new scheduled/manual GitHub Actions workflow to run unit tests under ASan/TSan/UBSan/IntSan and app-level tests under MSan.
  • Added a UBSan/IntSan suppression list for known libstdc++ false positives.
  • Updated dwt_horizontal_depricated_avx512 to widen intermediate arithmetic to int64_t to avoid signed-overflow UB during sanitizer runs.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
tests/UnitTests/UnitTest_AVX512/CodeDeprecated-avx512.cc Avoids signed-overflow UB in scalar tail calculations so UBSan/IntSan runs are actionable.
.github/workflows/sanitizer_tests.yaml Adds the sanitizer CI workflow covering multiple sanitizers and artifacts on failure.
.github/config/ubsan_suppressions.txt Provides suppressions to reduce known standard-library false positives during integer/UB sanitizers.
Suppressed comments (1)

.github/workflows/sanitizer_tests.yaml:138

  • Same as above: the MSan build currently uses jobs=$(nproc), which may overwhelm memory/CPU on big self-hosted runners. Using a capped job count improves reliability for sanitizer-instrumented builds.
    - name: 'Build: debug with memory sanitizer'
      working-directory: Build/linux
      run: |
        ./build.sh debug test sanitizer=memory cc=clang cxx=clang++ jobs=$(nproc)


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .github/workflows/sanitizer_tests.yaml
Comment thread .github/workflows/sanitizer_tests.yaml
@ajanczew
ajanczew marked this pull request as ready for review August 11, 2026 15:02
@ajanczew
ajanczew requested a review from Grzegorz-Rys August 11, 2026 15:02
@Grzegorz-Rys

Copy link
Copy Markdown
Collaborator

Do not run sanitizers against unittests. Use SvtJpegxsEncApp and SvtJpegxsDecApp with different input parameters.

@ajanczew
ajanczew marked this pull request as draft August 12, 2026 16:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants