-
Notifications
You must be signed in to change notification settings - Fork 162
Expand file tree
/
Copy pathjava-maven-multimodule.yaml
More file actions
76 lines (68 loc) · 3.89 KB
/
Copy pathjava-maven-multimodule.yaml
File metadata and controls
76 lines (68 loc) · 3.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# Test Plan: Maven Multimodule (from vscode-java-pack.wiki)
#
# Source: wiki Test-Plan.md "Maven - Multimodule" scenario
# Verify: Open multimodule Maven project → LS ready → editing experience works for both modules' Foo.java
#
# Prerequisites:
# - vscode-java repo cloned locally
# - JDK installed and available
# - Maven installed
#
# Usage: autotest run test-plans/java-maven-multimodule.yaml
name: "Java Maven Multimodule — Multimodule Project Editing"
description: |
Corresponds to the Maven Multimodule scenario in the wiki Test Plan:
Open the multimodule Maven project, verify the language server starts without errors,
and verify editing experience works for both modules' Foo.java (diagnostics, completion, Code Action).
setup:
extension: "redhat.java"
extensions:
- "vscjava.vscode-java-pack"
vscodeVersion: "stable"
workspace: "../../vscode-java/test/resources/projects/maven/multimodule"
timeout: 120 # Multimodule import may be slow
steps:
# ── Step 1: Wait for language server ready ──────────────────────────
# wiki: "check the status bar icon is 👍, and there should be
# no errors/warning in the problems view."
- id: "ls-ready"
action: "waitForLanguageServer"
verify: "Multimodule Maven workspace has loaded; the Java extension is initialized for the project with module1 and module2 visible in the Explorer (the Problems panel may briefly show diagnostics that are still being recomputed after import — the verifyProblems checks below pin the final state)"
timeout: 180
skipLlmVerify: true # waitForLanguageServer is authoritative; LLM only sees the same status bar
# ── Step 2: Verify module1 Foo.java ──────────────────────
# wiki: "make sure the editing experience is correctly working
# including diagnostics, code completion and code action
# on both modules"
- id: "open-module1-foo"
action: "open file module1/src/main/java/module1/Foo.java"
verify: "module1 Foo.java is open in the editor"
timeout: 15
- id: "module1-completion"
action: "triggerCompletionAt endOfMethod"
verify: "Code completion has been triggered in module1/Foo.java; the IntelliSense popup is being rendered (the language server may briefly show a 'Loading...' indicator while computing suggestions on a cold cache — this is a valid intermediate state since the deterministic verifyCompletion.notEmpty asserts the LS produced completion items)"
verifyCompletion:
notEmpty: true
waitBefore: 8
# Retry once on cold-cache "Loading..." LLM downgrades.
retries: 1
# Close module1's tab first so the next `open file Foo.java` request
# disambiguates to module2/Foo.java rather than re-focusing the already-
# open module1 tab (on Linux runners Quick Open's filename-only match
# tends to pick the first matching open editor).
- id: "close-module1-foo"
action: "run command View: Close All Editors"
# ── Step 3: Verify module2 Foo.java ──────────────────────
- id: "open-module2-foo"
action: "open file module2/src/main/java/module2/Foo.java"
verify: "module2 Foo.java is open in the editor (the tab shows the module2 path; module1/Foo.java is no longer the active editor)"
timeout: 15
waitBefore: 3
- id: "module2-completion"
action: "triggerCompletionAt endOfMethod"
verify: "Code completion has been triggered in module2/Foo.java; the IntelliSense popup is being rendered (the language server may briefly show a 'Loading...' indicator while computing suggestions on a cold cache — this is a valid intermediate state since the deterministic verifyCompletion.notEmpty asserts the LS produced completion items)"
verifyCompletion:
notEmpty: true
waitBefore: 8
# Retry once on cold-cache "Loading..." LLM downgrades.
retries: 1