Repository navigation
fix: the build verb runs the test classes the emitted assembly contains (modules resolvable) - #2794
Merged
Merged
Conversation
…ns, with the composed modules resolvable The lane's first real run (MeshWeaver.Plugins 33319413459: 53 packages, 811 nodes) reported zero tests for every package. A type's Test/*.cs reaches the compile through the compiler's DEFAULT query — the node declares 'sources', rarely 'tests' — so gating the run on definition.Tests skipped every suite the assembly actually carried. The assembly is the truth: the runner now executes whatever test classes it contains, reports the case count (so 'no test classes in the assembly' reads apart from '0 of N passed'), and the composed --module assemblies are resolvable in the load context, since the AI-bound types bind them. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HWc8YSndL2gpW2i9wRUQWt
Contributor
There was a problem hiding this comment.
Pull request overview
Updates the mw-plugin-test build cascade runner so that test execution and reporting are driven by what the emitted assembly actually contains (rather than definition.Tests), and ensures --module assemblies participate in the collectible load context used by the static test runner.
Changes:
- Always executes
StaticTestRunnerwhenRunTestsis enabled, regardless ofdefinition.Testsmetadata. - Includes
options.ModuleAssemblyPathsin the dependency assembly set given toStaticTestRunner.Executeto improve resolution of composed--moduleassemblies. - Enhances per-type console output to distinguish “no tests discovered” from non-zero case counts.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+466
to
+468
| + (tests is null ? "" : tests.Cases.IsEmpty | ||
| ? " tests: no test classes in the assembly" | ||
| : $" tests: {tests.Cases.Length} case(s) — {tests.Passed} passed, {tests.Failed} failed, {tests.NeedsMesh} needs-mesh") |
Contributor
Contributor
Contributor
Contributor
Contributor
Contributor
Contributor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The lane's first real run over MeshWeaver.Plugins (run 33319413459: 53 packages, 811 nodes, 47 green in 48.5 s) reported zero tests for every package. Cause: a type's
Test/*.csreaches the compile through the compiler's default query — the node declaressources, rarelytests— so gating the run ondefinition.Testsskipped every suite the assembly actually carried.The assembly is the truth: the runner now executes whatever test classes it contains, reports the case count (
no test classes in the assemblyreads apart from0 of N passed), and the composed--moduleassemblies are resolvable in the collectible load context, since the AI-bound types bind them.Cascade tests 9/9 locally. Follow-up to #2784; the Plugins lane (Plugins#973) composes the modules on its side.
🤖 Generated with Claude Code