feat(test): support per-project webServer configuration#40869
Conversation
Add `webServer` to TestProject so each project can declare its own dev server(s). A per-project server is launched only when the project is selected (directly via --project or through the dependency closure), in addition to any top-level `webServer`. Fixes microsoft#22496
Plugin registration carries a single optional projectId. The task builders no longer take a TestRun and no longer compute an active-plugin list up front; each plugin task's setup gates itself with \`!plugin.projectId || testRun.projectClosureIds.has(plugin.projectId)\`.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Drop the title-based exclusion so config.webServer is shape- and command-non-empty-checked at load time, same as project.webServer. Also revert the testRunner.ts hoists from the previous follow-up commit; the task builders no longer need the TestRun up front.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Validate config.webServer[*].command shape only when it is explicitly provided. Missing command is legitimate when reuseExistingServer is true and the server is already running; the runtime path still errors if a command is needed but absent.
Test results for "tests 1"5 flaky41227 passed, 846 skipped Merge workflow run. |
Test results for "MCP"9 failed 7094 passed, 1113 skipped Merge workflow run. |
Summary
webServertoTestProjectso each project can declare its own dev server(s); a per-project server is launched only when the project is selected (directly via--projector through the dependency closure), in addition to any top-levelwebServer.Fixes #22496