test: enable evidence-based AutoTest analysis - #1760
Merged
Merged
Conversation
wenyt (wenytang-ms)
requested review from
Changyong Gong (chagong),
Sheng Chen (jdneo) and
Jinbo Wang (testforstephen)
as code owners
September 14, 2026 08:30
There was a problem hiding this comment.
🟡 Changes recommended
Targeted workflow-dispatch runs currently skip the aggregate analysis job.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Enables evidence-based AutoTest case and aggregate analysis in the E2E workflow.
Changes:
- Installs and reports the latest AutoTest CLI version.
- Adds case-level and report-only aggregate analysis.
- Preserves analysis summaries, manifests, and evidence artifacts.
File summaries
| File | Description |
|---|---|
.github/workflows/e2e-autotest.yml |
Updates AutoTest installation, execution, aggregation, and artifact retention. |
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
There was a problem hiding this comment.
🔵 Needs a closer look
Resolve AutoTest version consistency and add a deterministic dropdown verification assertion.
Review details
Suppressed comments (2)
Previously missed (1) — in code that hasn't changed since the last review.
test-plans/java-webview-migration.yaml:185
- This step still has only a natural-language
verifydescription; it does not add a deterministic assertion for either the expanded state or the presence of an option. Sinceverifyis contextual rather than pass/fail authority, the new case-analysis mode can still rely on a screenshot/model judgment for this regression. Please add a stable webview/DOM-level verifier (or another deterministic check supported by AutoTest) for the dropdown state and runtime entry, as the surrounding webview steps do.
.github/workflows/e2e-autotest.yml:398
- The aggregate job resolves
@latestindependently from the matrix jobs. If a new AutoTest release is published while the workflow is running, the analyzer can be a different version from the CLI that produced the downloaded result artifacts, causing format or analysis incompatibilities. Resolve the version once and pass that exact version to both jobs (or pin it for the run).
npm install -g @vscjava/vscode-autotest@latest
npm list -g @vscjava/vscode-autotest --depth=0
- Files reviewed: 2/2 changed files
- Comments generated: 0 new
- Review effort level: Lite
Contributor
Author
|
Follow-up on the latest review:
|
Changyong Gong (chagong)
approved these changes
Sep 15, 2026
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.
Summary
@vscjava/vscode-autotestrelease once per workflow run, share that exact version across every matrix job and aggregate analysis, and print the installed version; subsequent runs still resolve the latest release without a permanent version pin--analysis-mode caseso successful cases receive false-pass audits and failed cases receive evidence-based root-cause analysistest_plan; targeted dispatches retain per-platform case analyses but skip aggregation, and pull-request runs remain excluded from aggregation--report-onlyfor aggregate analysis so failed test cases do not prevent successful summary generationDropdown verification scope
The
java-webview-migrationwording change corrects the expected state for the existing step-level LLM screenshot check: an already-expanded dropdown may legitimately produce unchanged screenshots, but it must still show a runtime entry. This does not add a deterministic DOM assertion or make case-level analysis affect verdicts.The deterministic-coverage concern is valid and remains a known limitation: with LLM verification disabled or unavailable, this particular wait step does not independently prove that the dropdown is expanded and non-empty. AutoTest's current
verifyWebviewAPI only supports textcontains/notContains; a page-text check would not prove the popup state. Completing that coverage requires a proper DOM-verification capability in AutoTest and a corresponding plan update once available. This PR does not add unsupported YAML fields or claim that the gap is fixed.Validation
test-plans/java-basic-editing.yamlwith@vscjava/vscode-autotest@latest(0.7.27)java-basic-editingacross Windows, Linux, and macOS: https://github.com/microsoft/vscode-java-pack/actions/runs/348217573970.9confidence: bundled Lombok1.18.39-4050is incompatible with JDT Core3.48.0.v20260911-1206, causingNoSuchFieldErrorinlombok.eclipse.EclipseAST.buildMethodThe referenced run used commit
9712832, with targeted aggregation temporarily enabled to exercise the analysis pipeline. Its E2E jobs failed because they reproduced the existing Lombok/JDT product issue; the aggregate analysis job completed successfully. Commite9b9683subsequently restored the originalinputs.test_plan == ''guard at the maintainer's request. On the current PR head, a targeted dispatch still produces per-platform case analyses and evidence, but does not run the aggregate job.