Skip to content

Commit ffe5a11

Browse files
author
Venya Sharma
committed
Fix test cleanup and timeout issues
1 parent f6b0043 commit ffe5a11

4 files changed

Lines changed: 61 additions & 39 deletions

File tree

src/test/GradleTestDevModeActions.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,10 @@ describe('Devmode action tests for Gradle Project', () => {
1414
let section: ViewSection;
1515
let item: DefaultTreeItem;
1616
let tabs: string[];
17-
let driver: WebDriver;
1817

1918
before(async function() {
2019
this.timeout(30000);
2120
// Wait for workbench to be ready
22-
driver = VSBrowser.instance.driver;
2321
await VSBrowser.instance.openResources(utils.getGradleProjectPath());
2422
await VSBrowser.instance.waitForWorkbench();
2523
sidebar = new SideBarView();

src/test/GradleTestLSPRestSnippetAndDiagnostic.ts

Lines changed: 35 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -50,27 +50,42 @@ describe('Rest Class Snippet Test for Gradle Project', () => {
5050
});
5151

5252
after(async function() {
53-
this.timeout(10000); // Increase timeout for cleanup operations
54-
// Close editor after all tests complete
55-
try {
56-
if(javaEditor){
57-
await javaEditor.setText('');
58-
await javaEditor.save();
59-
logger.info('Reset TestRest.java to empty after test')
60-
61-
}
62-
} catch (error){
63-
logger.error('Failed to reset TestRest.java ', error);
53+
this.timeout(15000);
54+
try {
55+
if (javaEditor) {
56+
// Select all text first, then clear
57+
const currentText = await javaEditor.getText();
58+
try {
59+
await javaEditor.selectText(currentText);
60+
await wait.sleep(300);
61+
} catch (selectError) {
62+
// selectText may fail but setText still works
63+
}
64+
65+
await javaEditor.setText('');
66+
await wait.sleep(500);
67+
await javaEditor.save();
68+
await wait.sleep(500);
69+
logger.info('Reset TestRest.java to empty after test');
70+
}
71+
} catch (error) {
72+
logger.error('Failed to reset TestRest.java', error);
6473
}
65-
try {
66-
await editorView.closeAllEditors();
67-
logger.info('Closed all editors after test suite');
68-
} catch (error) {
69-
logger.error('Failed to close editors in after hook', error);
70-
}
71-
72-
utils.copyScreenshotsToProjectFolder('gradle');
73-
});
74+
75+
try {
76+
await editorView.closeAllEditors();
77+
await wait.sleep(500);
78+
logger.info('Closed all editors after test suite');
79+
} catch (error) {
80+
logger.error('Failed to close editors in after hook', error);
81+
}
82+
83+
try {
84+
utils.copyScreenshotsToProjectFolder('maven');
85+
} catch (error) {
86+
// Ignore screenshot errors
87+
}
88+
});
7489

7590
it('LSP4Jakarta Language Server should initialize', async function() {
7691
this.timeout(60000);
@@ -122,7 +137,6 @@ describe('Rest Class Snippet Test for Gradle Project', () => {
122137

123138
logger.step(5, 'Verifying snippet insertion');
124139
const codeInsertion = await javaEditor.getText();
125-
logger.info('Inserted code snapshot: ' + codeInsertion);
126140
expect(codeInsertion).to.include('@GET')
127141
expect(codeInsertion).to.include('methodname');
128142
logger.stepSuccess(5, 'Snippet rest_class was inserted correctly');
@@ -204,7 +218,6 @@ describe('Rest Class Snippet Test for Gradle Project', () => {
204218

205219
// Check quick fix was implemented at correct line number
206220
const after = await javaEditor.getText();
207-
logger.info('Buffer after quick fix: ' + JSON.stringify(after));
208221
expect(after).to.include('public String methodname');
209222

210223
problemsView = await bottomBar.openProblemsView();

src/test/MavenTestDevModeActions.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,10 @@ describe('Devmode action tests for Maven Project', () => {
1515
let menu: ViewItem[];
1616
let item: DefaultTreeItem;
1717
let tabs: string[];
18-
let driver: WebDriver;
1918

2019
before(async function() {
2120
this.timeout(30000);
2221

23-
driver = VSBrowser.instance.driver;
2422
await VSBrowser.instance.openResources(utils.getMvnProjectPath());
2523
await VSBrowser.instance.waitForWorkbench();
2624

src/test/MavenTestLSPRestSnippetAndDiagnostic.ts

Lines changed: 26 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -50,26 +50,41 @@ describe('Rest Class Snippet Test for Maven Project', () => {
5050
});
5151

5252
after(async function() {
53-
this.timeout(10000); // Increase timeout for cleanup operations
54-
// Close editor after all tests complete
53+
this.timeout(15000);
5554
try {
56-
if(javaEditor){
57-
await javaEditor.setText('');
58-
await javaEditor.save();
59-
logger.info('Reset TestRest.java to empty after test')
60-
61-
}
62-
} catch (error){
63-
logger.error('Failed to reset TestRest.java ', error);
55+
if (javaEditor) {
56+
// Select all text first, then clear
57+
const currentText = await javaEditor.getText();
58+
try {
59+
await javaEditor.selectText(currentText);
60+
await wait.sleep(300);
61+
} catch (selectError) {
62+
// selectText may fail but setText still works
63+
}
64+
65+
await javaEditor.setText('');
66+
await wait.sleep(500);
67+
await javaEditor.save();
68+
await wait.sleep(500);
69+
logger.info('Reset TestRest.java to empty after test');
6470
}
71+
} catch (error) {
72+
logger.error('Failed to reset TestRest.java', error);
73+
}
74+
6575
try {
6676
await editorView.closeAllEditors();
77+
await wait.sleep(500);
6778
logger.info('Closed all editors after test suite');
6879
} catch (error) {
6980
logger.error('Failed to close editors in after hook', error);
7081
}
7182

72-
utils.copyScreenshotsToProjectFolder('maven');
83+
try {
84+
utils.copyScreenshotsToProjectFolder('maven');
85+
} catch (error) {
86+
// Ignore screenshot errors
87+
}
7388
});
7489

7590
it('LSP4Jakarta Language Server should initialize', async function() {
@@ -122,7 +137,6 @@ describe('Rest Class Snippet Test for Maven Project', () => {
122137

123138
logger.step(5, 'Verifying snippet insertion');
124139
const codeInsertion = await javaEditor.getText();
125-
logger.info('Inserted code snapshot: ' + codeInsertion);
126140
expect(codeInsertion).to.include('@GET')
127141
expect(codeInsertion).to.include('methodname');
128142
logger.stepSuccess(5, 'Snippet rest_class was inserted correctly');
@@ -204,7 +218,6 @@ describe('Rest Class Snippet Test for Maven Project', () => {
204218

205219
// Check quick fix was implemented at correct line number
206220
const after = await javaEditor.getText();
207-
logger.info('Buffer after quick fix: ' + JSON.stringify(after));
208221
expect(after).to.include('public String methodname');
209222

210223
problemsView = await bottomBar.openProblemsView();

0 commit comments

Comments
 (0)