Skip to content

[None][fix] Keep long unittest report paths distinct - #21165

Draft
bvolpato wants to merge 1 commit into
NVIDIA:mainfrom
bvolpato:bvolpato/unique-unittest-report-paths
Draft

bvolpato wants to merge 1 commit into
NVIDIA:mainfrom
bvolpato:bvolpato/unique-unittest-report-paths

Conversation

@bvolpato

@bvolpato bvolpato commented Oct 28, 2026 •

Copy link
Copy Markdown

Description

Motivation. Reliable flake investigation requires reports and logs to remain attributable to their test selectors. The wrapper truncates sanitized selectors to 80 characters, so long selectors with the same prefix overwrite each other's artifacts. Existing examples include H100 cache-transceiver variants and B300 configurable-MoE variants.

Change. Append a stable digest of the complete selector only when its filename component needs truncation. Keep the existing length limit, short names, and report prefixes/suffixes.

Verified improvement. A replay of the checked-in CI lists through the actual wrapper, with child execution stubbed, produced:

Artifact-integrity check Before After
Filename collision groups across 10 CI lists 29 0
Reports from the reproduced long-selector pair One overwrites the other Both retain their own contents

The regression fails against the original source and passes with the fix. This measures filename uniqueness and result preservation. Runtime and live CI failure-rate changes have not been measured.

Test Coverage

  • Added a regression that invokes the actual wrapper with a stub child runner, writes reports for existing long selectors, and verifies that both outputs survive. It fails against the original source and passes with the filename fix.
  • Replayed the current test-db selectors through the actual wrapper with child execution stubbed to verify the before/after collision result.
  • The helper suite passes on Python 3.12 with pytest 8.4.2 and 9.0.3. The existing unittest/tools CPU CI entry covers the marked helper module.
  • Scoped pre-commit and git diff --check pass. GPU kernels and Jenkins workloads were not run locally.

PR Checklist

Please review the following before submitting your PR:

  • PR description clearly explains what and why. If using CodeRabbit's summary, please make sure it makes sense.

  • PR Follows TRT-LLM CODING GUIDELINES to the best of your knowledge.

  • Test cases are provided for new code paths (see test instructions)

  • If PR introduces API changes, an appropriate PR label is added - either api-compatible or api-breaking. For api-breaking, include BREAKING in the PR title.

  • Any new dependencies have been scanned for license and vulnerabilities

  • CODEOWNERS updated if ownership changes

  • Documentation updated as needed

  • Update tava architecture diagram if there is a significant design change in PR.

  • The reviewers assigned automatically/manually are appropriate for the PR.

  • Please check this after reviewing the above items as appropriate for this PR.

GitHub Bot Help

To see a list of available CI bot commands, please comment /bot help.

Signed-off-by: bvolpato <brunocvcunha@gmail.com>
@svc-trtllm-gh-bot svc-trtllm-gh-bot added the Community want to contribute PRs initiated from Community label Oct 28, 2026

This branch has not been deployed

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

Labels

Community want to contribute PRs initiated from Community

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants