-
Notifications
You must be signed in to change notification settings - Fork 462
coverage CI: mark SlangcCoverageManifestOutput as expected failure on macOS #11630
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -25,3 +25,12 @@ | |
| # escalates that failure into a SIGSEGV inside the slang-test | ||
| # orchestrator, which kills the rest of the suite. | ||
| docs/generated/tests/design/ir-reference/metadata/unorm-attr-on-buffer-element.slang | ||
|
|
||
| # Coverage metadata is not propagated from the upstream Slang IR artifact | ||
| # through the Metal downstream compilation chain (xcrun metallib-asm path), | ||
| # so _maybeWriteCoverageManifest finds no ICoverageTracingMetadata on the | ||
| # final artifact and writes no manifest file. The two MetalLib sub-checks | ||
| # inside this unit test therefore always fail on macOS coverage CI where the | ||
| # Metal toolchain is present. Tracked in: https://github.com/shader-slang/slang/issues/11629 | ||
| # On non-Apple CI the sub-checks are skipped via _isMetalLibDownstreamUnavailable. | ||
| slang-unit-test-tool/SlangcCoverageManifestOutput.internal | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🟡 Gap: Expected-failure granularity masks future regressions in 25 unrelated sub-checks
Example: If a refactor of the sidecar-overwrite logic introduces a regression that only repros under LLVM coverage on macOS, the unit test fails, the runner reclassifies it as expected, the regression ships, and is only caught when #11629 is fixed and this entry is removed. Suggested fix: Guard the two MetalLib sub-checks at the test level rather than skipping the whole test. For example, skip lines 1614 and 1617–1618 (the two |
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🟡 Gap: Comment misidentifies the non-Apple skip mechanism
The line says:
# On non-Apple CI the sub-checks are skipped via _isMetalLibDownstreamUnavailable.In source, both Metal sub-checks attools/slang-unit-test/unit-test-stdin-compile.cpp:778(_testCoverageAutoSidecarForMetalLibDisassembly) and:852(_testCoverageExplicitSidecarForMetalLibDisassembly) are wrapped in#if SLANG_APPLE_FAMILYwith an#else return SLANG_OK;branch (around lines 800–803 and 876–879). On non-Apple builds the entire body is compiled out —_isMetalLibDownstreamUnavailableis never reached. That helper only handles the runtime case where the Metal toolchain is missing on Apple.Suggestion: Reword to accurately credit the preprocessor guard: