diff --git a/Jenkinsfile b/Jenkinsfile
index 8915fec17..f52cf28fd 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -1,10 +1,10 @@
pipeline {
options {
timeout(time: 40, unit: 'MINUTES')
- buildDiscarder(logRotator(numToKeepStr:'10'))
+ buildDiscarder(logRotator(numToKeepStr: '10'))
}
agent {
- label "centos-latest"
+ label 'centos-latest'
}
tools {
maven 'apache-maven-latest'
@@ -13,9 +13,17 @@ pipeline {
stages {
stage('Build') {
steps {
+ withMaven(maven:'apache-maven-latest', mavenLocalRepo: '$WORKSPACE/.m2/repository') {
wrap([$class: 'Xvnc', useXauthority: true]) {
- sh 'mvn clean verify org.eclipse.dash:license-tool-plugin:license-check -B -Psign -Dmaven.repo.local=$WORKSPACE/.m2/repository -Dmaven.test.failure.ignore=true -Dmaven.test.error.ignore=true -Ddash.fail=false'
- }
+ sh '''
+ mvn clean verify \
+ org.eclipse.dash:license-tool-plugin:license-check \
+ -B -Psign \
+ -Dmaven.test.failure.ignore=true \
+ -Ddash.fail=false \
+ -Dsurefire.rerunFailingTestsCount=3
+ '''
+ }}
}
post {
always {
@@ -29,12 +37,12 @@ pipeline {
branch 'master'
}
steps {
- sshagent ( ['projects-storage.eclipse.org-bot-ssh']) {
+ sshagent (['projects-storage.eclipse.org-bot-ssh']) {
sh '''
DOWNLOAD_AREA=/home/data/httpd/download.eclipse.org/lsp4e/snapshots/
echo DOWNLOAD_AREA=$DOWNLOAD_AREA
ssh genie.lsp4e@projects-storage.eclipse.org "\
- rm -rf ${DOWNLOAD_AREA}/* && \
+ rm -rf ${DOWNLOAD_AREA}/* && \
mkdir -p ${DOWNLOAD_AREA}"
scp -r repository/target/repository/* genie.lsp4e@projects-storage.eclipse.org:${DOWNLOAD_AREA}
'''
diff --git a/org.eclipse.lsp4e.test/fragment.xml b/org.eclipse.lsp4e.test/fragment.xml
index 206cf0501..5acd1e2e8 100644
--- a/org.eclipse.lsp4e.test/fragment.xml
+++ b/org.eclipse.lsp4e.test/fragment.xml
@@ -4,37 +4,37 @@
@@ -95,7 +95,7 @@
+ class="org.eclipse.lsp4e.test.utils.CreateAndRegisterContentTypeLSPLaunchConfigMapping">
-
+
"
+ class="org.eclipse.lsp4e.test.utils.UriToResourceAdapterFactory">
@@ -238,7 +238,7 @@
point="org.eclipse.core.runtime.adapters">
+ class="org.eclipse.lsp4e.test.utils.UriToResourceAdapterFactory">
@@ -248,7 +248,7 @@
point="org.eclipse.core.runtime.adapters">
+ class="org.eclipse.lsp4e.test.utils.UriToResourceAdapterFactory">
diff --git a/org.eclipse.lsp4e.test/pom.xml b/org.eclipse.lsp4e.test/pom.xml
index 02d5175f2..aa312496e 100644
--- a/org.eclipse.lsp4e.test/pom.xml
+++ b/org.eclipse.lsp4e.test/pom.xml
@@ -36,13 +36,13 @@
org.eclipse.tycho
tycho-surefire-plugin
${tycho-version}
+
false
- org.eclipse.lsp4e.test.AllTests
true
true
1200
- ${tycho.testArgLine} ${ui.test.vmargs} ${os-jvm-flags}
+ ${tycho.testArgLine} -Djava.util.logging.config.file=${project.basedir}/src/jul.properties ${ui.test.vmargs} ${os-jvm-flags}
diff --git a/org.eclipse.lsp4e.test/src/jul.properties b/org.eclipse.lsp4e.test/src/jul.properties
new file mode 100644
index 000000000..dff797866
--- /dev/null
+++ b/org.eclipse.lsp4e.test/src/jul.properties
@@ -0,0 +1,15 @@
+# configure log output target(s)
+handlers=java.util.logging.ConsoleHandler
+java.util.logging.ConsoleHandler.level=INFO
+java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
+
+# configure log format
+# %1=date %2=source %3=logger %4=level %5=message, %6=thrown
+java.util.logging.SimpleFormatter.format=%1$tT %4$s [%3$s] %5$s %6$s%n
+
+
+# configure log levels
+.level=INFO
+
+# this suppresses the useless logging of "IOException: Connection reset by peer" at INFO level which occurs when the LS was gracefully stopped
+org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.level=WARNING
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/AllTests.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/AllTests.java
deleted file mode 100644
index f282db4ad..000000000
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/AllTests.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2016, 2022 Rogue Wave Software Inc. and others.
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Michał Niewrzał (Rogue Wave Software Inc.) - initial implementation
- * Mickael Istria (Red Hat Inc.) - Added some suites
- *******************************************************************************/
-package org.eclipse.lsp4e.test;
-
-import org.eclipse.lsp4e.test.codeactions.CodeActionTests;
-import org.eclipse.lsp4e.test.color.ColorTest;
-import org.eclipse.lsp4e.test.commands.DynamicRegistrationTest;
-import org.eclipse.lsp4e.test.completion.CompleteCompletionTest;
-import org.eclipse.lsp4e.test.completion.CompletionOrderingTests;
-import org.eclipse.lsp4e.test.completion.ContextInformationTest;
-import org.eclipse.lsp4e.test.completion.IncompleteCompletionTest;
-import org.eclipse.lsp4e.test.completion.VariableReplacementTest;
-import org.eclipse.lsp4e.test.debug.DebugTest;
-import org.eclipse.lsp4e.test.definition.DefinitionTest;
-import org.eclipse.lsp4e.test.diagnostics.DiagnosticsTest;
-import org.eclipse.lsp4e.test.documentLink.DocumentLinkTest;
-import org.eclipse.lsp4e.test.edit.DocumentDidChangeTest;
-import org.eclipse.lsp4e.test.edit.DocumentDidCloseTest;
-import org.eclipse.lsp4e.test.edit.DocumentDidOpenTest;
-import org.eclipse.lsp4e.test.edit.DocumentDidSaveTest;
-import org.eclipse.lsp4e.test.edit.DocumentEditAndUndoTest;
-import org.eclipse.lsp4e.test.edit.DocumentRevertAndCloseTest;
-import org.eclipse.lsp4e.test.edit.DocumentWillSaveWaitUntilTest;
-import org.eclipse.lsp4e.test.edit.LSPEclipseUtilsTest;
-import org.eclipse.lsp4e.test.format.FormatTest;
-import org.eclipse.lsp4e.test.highlight.HighlightTest;
-import org.eclipse.lsp4e.test.hover.HoverTest;
-import org.eclipse.lsp4e.test.linkedediting.LinkedEditingTest;
-import org.eclipse.lsp4e.test.message.ShowMessageTest;
-import org.eclipse.lsp4e.test.operations.codelens.LSPCodeMiningTest;
-import org.eclipse.lsp4e.test.outline.EditorToOutlineAdapterFactoryTest;
-import org.eclipse.lsp4e.test.outline.OutlineContentTest;
-import org.eclipse.lsp4e.test.outline.SymbolsLabelProviderTest;
-import org.eclipse.lsp4e.test.references.FindReferencesTest;
-import org.eclipse.lsp4e.test.rename.LSPTextChangeTest;
-import org.eclipse.lsp4e.test.rename.RenameTest;
-import org.eclipse.lsp4e.test.semanticTokens.SemanticHighlightReconcilerStrategyTest;
-import org.eclipse.lsp4e.test.semanticTokens.SemanticTokensDataStreamProcessorTest;
-import org.eclipse.lsp4e.test.semanticTokens.SemanticTokensLegendProviderTest;
-import org.eclipse.lsp4e.test.semanticTokens.StyleRangeHolderTest;
-import org.eclipse.lsp4e.test.symbols.SymbolsModelTest;
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-import org.junit.runners.Suite.SuiteClasses;
-
-@RunWith(Suite.class)
-@SuiteClasses({
- LanguageServiceAccessorTest.class,
- ContentTypeToLanguageServerDefinitionTest.class,
- CompleteCompletionTest.class,
- IncompleteCompletionTest.class,
- CompletionOrderingTests.class,
- VariableReplacementTest.class,
- ContextInformationTest.class,
- DocumentDidOpenTest.class,
- DocumentDidChangeTest.class,
- DocumentDidSaveTest.class,
- DocumentWillSaveWaitUntilTest.class,
- DocumentDidCloseTest.class,
- DocumentRevertAndCloseTest.class,
- DocumentEditAndUndoTest.class,
- SymbolsModelTest.class,
- LSPEclipseUtilsTest.class,
- HoverTest.class,
- DefinitionTest.class,
- DiagnosticsTest.class,
- FindReferencesTest.class,
- FormatTest.class,
- CodeActionTests.class,
- DocumentLinkTest.class,
- RunningLanguageServerTest.class,
- HighlightTest.class,
- LinkedEditingTest.class,
- DynamicRegistrationTest.class,
- LSPTextChangeTest.class,
- RenameTest.class,
- SymbolsLabelProviderTest.class,
- EditorToOutlineAdapterFactoryTest.class,
- OutlineContentTest.class,
- LanguageServerWrapperTest.class,
- LanguageServersTest.class,
- VersioningSupportTest.class,
- ColorTest.class,
- LSPCodeMiningTest.class,
- ShowMessageTest.class,
- WorkspaceFoldersTest.class,
- DebugTest.class,
- SemanticHighlightReconcilerStrategyTest.class,
- SemanticTokensDataStreamProcessorTest.class,
- SemanticTokensLegendProviderTest.class,
- StyleRangeHolderTest.class
-})
-public class AllTests {
-
-}
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/ContentTypeToLanguageServerDefinitionTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/ContentTypeToLanguageServerDefinitionTest.java
index c3a7e9c06..7340f6d47 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/ContentTypeToLanguageServerDefinitionTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/ContentTypeToLanguageServerDefinitionTest.java
@@ -11,7 +11,6 @@
*******************************************************************************/
package org.eclipse.lsp4e.test;
-import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
@@ -20,6 +19,7 @@
import org.eclipse.lsp4e.ContentTypeToLanguageServerDefinition;
import org.eclipse.lsp4e.LanguageServerPlugin;
import org.eclipse.lsp4e.LanguageServersRegistry;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -46,23 +46,21 @@ public void testDisabledLanguageServerMappingsPreference() {
List disabledDefinitions = LanguageServersRegistry.getInstance()
.getContentTypeToLSPExtensions().stream().filter(lsDefinition -> !lsDefinition.isEnabled(null))
.toList();
- assertEquals(1, disabledDefinitions.size());
- assertEquals(SERVER_TO_DISABLE, disabledDefinitions.get(0).getValue().id);
- assertEquals(DISABLED_CONTENT_TYPE, disabledDefinitions.get(0).getKey().toString());
-
+ assertTrue(disabledDefinitions.contains(TestUtils.getDisabledLS()));
}
@Test
public void testDisableLanguageServerMapping() {
ContentTypeToLanguageServerDefinition lsDefinition = TestUtils.getDisabledLS();
+
lsDefinition.setUserEnabled(false);
assertFalse(lsDefinition.isEnabled(null));
assertTrue(LanguageServerPlugin.getDefault().getPreferenceStore().contains(DISABLED_SERVER_PREF));
assertFalse(LanguageServerPlugin.getDefault().getPreferenceStore().getBoolean(DISABLED_SERVER_PREF));
+
lsDefinition.setUserEnabled(true);
assertTrue(lsDefinition.isEnabled(null));
assertTrue(LanguageServerPlugin.getDefault().getPreferenceStore().contains(DISABLED_SERVER_PREF));
assertTrue(LanguageServerPlugin.getDefault().getPreferenceStore().getBoolean(DISABLED_SERVER_PREF));
}
-
}
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/LanguageServerWrapperTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/LanguageServerWrapperTest.java
index 610f94d32..e07c5e444 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/LanguageServerWrapperTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/LanguageServerWrapperTest.java
@@ -11,7 +11,7 @@
*******************************************************************************/
package org.eclipse.lsp4e.test;
-import static org.eclipse.lsp4e.test.TestUtils.waitForAndAssertCondition;
+import static org.eclipse.lsp4e.test.utils.TestUtils.waitForAndAssertCondition;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
@@ -27,6 +27,8 @@
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.lsp4e.LanguageServerWrapper;
import org.eclipse.lsp4e.LanguageServiceAccessor;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.ui.IEditorPart;
import org.junit.Before;
import org.junit.Rule;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/LanguageServersTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/LanguageServersTest.java
index fc95c4799..1586a2fce 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/LanguageServersTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/LanguageServersTest.java
@@ -13,9 +13,7 @@
package org.eclipse.lsp4e.test;
import static org.eclipse.lsp4e.LanguageServiceAccessor.hasActiveLanguageServers;
-import static org.eclipse.lsp4e.test.TestUtils.createUniqueTestFile;
-import static org.eclipse.lsp4e.test.TestUtils.openEditor;
-import static org.eclipse.lsp4e.test.TestUtils.waitForCondition;
+import static org.eclipse.lsp4e.test.utils.TestUtils.*;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotEquals;
@@ -43,6 +41,9 @@
import org.eclipse.lsp4e.LanguageServers;
import org.eclipse.lsp4e.LanguageServers.LanguageServerDocumentExecutor;
import org.eclipse.lsp4e.internal.Pair;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.MockConnectionProvider;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.lsp4e.tests.mock.MockTextDocumentService;
import org.eclipse.lsp4j.DidChangeTextDocumentParams;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/LanguageServiceAccessorTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/LanguageServiceAccessorTest.java
index 4b07a5fcf..af352c19e 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/LanguageServiceAccessorTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/LanguageServiceAccessorTest.java
@@ -19,15 +19,7 @@
import static org.eclipse.lsp4e.LanguageServiceAccessor.getLSWrapper;
import static org.eclipse.lsp4e.LanguageServiceAccessor.getLSWrappers;
import static org.eclipse.lsp4e.LanguageServiceAccessor.hasActiveLanguageServers;
-import static org.eclipse.lsp4e.test.TestUtils.createFile;
-import static org.eclipse.lsp4e.test.TestUtils.createProject;
-import static org.eclipse.lsp4e.test.TestUtils.createTempFile;
-import static org.eclipse.lsp4e.test.TestUtils.createUniqueTestFile;
-import static org.eclipse.lsp4e.test.TestUtils.createUniqueTestFileMultiLS;
-import static org.eclipse.lsp4e.test.TestUtils.openEditor;
-import static org.eclipse.lsp4e.test.TestUtils.openTextViewer;
-import static org.eclipse.lsp4e.test.TestUtils.waitForAndAssertCondition;
-import static org.eclipse.lsp4e.test.TestUtils.waitForCondition;
+import static org.eclipse.lsp4e.test.utils.TestUtils.*;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
@@ -52,6 +44,8 @@
import org.eclipse.lsp4e.LanguageServers;
import org.eclipse.lsp4e.LanguageServersRegistry;
import org.eclipse.lsp4e.LanguageServiceAccessor;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.MappingEnablementTester;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.lsp4e.tests.mock.MockLanguageServerMultiRootFolders;
import org.eclipse.lsp4e.ui.UI;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/RunningLanguageServerTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/RunningLanguageServerTest.java
index 687acb061..27132712c 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/RunningLanguageServerTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/RunningLanguageServerTest.java
@@ -11,8 +11,9 @@
*******************************************************************************/
package org.eclipse.lsp4e.test;
-import static org.eclipse.lsp4e.test.TestUtils.waitForAndAssertCondition;
+import static org.eclipse.lsp4e.test.utils.TestUtils.waitForAndAssertCondition;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
@@ -25,6 +26,8 @@
import org.eclipse.lsp4e.ContentTypeToLanguageServerDefinition;
import org.eclipse.lsp4e.LanguageServerWrapper;
import org.eclipse.lsp4e.LanguageServiceAccessor;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IWorkbenchPage;
@@ -41,7 +44,7 @@ public class RunningLanguageServerTest {
@Before
public void setUp() throws CoreException {
- project = TestUtils.createProject("StartStopServerTest"+System.currentTimeMillis());
+ project = TestUtils.createProject("StartStopServerTest" + System.currentTimeMillis());
}
/**
@@ -53,15 +56,15 @@ public void testOpenCloseLanguageServer() throws Exception {
IFile testFile = TestUtils.createUniqueTestFile(project, "");
// open and close the editor several times
- for(int i = 0; i < 10; i++) {
+ for(int i = 1; i <= 10; i++) {
IEditorPart editor = TestUtils.openEditor(testFile);
- LanguageServiceAccessor.getLSWrappers(testFile, capabilities -> Boolean.TRUE).iterator()
- .next();
- waitForAndAssertCondition("language server should be started for iteration #" + i, 5_000,
+
+ assertFalse(LanguageServiceAccessor.getLSWrappers(testFile, capabilities -> true).isEmpty());
+ waitForAndAssertCondition("MockLanguageServer should be started for iteration #" + i, 5_000,
() -> MockLanguageServer.INSTANCE.isRunning());
((AbstractTextEditor)editor).close(false);
- waitForAndAssertCondition("language server should be closed after iteration #" + i, 5_000,
+ waitForAndAssertCondition("MockLanguageServer should be stopped after iteration #" + i, 5_000,
() -> !MockLanguageServer.INSTANCE.isRunning());
}
}
@@ -76,7 +79,7 @@ public void testDisabledLanguageServer() throws Exception {
TestUtils.openEditor(testFile);
@NonNull List initializedLanguageServers = LanguageServiceAccessor
- .getLSWrappers(testFile, capabilities -> Boolean.TRUE);
+ .getLSWrappers(testFile, capabilities -> true);
assertNotNull(initializedLanguageServers);
assertEquals("language server should not be started because it is disabled", 0,
initializedLanguageServers.size());
@@ -112,5 +115,4 @@ public void testDelayedStopDoesntCauseFreeze() throws Exception {
page.closeEditor(editor, false);
assertTrue(System.currentTimeMillis() - before < 1000);
}
-
}
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/VersioningSupportTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/VersioningSupportTest.java
index e3f7fa59e..336eda59e 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/VersioningSupportTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/VersioningSupportTest.java
@@ -12,8 +12,7 @@
*******************************************************************************/
package org.eclipse.lsp4e.test;
-import static org.eclipse.lsp4e.test.TestUtils.numberOfChangesIs;
-import static org.eclipse.lsp4e.test.TestUtils.waitForAndAssertCondition;
+import static org.eclipse.lsp4e.test.utils.TestUtils.*;
import static org.junit.Assert.fail;
import java.util.ArrayList;
@@ -29,6 +28,8 @@
import org.eclipse.lsp4e.LanguageServers;
import org.eclipse.lsp4e.VersionedEdits;
import org.eclipse.lsp4e.internal.DocumentUtil;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.lsp4j.DocumentFormattingParams;
import org.eclipse.lsp4j.FormattingOptions;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/WorkspaceFoldersTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/WorkspaceFoldersTest.java
index 6a61f93b5..a0097d4eb 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/WorkspaceFoldersTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/WorkspaceFoldersTest.java
@@ -12,7 +12,7 @@
*******************************************************************************/
package org.eclipse.lsp4e.test;
-import static org.eclipse.lsp4e.test.TestUtils.waitForAndAssertCondition;
+import static org.eclipse.lsp4e.test.utils.TestUtils.waitForAndAssertCondition;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
@@ -29,7 +29,9 @@
import org.eclipse.lsp4e.ConnectDocumentToLanguageServerSetupParticipant;
import org.eclipse.lsp4e.LanguageServerWrapper;
import org.eclipse.lsp4e.LanguageServiceAccessor;
-import org.eclipse.lsp4e.test.TestUtils.JobSynchronizer;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
+import org.eclipse.lsp4e.test.utils.TestUtils.JobSynchronizer;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.lsp4e.tests.mock.MockWorkspaceService;
import org.eclipse.lsp4e.ui.UI;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/codeactions/CodeActionTests.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/codeactions/CodeActionTests.java
index d41861030..3fd8069f3 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/codeactions/CodeActionTests.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/codeactions/CodeActionTests.java
@@ -11,11 +11,9 @@
*******************************************************************************/
package org.eclipse.lsp4e.test.codeactions;
-import static org.eclipse.lsp4e.test.TestUtils.waitForAndAssertCondition;
-import static org.eclipse.lsp4e.test.TestUtils.waitForCondition;
+import static org.eclipse.lsp4e.test.utils.TestUtils.*;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
import java.util.Arrays;
import java.util.Collections;
@@ -31,9 +29,9 @@
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.lsp4e.LanguageServerPlugin;
import org.eclipse.lsp4e.operations.diagnostics.LSPDiagnosticsToMarkers;
-import org.eclipse.lsp4e.test.AllCleanRule;
-import org.eclipse.lsp4e.test.NoErrorLoggedRule;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.NoErrorLoggedRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.lsp4j.CodeAction;
import org.eclipse.lsp4j.Command;
@@ -50,7 +48,6 @@
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableItem;
import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.PartInitException;
import org.eclipse.ui.ide.IDE;
import org.eclipse.ui.part.FileEditorInput;
import org.eclipse.ui.texteditor.AbstractTextEditor;
@@ -270,12 +267,7 @@ public static void assertResolution(AbstractTextEditor editor, IMarker m, String
public static void assertResolution(IFile targetFile, IMarker m, String newText) {
IDE.getMarkerHelpRegistry().getResolutions(m)[0].run(m);
- IEditorPart editorPart = null;
- try {
- editorPart = TestUtils.getEditor(targetFile);
- } catch (PartInitException e) {
- fail(e.getMessage());
- }
+ IEditorPart editorPart = TestUtils.getEditor(targetFile);
assertTrue(editorPart instanceof AbstractTextEditor);
AbstractTextEditor editor = (AbstractTextEditor)editorPart;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/color/ColorTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/color/ColorTest.java
index b31777937..988c94253 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/color/ColorTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/color/ColorTest.java
@@ -11,7 +11,7 @@
*******************************************************************************/
package org.eclipse.lsp4e.test.color;
-import static org.eclipse.lsp4e.test.TestUtils.waitForAndAssertCondition;
+import static org.eclipse.lsp4e.test.utils.TestUtils.waitForAndAssertCondition;
import java.io.File;
import java.io.FileOutputStream;
@@ -20,8 +20,8 @@
import org.eclipse.core.filesystem.EFS;
import org.eclipse.jface.text.ITextViewer;
import org.eclipse.lsp4e.LSPEclipseUtils;
-import org.eclipse.lsp4e.test.AllCleanRule;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.lsp4e.ui.UI;
import org.eclipse.lsp4j.Color;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/commands/DynamicRegistrationTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/commands/DynamicRegistrationTest.java
index 584bcacf0..808131a6b 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/commands/DynamicRegistrationTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/commands/DynamicRegistrationTest.java
@@ -28,8 +28,8 @@
import org.eclipse.lsp4e.LSPEclipseUtils;
import org.eclipse.lsp4e.LanguageServers;
import org.eclipse.lsp4e.LanguageServiceAccessor;
-import org.eclipse.lsp4e.test.AllCleanRule;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.lsp4j.ExecuteCommandOptions;
import org.eclipse.lsp4j.Registration;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/completion/AbstractCompletionTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/completion/AbstractCompletionTest.java
index fce908d9c..10bdfbe9c 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/completion/AbstractCompletionTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/completion/AbstractCompletionTest.java
@@ -21,8 +21,8 @@
import org.eclipse.jface.text.ITextViewer;
import org.eclipse.jface.text.contentassist.ICompletionProposal;
import org.eclipse.lsp4e.operations.completion.LSContentAssistProcessor;
-import org.eclipse.lsp4e.test.AllCleanRule;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.lsp4j.CompletionItem;
import org.eclipse.lsp4j.CompletionItemKind;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/completion/CompleteCompletionTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/completion/CompleteCompletionTest.java
index 7204e4501..4a9e77c32 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/completion/CompleteCompletionTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/completion/CompleteCompletionTest.java
@@ -12,7 +12,7 @@
*******************************************************************************/
package org.eclipse.lsp4e.test.completion;
-import static org.eclipse.lsp4e.test.TestUtils.waitForAndAssertCondition;
+import static org.eclipse.lsp4e.test.utils.TestUtils.waitForAndAssertCondition;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
@@ -43,7 +43,7 @@
import org.eclipse.lsp4e.LanguageServersRegistry.LanguageServerDefinition;
import org.eclipse.lsp4e.LanguageServiceAccessor;
import org.eclipse.lsp4e.operations.completion.LSCompletionProposal;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.lsp4e.ui.UI;
import org.eclipse.lsp4j.Command;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/completion/CompletionOrderingTests.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/completion/CompletionOrderingTests.java
index 24e162f39..e266ceac1 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/completion/CompletionOrderingTests.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/completion/CompletionOrderingTests.java
@@ -23,7 +23,7 @@
import org.eclipse.lsp4e.LanguageServerWrapper;
import org.eclipse.lsp4e.LanguageServiceAccessor;
import org.eclipse.lsp4e.operations.completion.LSCompletionProposal;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.lsp4j.CompletionItem;
import org.eclipse.lsp4j.CompletionItemKind;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/completion/ContextInformationTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/completion/ContextInformationTest.java
index 0b5831685..5ddb27ac0 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/completion/ContextInformationTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/completion/ContextInformationTest.java
@@ -24,8 +24,8 @@
import org.eclipse.jface.text.contentassist.IContextInformation;
import org.eclipse.lsp4e.LSPEclipseUtils;
import org.eclipse.lsp4e.operations.completion.LSContentAssistProcessor;
-import org.eclipse.lsp4e.test.AllCleanRule;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.lsp4j.SignatureHelp;
import org.eclipse.lsp4j.SignatureInformation;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/completion/IncompleteCompletionTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/completion/IncompleteCompletionTest.java
index ba775cc03..f93e79548 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/completion/IncompleteCompletionTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/completion/IncompleteCompletionTest.java
@@ -12,7 +12,7 @@
*******************************************************************************/
package org.eclipse.lsp4e.test.completion;
-import static org.eclipse.lsp4e.test.TestUtils.waitForAndAssertCondition;
+import static org.eclipse.lsp4e.test.utils.TestUtils.waitForAndAssertCondition;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
@@ -42,7 +42,7 @@
import org.eclipse.lsp4e.LanguageServersRegistry.LanguageServerDefinition;
import org.eclipse.lsp4e.LanguageServiceAccessor;
import org.eclipse.lsp4e.operations.completion.LSCompletionProposal;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.lsp4e.ui.UI;
import org.eclipse.lsp4j.CompletionItem;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/completion/InsertReplaceCompletionTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/completion/InsertReplaceCompletionTest.java
index 4472ce944..256f6ec68 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/completion/InsertReplaceCompletionTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/completion/InsertReplaceCompletionTest.java
@@ -24,7 +24,7 @@
import org.eclipse.jface.text.ITextViewer;
import org.eclipse.jface.text.contentassist.ICompletionProposal;
import org.eclipse.lsp4e.operations.completion.LSCompletionProposal;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.lsp4j.CompletionItemKind;
import org.eclipse.lsp4j.CompletionList;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/completion/VariableReplacementTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/completion/VariableReplacementTest.java
index b20761d9b..4efab68ba 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/completion/VariableReplacementTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/completion/VariableReplacementTest.java
@@ -17,7 +17,7 @@
import org.eclipse.jface.text.ITextViewer;
import org.eclipse.jface.text.contentassist.ICompletionProposal;
import org.eclipse.lsp4e.operations.completion.LSCompletionProposal;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.lsp4j.CompletionItem;
import org.eclipse.lsp4j.CompletionItemKind;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/debug/DebugTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/debug/DebugTest.java
index ec8c9fdba..229c1ad5c 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/debug/DebugTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/debug/DebugTest.java
@@ -20,8 +20,8 @@
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.lsp4e.debug.debugmodel.DSPDebugTarget;
-import org.eclipse.lsp4e.test.AllCleanRule;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4j.jsonrpc.json.JsonRpcMethod;
import org.eclipse.lsp4j.jsonrpc.services.ServiceEndpoints;
import org.junit.Before;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/declaration/LSBasedHyperlinkTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/declaration/LSBasedHyperlinkTest.java
index e7fc28790..6d81935da 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/declaration/LSBasedHyperlinkTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/declaration/LSBasedHyperlinkTest.java
@@ -14,14 +14,17 @@
import static org.junit.Assert.assertEquals;
import java.io.File;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.nio.file.Path;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.lsp4e.LSPEclipseUtils;
import org.eclipse.lsp4e.operations.declaration.LSBasedHyperlink;
-import org.eclipse.lsp4e.test.AllCleanRule;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4j.Location;
import org.eclipse.lsp4j.LocationLink;
import org.junit.Before;
@@ -49,21 +52,22 @@ public void testHyperlinkLabelNoLocation() {
}
@Test
- public void testHyperlinkLabelForFileLocation() {
+ public void testHyperlinkLabelForFileLocation() throws URISyntaxException {
Location location = new Location();
location.setUri("file:///Users/someuser/testfile");
LSBasedHyperlink hyperlink = new LSBasedHyperlink(location, null, locationType);
- assertEquals("Open Declaration - testfile - /Users/someuser/testfile", hyperlink.getHyperlinkText());
+ assertEquals("Open Declaration - testfile - " + Path.of(new URI(location.getUri())),
+ hyperlink.getHyperlinkText());
}
@Test
- public void testHyperlinkLabelForFileLocationLink() {
+ public void testHyperlinkLabelForFileLocationLink() throws URISyntaxException {
LocationLink location = new LocationLink();
location.setTargetUri("file:///Users/someuser/testfile");
LSBasedHyperlink hyperlink = new LSBasedHyperlink(location, null, locationType);
- assertEquals("Open Declaration - testfile - /Users/someuser/testfile", hyperlink.getHyperlinkText());
+ assertEquals("Open Declaration - testfile - " + Path.of(new URI(location.getTargetUri())), hyperlink.getHyperlinkText());
}
@Test
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/definition/DefinitionTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/definition/DefinitionTest.java
index 884922469..ae963d23d 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/definition/DefinitionTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/definition/DefinitionTest.java
@@ -31,8 +31,8 @@
import org.eclipse.lsp4e.LSPEclipseUtils;
import org.eclipse.lsp4e.operations.declaration.LSBasedHyperlink;
import org.eclipse.lsp4e.operations.declaration.OpenDeclarationHyperlinkDetector;
-import org.eclipse.lsp4e.test.AllCleanRule;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.lsp4e.ui.UI;
import org.eclipse.lsp4j.Location;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/diagnostics/DiagnosticsTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/diagnostics/DiagnosticsTest.java
index a7eb813d8..cbca60749 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/diagnostics/DiagnosticsTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/diagnostics/DiagnosticsTest.java
@@ -9,10 +9,11 @@
* Contributors:
* Michał Niewrzał (Rogue Wave Software Inc.) - initial implementation
* Lucas Bullen (Red Hat Inc.) - [Bug 528333] Performance problem with diagnostics
+ * Sebastian Thomschke (Vegard IT GmbH) - fix erratic test failures
*******************************************************************************/
package org.eclipse.lsp4e.test.diagnostics;
-import static org.eclipse.lsp4e.test.TestUtils.waitForAndAssertCondition;
+import static org.eclipse.lsp4e.test.utils.TestUtils.waitForAndAssertCondition;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
@@ -23,6 +24,7 @@
import java.util.Collections;
import java.util.List;
import java.util.function.IntSupplier;
+import java.util.stream.Stream;
import org.eclipse.core.filesystem.EFS;
import org.eclipse.core.resources.IFile;
@@ -39,9 +41,9 @@
import org.eclipse.jface.text.ITextViewer;
import org.eclipse.lsp4e.LSPEclipseUtils;
import org.eclipse.lsp4e.operations.diagnostics.LSPDiagnosticsToMarkers;
-import org.eclipse.lsp4e.test.AllCleanRule;
-import org.eclipse.lsp4e.test.TestUtils;
import org.eclipse.lsp4e.test.color.ColorTest;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.lsp4e.ui.UI;
import org.eclipse.lsp4j.Diagnostic;
@@ -53,9 +55,7 @@
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.FontData;
import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.tests.harness.util.DisplayHelper;
import org.eclipse.ui.texteditor.MarkerUtilities;
import org.junit.Before;
import org.junit.Rule;
@@ -77,47 +77,51 @@ public void setUp() throws CoreException {
public void testDiagnostics() throws CoreException {
IFile file = TestUtils.createUniqueTestFile(project, "Diagnostic Other Text");
- Range range = new Range(new Position(0, 0), new Position(0, 10));
- List diagnostics = new ArrayList<>();
- diagnostics.add(createDiagnostic("1", "message1", range, DiagnosticSeverity.Error, "source1"));
- diagnostics.add(createDiagnostic("2", "message2", range, DiagnosticSeverity.Warning, "source2"));
- diagnostics.add(createDiagnostic("3", "message3", range, DiagnosticSeverity.Information, "source3"));
- diagnostics.add(createDiagnostic("4", "message4", range, DiagnosticSeverity.Hint, "source4"));
+ int markerLineIndex = 0;
+ int markerCharStart = 0;
+ int markerCharEnd = 10;
+ Range range = new Range(
+ new Position(markerLineIndex, markerCharStart),
+ new Position(markerLineIndex, markerCharEnd));
+ List diagnostics = List.of(
+ createDiagnostic("1", "message1", range, DiagnosticSeverity.Error, "source1"),
+ createDiagnostic("2", "message2", range, DiagnosticSeverity.Warning, "source2"),
+ createDiagnostic("3", "message3", range, DiagnosticSeverity.Information, "source3"),
+ createDiagnostic("4", "message4", range, DiagnosticSeverity.Hint, "source4"));
diagnosticsToMarkers.accept(new PublishDiagnosticsParams(file.getLocationURI().toString(), diagnostics));
- assertTrue(DisplayHelper.waitForCondition(Display.getCurrent(), 2000, () -> {
- try {
- return file.findMarkers(LSPDiagnosticsToMarkers.LS_DIAGNOSTIC_MARKER_TYPE, false, IResource.DEPTH_INFINITE).length
- == diagnostics.size();
- } catch (CoreException e) {
- return false;
- }
- }));
+ waitForAndAssertCondition(10_000, () -> {
+ assertEquals(diagnostics.size(), file.findMarkers(LSPDiagnosticsToMarkers.LS_DIAGNOSTIC_MARKER_TYPE, false,
+ IResource.DEPTH_INFINITE).length);
+ return true;
+ });
IMarker[] markers = file.findMarkers(LSPDiagnosticsToMarkers.LS_DIAGNOSTIC_MARKER_TYPE, false,
IResource.DEPTH_INFINITE);
- for (int i = 0; i < diagnostics.size(); i++) {
- Diagnostic diagnostic = diagnostics.get(i);
- IMarker marker = markers[i];
-
- assertEquals(diagnostic.getMessage(), MarkerUtilities.getMessage(marker));
- assertEquals(0, MarkerUtilities.getCharStart(marker));
- assertEquals(10, MarkerUtilities.getCharEnd(marker));
- assertEquals(1, MarkerUtilities.getLineNumber(marker));
- assertEquals(marker.getAttribute(LSPDiagnosticsToMarkers.LSP_DIAGNOSTIC), diagnostic);
+ for (Diagnostic diagnostic : diagnostics) {
+ var marker = Stream.of(markers).filter(m -> {
+ try {
+ return m.getAttribute(LSPDiagnosticsToMarkers.LSP_DIAGNOSTIC) == diagnostic;
+ } catch (CoreException ex) {
+ throw new RuntimeException(ex);
+ }}).findFirst();
+
+ assertTrue("No marker found for " + diagnostic, marker.isPresent());
+
+ assertEquals(markerCharStart, MarkerUtilities.getCharStart(marker.get()));
+ assertEquals(markerCharEnd, MarkerUtilities.getCharEnd(marker.get()));
+ assertEquals(markerLineIndex + 1, MarkerUtilities.getLineNumber(marker.get()));
+ assertEquals(diagnostic.getMessage(), MarkerUtilities.getMessage(marker.get()));
}
diagnosticsToMarkers.accept(new PublishDiagnosticsParams(file.getLocationURI().toString(), Collections.emptyList()));
- assertTrue(DisplayHelper.waitForCondition(Display.getCurrent(), 2000, () -> {
- try {
- return file.findMarkers(LSPDiagnosticsToMarkers.LS_DIAGNOSTIC_MARKER_TYPE, false, IResource.DEPTH_INFINITE).length
- == 0;
- } catch (CoreException e) {
- return false;
- }
- }));
+ waitForAndAssertCondition(10_000, () -> {
+ assertEquals(0, file.findMarkers(LSPDiagnosticsToMarkers.LS_DIAGNOSTIC_MARKER_TYPE, false,
+ IResource.DEPTH_INFINITE).length);
+ return true;
+ });
}
@Test
@@ -134,12 +138,11 @@ public void testFileBuffersNotLeaked() throws Exception {
diagnosticsToMarkers.accept(new PublishDiagnosticsParams(file.getLocationURI().toString(), diagnostics));
- assertTrue(DisplayHelper.waitForCondition(Display.getDefault(), 2000, () -> {
+ waitForAndAssertCondition(10_000, () -> {
IDocument shouldHaveBeenClosed = LSPEclipseUtils.getExistingDocument(file);
- return shouldHaveBeenClosed == null;
- }));
-
-
+ assertNull(shouldHaveBeenClosed);
+ return true;
+ });
}
@Test
@@ -153,14 +156,11 @@ public void testDiagnosticsRangeAfterDocument() throws CoreException {
diagnosticsToMarkers.accept(new PublishDiagnosticsParams(file.getLocationURI().toString(), diagnostics));
- assertTrue(DisplayHelper.waitForCondition(Display.getCurrent(), 2000, () -> {
- try {
- return file.findMarkers(LSPDiagnosticsToMarkers.LS_DIAGNOSTIC_MARKER_TYPE, false,
- IResource.DEPTH_INFINITE).length == diagnostics.size();
- } catch (CoreException e) {
- return false;
- }
- }));
+ waitForAndAssertCondition(10_000, () -> {
+ assertEquals(diagnostics.size(), file.findMarkers(LSPDiagnosticsToMarkers.LS_DIAGNOSTIC_MARKER_TYPE, false,
+ IResource.DEPTH_INFINITE).length);
+ return true;
+ });
IMarker[] markers = file.findMarkers(LSPDiagnosticsToMarkers.LS_DIAGNOSTIC_MARKER_TYPE, false,
IResource.DEPTH_INFINITE);
@@ -187,14 +187,11 @@ public void testDiagnosticsFromVariousLS() throws Exception {
assertEquals("no marker should be shown at file initialization", 0, markers.length);
TestUtils.openEditor(file);
- assertTrue("there should be 1 marker for each language server", DisplayHelper.waitForCondition(Display.getCurrent(), 5000, () -> {
- try {
- return file.findMarkers(LSPDiagnosticsToMarkers.LS_DIAGNOSTIC_MARKER_TYPE, true,
- IResource.DEPTH_ZERO).length == 2;
- } catch (CoreException e) {
- return false;
- }
- }));
+ waitForAndAssertCondition(10_000, () -> {
+ assertEquals("there should be 1 marker for each language server", 2, file
+ .findMarkers(LSPDiagnosticsToMarkers.LS_DIAGNOSTIC_MARKER_TYPE, true, IResource.DEPTH_ZERO).length);
+ return true;
+ });
}
@Test
@@ -224,14 +221,12 @@ public void testDiagnosticsOnExternalFile() throws Exception {
File file = TestUtils.createTempFile("testDiagnosticsOnExternalFile", ".lspt");
Font font = null;
try {
- try (
- FileOutputStream out = new FileOutputStream(file);
- ) {
+ try (FileOutputStream out = new FileOutputStream(file);) {
out.write('a');
}
ITextViewer viewer = LSPEclipseUtils.getTextViewer(IDE.openEditorOnFileStore(UI.getActivePage(), EFS.getStore(file.toURI())));
StyledText widget = viewer.getTextWidget();
- FontData biggerFont = new FontData(); // bigger font to keep color intact in some pixe (not altered by anti-aliasing)
+ FontData biggerFont = new FontData(); // bigger font to keep color intact in some pixel (not altered by anti-aliasing)
biggerFont.setHeight(40);
biggerFont.setLocale(widget.getFont().getFontData()[0].getLocale());
biggerFont.setName(widget.getFont().getFontData()[0].getName());
@@ -239,7 +234,7 @@ public void testDiagnosticsOnExternalFile() throws Exception {
font = new Font(widget.getDisplay(), biggerFont);
widget.setFont(font);
RGB warningColor = new RGB(244, 200, 45); // from org.eclipse.ui.editors/plugin.xml/extension[@point='org.eclipse.ui.editors.markerAnnotationSpecification']/specification[@annotationType="org.eclipse.ui.workbench.texteditor.warning"]@colorPreferenceValue
- waitForAndAssertCondition(3_000, widget.getDisplay(), () -> ColorTest.containsColor(widget, warningColor, 10));
+ waitForAndAssertCondition(10_000, widget.getDisplay(), () -> ColorTest.containsColor(widget, warningColor, 10));
} finally {
if (font != null) {
font.dispose();
@@ -269,7 +264,6 @@ public void resourceChanged(IResourceChangeEvent event) {
return;
resourceChanges++;
}
-
}
private void confirmResourceChanges(IFile file, Diagnostic diagnostic, int expectedChanges) {
@@ -279,7 +273,7 @@ private void confirmResourceChanges(IFile file, Diagnostic diagnostic, int expec
try {
diagnosticsToMarkers.accept(new PublishDiagnosticsParams(file.getLocationURI().toString(),
Collections.singletonList(diagnostic)));
- waitForAndAssertCondition(5_000, () -> {
+ waitForAndAssertCondition(10_000, () -> {
IMarker[] markers = file.findMarkers(LSPDiagnosticsToMarkers.LS_DIAGNOSTIC_MARKER_TYPE, false,
IResource.DEPTH_INFINITE);
for (IMarker marker : markers) {
@@ -289,11 +283,13 @@ private void confirmResourceChanges(IFile file, Diagnostic diagnostic, int expec
}
return false;
});
- waitForAndAssertCondition(5_000, () -> expectedChanges == redrawCountListener.getAsInt());
+ waitForAndAssertCondition(10_000, () -> {
+ assertEquals(expectedChanges, redrawCountListener.getAsInt());
+ return true;
+ });
} finally {
workspace.removeResourceChangeListener(redrawCountListener);
}
-
}
private Diagnostic createDiagnostic(String code, String message, Range range, DiagnosticSeverity severity,
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/documentLink/DocumentLinkTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/documentLink/DocumentLinkTest.java
index 02201979a..a290d9c9f 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/documentLink/DocumentLinkTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/documentLink/DocumentLinkTest.java
@@ -26,8 +26,8 @@
import org.eclipse.jface.text.hyperlink.IHyperlink;
import org.eclipse.lsp4e.LSPEclipseUtils;
import org.eclipse.lsp4e.operations.documentLink.DocumentLinkDetector;
-import org.eclipse.lsp4e.test.AllCleanRule;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.lsp4e.ui.UI;
import org.eclipse.lsp4j.DocumentLink;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/DocumentDidChangeTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/DocumentDidChangeTest.java
index 6dfebe009..1c5852de4 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/DocumentDidChangeTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/DocumentDidChangeTest.java
@@ -12,8 +12,7 @@
*******************************************************************************/
package org.eclipse.lsp4e.test.edit;
-import static org.eclipse.lsp4e.test.TestUtils.numberOfChangesIs;
-import static org.eclipse.lsp4e.test.TestUtils.waitForAndAssertCondition;
+import static org.eclipse.lsp4e.test.utils.TestUtils.*;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
@@ -28,8 +27,8 @@
import org.eclipse.jface.text.ITextViewer;
import org.eclipse.lsp4e.LSPEclipseUtils;
import org.eclipse.lsp4e.LanguageServers;
-import org.eclipse.lsp4e.test.AllCleanRule;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.lsp4e.ui.UI;
import org.eclipse.lsp4j.DidChangeTextDocumentParams;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/DocumentDidCloseTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/DocumentDidCloseTest.java
index 3cf6339e6..8002a4915 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/DocumentDidCloseTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/DocumentDidCloseTest.java
@@ -24,8 +24,8 @@
import org.eclipse.jface.text.IDocument;
import org.eclipse.lsp4e.LSPEclipseUtils;
import org.eclipse.lsp4e.LanguageServers;
-import org.eclipse.lsp4e.test.AllCleanRule;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.lsp4e.ui.UI;
import org.eclipse.lsp4j.DidCloseTextDocumentParams;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/DocumentDidOpenTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/DocumentDidOpenTest.java
index 3891cfaf9..3b48c90bb 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/DocumentDidOpenTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/DocumentDidOpenTest.java
@@ -25,8 +25,8 @@
import org.eclipse.jface.text.IDocument;
import org.eclipse.lsp4e.LSPEclipseUtils;
import org.eclipse.lsp4e.LanguageServers;
-import org.eclipse.lsp4e.test.AllCleanRule;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.lsp4e.ui.UI;
import org.eclipse.lsp4j.DidOpenTextDocumentParams;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/DocumentDidSaveTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/DocumentDidSaveTest.java
index c362145a1..2692bd315 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/DocumentDidSaveTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/DocumentDidSaveTest.java
@@ -12,7 +12,7 @@
*******************************************************************************/
package org.eclipse.lsp4e.test.edit;
-import static org.eclipse.lsp4e.test.TestUtils.waitForAndAssertCondition;
+import static org.eclipse.lsp4e.test.utils.TestUtils.waitForAndAssertCondition;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
@@ -29,8 +29,8 @@
import org.eclipse.jface.text.ITextViewer;
import org.eclipse.lsp4e.LSPEclipseUtils;
import org.eclipse.lsp4e.LanguageServers;
-import org.eclipse.lsp4e.test.AllCleanRule;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.lsp4e.ui.UI;
import org.eclipse.lsp4j.DidSaveTextDocumentParams;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/DocumentEditAndUndoTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/DocumentEditAndUndoTest.java
index 2b97c40a8..0faef7045 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/DocumentEditAndUndoTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/DocumentEditAndUndoTest.java
@@ -12,7 +12,7 @@
*******************************************************************************/
package org.eclipse.lsp4e.test.edit;
-import static org.eclipse.lsp4e.test.TestUtils.waitForAndAssertCondition;
+import static org.eclipse.lsp4e.test.utils.TestUtils.waitForAndAssertCondition;
import static org.junit.Assert.*;
import java.util.List;
@@ -25,8 +25,8 @@
import org.eclipse.jface.text.source.ISourceViewer;
import org.eclipse.lsp4e.LSPEclipseUtils;
import org.eclipse.lsp4e.LanguageServers;
-import org.eclipse.lsp4e.test.AllCleanRule;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.lsp4j.LinkedEditingRanges;
import org.eclipse.lsp4j.Position;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/DocumentRevertAndCloseTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/DocumentRevertAndCloseTest.java
index b223115ba..88ee51c0b 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/DocumentRevertAndCloseTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/DocumentRevertAndCloseTest.java
@@ -12,7 +12,7 @@
package org.eclipse.lsp4e.test.edit;
-import static org.eclipse.lsp4e.test.TestUtils.waitForAndAssertCondition;
+import static org.eclipse.lsp4e.test.utils.TestUtils.waitForAndAssertCondition;
import static org.junit.Assert.assertNotNull;
import org.eclipse.core.resources.IFile;
@@ -22,8 +22,8 @@
import org.eclipse.jface.text.ITextViewer;
import org.eclipse.lsp4e.LSPEclipseUtils;
import org.eclipse.lsp4e.LanguageServers;
-import org.eclipse.lsp4e.test.AllCleanRule;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.texteditor.AbstractTextEditor;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/DocumentWillSaveWaitUntilTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/DocumentWillSaveWaitUntilTest.java
index 8dc755824..3885a3039 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/DocumentWillSaveWaitUntilTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/DocumentWillSaveWaitUntilTest.java
@@ -11,7 +11,7 @@
*******************************************************************************/
package org.eclipse.lsp4e.test.edit;
-import static org.eclipse.lsp4e.test.TestUtils.waitForAndAssertCondition;
+import static org.eclipse.lsp4e.test.utils.TestUtils.waitForAndAssertCondition;
import static org.junit.Assert.assertNotNull;
import java.util.Collections;
@@ -26,8 +26,8 @@
import org.eclipse.jface.text.ITextViewer;
import org.eclipse.lsp4e.LSPEclipseUtils;
import org.eclipse.lsp4e.LanguageServers;
-import org.eclipse.lsp4e.test.AllCleanRule;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.lsp4j.Position;
import org.eclipse.lsp4j.Range;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/LSPEclipseUtilsTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/LSPEclipseUtilsTest.java
index d2b83ee81..db70843e6 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/LSPEclipseUtilsTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/LSPEclipseUtilsTest.java
@@ -45,9 +45,9 @@
import org.eclipse.jface.text.ITextViewer;
import org.eclipse.lsp4e.LSPEclipseUtils;
import org.eclipse.lsp4e.LanguageServerPlugin;
-import org.eclipse.lsp4e.test.AllCleanRule;
-import org.eclipse.lsp4e.test.NoErrorLoggedRule;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.NoErrorLoggedRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.ui.UI;
import org.eclipse.lsp4j.CreateFile;
import org.eclipse.lsp4j.Location;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/format/FormatTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/format/FormatTest.java
index 1cb3c98ec..e3cec1844 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/format/FormatTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/format/FormatTest.java
@@ -11,8 +11,7 @@
*******************************************************************************/
package org.eclipse.lsp4e.test.format;
-import static org.eclipse.lsp4e.test.TestUtils.numberOfChangesIs;
-import static org.eclipse.lsp4e.test.TestUtils.waitForAndAssertCondition;
+import static org.eclipse.lsp4e.test.utils.TestUtils.*;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThrows;
import static org.junit.Assert.assertTrue;
@@ -37,8 +36,8 @@
import org.eclipse.lsp4e.LSPEclipseUtils;
import org.eclipse.lsp4e.VersionedEdits;
import org.eclipse.lsp4e.operations.format.LSPFormatter;
-import org.eclipse.lsp4e.test.AllCleanRule;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.lsp4j.Position;
import org.eclipse.lsp4j.Range;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/highlight/HighlightTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/highlight/HighlightTest.java
index 1573e75e1..3dfd68f5f 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/highlight/HighlightTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/highlight/HighlightTest.java
@@ -12,7 +12,7 @@
*******************************************************************************/
package org.eclipse.lsp4e.test.highlight;
-import static org.eclipse.lsp4e.test.TestUtils.waitForAndAssertCondition;
+import static org.eclipse.lsp4e.test.utils.TestUtils.waitForAndAssertCondition;
import static org.junit.Assert.fail;
import java.util.ArrayList;
@@ -27,8 +27,8 @@
import org.eclipse.jface.text.source.IAnnotationModel;
import org.eclipse.jface.text.source.ISourceViewer;
import org.eclipse.lsp4e.operations.highlight.HighlightReconcilingStrategy;
-import org.eclipse.lsp4e.test.AllCleanRule;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.lsp4j.DocumentHighlight;
import org.eclipse.lsp4j.DocumentHighlightKind;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/hover/HoverTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/hover/HoverTest.java
index 9a988fc72..e08329195 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/hover/HoverTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/hover/HoverTest.java
@@ -11,7 +11,7 @@
*******************************************************************************/
package org.eclipse.lsp4e.test.hover;
-import static org.eclipse.lsp4e.test.TestUtils.waitForAndAssertCondition;
+import static org.eclipse.lsp4e.test.utils.TestUtils.waitForAndAssertCondition;
import static org.junit.Assert.*;
import java.io.File;
@@ -29,8 +29,8 @@
import org.eclipse.jface.text.Region;
import org.eclipse.lsp4e.LSPEclipseUtils;
import org.eclipse.lsp4e.operations.hover.LSPTextHover;
-import org.eclipse.lsp4e.test.AllCleanRule;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.lsp4e.ui.UI;
import org.eclipse.lsp4j.Hover;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/linkedediting/LinkedEditingTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/linkedediting/LinkedEditingTest.java
index 15175f7f9..c792b5c26 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/linkedediting/LinkedEditingTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/linkedediting/LinkedEditingTest.java
@@ -11,7 +11,7 @@
*******************************************************************************/
package org.eclipse.lsp4e.test.linkedediting;
-import static org.eclipse.lsp4e.test.TestUtils.waitForAndAssertCondition;
+import static org.eclipse.lsp4e.test.utils.TestUtils.waitForAndAssertCondition;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
@@ -31,8 +31,8 @@
import org.eclipse.jface.text.source.Annotation;
import org.eclipse.jface.text.source.IAnnotationModel;
import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.lsp4e.test.AllCleanRule;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.lsp4j.LinkedEditingRanges;
import org.eclipse.lsp4j.Position;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/message/ShowMessageTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/message/ShowMessageTest.java
index f6fd9a500..b551c1e12 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/message/ShowMessageTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/message/ShowMessageTest.java
@@ -8,7 +8,7 @@
*******************************************************************************/
package org.eclipse.lsp4e.test.message;
-import static org.eclipse.lsp4e.test.TestUtils.waitForAndAssertCondition;
+import static org.eclipse.lsp4e.test.utils.TestUtils.waitForAndAssertCondition;
import java.util.List;
import java.util.Set;
@@ -18,8 +18,8 @@
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
-import org.eclipse.lsp4e.test.AllCleanRule;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.lsp4e.ui.UI;
import org.eclipse.lsp4j.MessageParams;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/operations/codelens/LSPCodeMiningTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/operations/codelens/LSPCodeMiningTest.java
index 216475cd3..95fca9e88 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/operations/codelens/LSPCodeMiningTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/operations/codelens/LSPCodeMiningTest.java
@@ -31,8 +31,8 @@
import org.eclipse.lsp4e.command.LSPCommandHandler;
import org.eclipse.lsp4e.operations.codelens.CodeLensProvider;
import org.eclipse.lsp4e.operations.codelens.LSPCodeMining;
-import org.eclipse.lsp4e.test.AllCleanRule;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.lsp4j.CodeLens;
import org.eclipse.lsp4j.Command;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/outline/EditorToOutlineAdapterFactoryTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/outline/EditorToOutlineAdapterFactoryTest.java
index ba853f14d..1d29e5533 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/outline/EditorToOutlineAdapterFactoryTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/outline/EditorToOutlineAdapterFactoryTest.java
@@ -14,8 +14,8 @@
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
-import org.eclipse.lsp4e.test.AllCleanRule;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.lsp4e.ui.UI;
import org.eclipse.swt.widgets.Display;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/outline/OutlineContentTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/outline/OutlineContentTest.java
index 20dda7fe9..6610a8bfb 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/outline/OutlineContentTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/outline/OutlineContentTest.java
@@ -8,8 +8,7 @@
*/
package org.eclipse.lsp4e.test.outline;
-import static org.eclipse.lsp4e.test.TestUtils.waitForAndAssertCondition;
-import static org.eclipse.lsp4e.test.TestUtils.waitForCondition;
+import static org.eclipse.lsp4e.test.utils.TestUtils.*;
import static org.junit.Assert.assertFalse;
import java.io.FileWriter;
@@ -31,8 +30,8 @@
import org.eclipse.lsp4e.outline.CNFOutlinePage;
import org.eclipse.lsp4e.outline.EditorToOutlineAdapterFactory;
import org.eclipse.lsp4e.outline.SymbolsModel.DocumentSymbolWithURI;
-import org.eclipse.lsp4e.test.AllCleanRule;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.lsp4j.DocumentSymbol;
import org.eclipse.lsp4j.Position;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/outline/SymbolsLabelProviderTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/outline/SymbolsLabelProviderTest.java
index 3eb3260c2..56f7a6097 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/outline/SymbolsLabelProviderTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/outline/SymbolsLabelProviderTest.java
@@ -15,7 +15,7 @@
import org.eclipse.lsp4e.outline.SymbolsLabelProvider;
import org.eclipse.lsp4e.outline.SymbolsModel;
-import org.eclipse.lsp4e.test.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
import org.eclipse.lsp4j.DocumentSymbol;
import org.eclipse.lsp4j.Location;
import org.eclipse.lsp4j.Position;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/references/FindReferencesTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/references/FindReferencesTest.java
index bd881f556..4dac9e673 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/references/FindReferencesTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/references/FindReferencesTest.java
@@ -12,7 +12,7 @@
*******************************************************************************/
package org.eclipse.lsp4e.test.references;
-import static org.eclipse.lsp4e.test.TestUtils.waitForAndAssertCondition;
+import static org.eclipse.lsp4e.test.utils.TestUtils.waitForAndAssertCondition;
import static org.junit.Assert.*;
import java.util.HashMap;
@@ -27,8 +27,8 @@
import org.eclipse.lsp4e.internal.Pair;
import org.eclipse.lsp4e.operations.references.LSFindReferences;
import org.eclipse.lsp4e.operations.references.LSSearchResult;
-import org.eclipse.lsp4e.test.AllCleanRule;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.lsp4j.Location;
import org.eclipse.lsp4j.Position;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/rename/LSPTextChangeTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/rename/LSPTextChangeTest.java
index c4a160f13..f58fc2e36 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/rename/LSPTextChangeTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/rename/LSPTextChangeTest.java
@@ -23,8 +23,8 @@
import org.eclipse.jface.text.IDocument;
import org.eclipse.lsp4e.LSPEclipseUtils;
import org.eclipse.lsp4e.refactoring.LSPTextChange;
-import org.eclipse.lsp4e.test.AllCleanRule;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4j.Position;
import org.eclipse.lsp4j.Range;
import org.eclipse.lsp4j.TextEdit;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/rename/RenameTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/rename/RenameTest.java
index 4d6d43483..1043a10cb 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/rename/RenameTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/rename/RenameTest.java
@@ -13,7 +13,7 @@
*******************************************************************************/
package org.eclipse.lsp4e.test.rename;
-import static org.eclipse.lsp4e.test.TestUtils.waitForAndAssertCondition;
+import static org.eclipse.lsp4e.test.utils.TestUtils.waitForAndAssertCondition;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
@@ -43,8 +43,8 @@
import org.eclipse.jface.text.IDocument;
import org.eclipse.lsp4e.LSPEclipseUtils;
import org.eclipse.lsp4e.operations.rename.LSPRenameProcessor;
-import org.eclipse.lsp4e.test.AllCleanRule;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.lsp4j.Position;
import org.eclipse.lsp4j.Range;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/semanticTokens/SemanticHighlightReconcilerStrategyTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/semanticTokens/SemanticHighlightReconcilerStrategyTest.java
index ef61b6903..f46f0fcda 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/semanticTokens/SemanticHighlightReconcilerStrategyTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/semanticTokens/SemanticHighlightReconcilerStrategyTest.java
@@ -18,8 +18,8 @@
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.lsp4e.test.AllCleanRule;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4e.tests.mock.MockLanguageServer;
import org.eclipse.lsp4j.SemanticTokens;
import org.eclipse.swt.custom.StyleRange;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/semanticTokens/SemanticTokensDataStreamProcessorTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/semanticTokens/SemanticTokensDataStreamProcessorTest.java
index e40a915c3..c28e6c667 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/semanticTokens/SemanticTokensDataStreamProcessorTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/semanticTokens/SemanticTokensDataStreamProcessorTest.java
@@ -16,7 +16,7 @@
import org.eclipse.jface.text.Document;
import org.eclipse.lsp4e.operations.semanticTokens.SemanticTokensDataStreamProcessor;
-import org.eclipse.lsp4e.test.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
import org.eclipse.lsp4j.SemanticTokensLegend;
import org.eclipse.swt.custom.StyleRange;
import org.junit.Rule;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/semanticTokens/SemanticTokensLegendProviderTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/semanticTokens/SemanticTokensLegendProviderTest.java
index f659a219a..68007b8c2 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/semanticTokens/SemanticTokensLegendProviderTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/semanticTokens/SemanticTokensLegendProviderTest.java
@@ -23,8 +23,8 @@
import org.eclipse.lsp4e.LanguageServerWrapper;
import org.eclipse.lsp4e.LanguageServiceAccessor;
import org.eclipse.lsp4e.operations.semanticTokens.SemanticHighlightReconcilerStrategy;
-import org.eclipse.lsp4e.test.AllCleanRule;
-import org.eclipse.lsp4e.test.TestUtils;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.TestUtils;
import org.eclipse.lsp4j.SemanticTokensLegend;
import org.junit.Before;
import org.junit.Rule;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/semanticTokens/StyleRangeHolderTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/semanticTokens/StyleRangeHolderTest.java
index 86f1c6a02..11fa7a763 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/semanticTokens/StyleRangeHolderTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/semanticTokens/StyleRangeHolderTest.java
@@ -18,7 +18,7 @@
import org.eclipse.jface.text.Region;
import org.eclipse.jface.text.TextEvent;
import org.eclipse.lsp4e.operations.semanticTokens.StyleRangeHolder;
-import org.eclipse.lsp4e.test.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
import org.eclipse.swt.custom.StyleRange;
import org.eclipse.swt.graphics.Color;
import org.junit.Rule;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/symbols/SymbolsModelTest.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/symbols/SymbolsModelTest.java
index 1d3ab0233..77bd8ee54 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/symbols/SymbolsModelTest.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/symbols/SymbolsModelTest.java
@@ -20,7 +20,7 @@
import java.util.List;
import org.eclipse.lsp4e.outline.SymbolsModel;
-import org.eclipse.lsp4e.test.AllCleanRule;
+import org.eclipse.lsp4e.test.utils.AllCleanRule;
import org.eclipse.lsp4j.DocumentSymbol;
import org.eclipse.lsp4j.Location;
import org.eclipse.lsp4j.Position;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/AllCleanRule.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/AllCleanRule.java
similarity index 98%
rename from org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/AllCleanRule.java
rename to org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/AllCleanRule.java
index 6c522a4e3..80ae8af00 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/AllCleanRule.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/AllCleanRule.java
@@ -9,7 +9,7 @@
* Contributors:
* Mickael Istria (Red Hat Inc.) - initial implementation
*******************************************************************************/
-package org.eclipse.lsp4e.test;
+package org.eclipse.lsp4e.test.utils;
import java.util.function.Supplier;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/CreateAndRegisterContentTypeLSPLaunchConfigMapping.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/CreateAndRegisterContentTypeLSPLaunchConfigMapping.java
similarity index 99%
rename from org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/CreateAndRegisterContentTypeLSPLaunchConfigMapping.java
rename to org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/CreateAndRegisterContentTypeLSPLaunchConfigMapping.java
index 0ea4f071a..8a41ab479 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/CreateAndRegisterContentTypeLSPLaunchConfigMapping.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/CreateAndRegisterContentTypeLSPLaunchConfigMapping.java
@@ -9,7 +9,7 @@
* Contributors:
* Mickael Istria (Red Hat Inc.) - Initial implementation
*******************************************************************************/
-package org.eclipse.lsp4e.test;
+package org.eclipse.lsp4e.test.utils;
import java.io.File;
import java.io.IOException;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/MappingEnablementTester.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/MappingEnablementTester.java
similarity index 95%
rename from org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/MappingEnablementTester.java
rename to org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/MappingEnablementTester.java
index d934cb3c0..b952b8da6 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/MappingEnablementTester.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/MappingEnablementTester.java
@@ -9,7 +9,7 @@
* Contributors:
* Rastislav Wagner (Red Hat Inc.) - initial implementation
*******************************************************************************/
-package org.eclipse.lsp4e.test;
+package org.eclipse.lsp4e.test.utils;
import org.eclipse.core.expressions.PropertyTester;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/MockConnectionProvider.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/MockConnectionProvider.java
similarity index 97%
rename from org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/MockConnectionProvider.java
rename to org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/MockConnectionProvider.java
index c4c3ef987..54cce4660 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/MockConnectionProvider.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/MockConnectionProvider.java
@@ -9,7 +9,7 @@
* Contributors:
* Michał Niewrzał (Rogue Wave Software Inc.) - initial implementation
*******************************************************************************/
-package org.eclipse.lsp4e.test;
+package org.eclipse.lsp4e.test.utils;
import java.io.ByteArrayInputStream;
import java.io.Closeable;
@@ -43,15 +43,15 @@ public class MockConnectionProvider implements StreamConnectionProvider {
private InputStream errorStream;
private Future listener;
private Collection streams = new ArrayList<>(4);
-
+
private static ExecutorService testRunner = Executors.newCachedThreadPool();
-
+
@Override
public void start() throws IOException {
Pipe serverOutputToClientInput = Pipe.open();
Pipe clientOutputToServerInput = Pipe.open();
errorStream = new ByteArrayInputStream("Error output on console".getBytes(StandardCharsets.UTF_8));
-
+
InputStream serverInputStream = Channels.newInputStream(clientOutputToServerInput.source());
OutputStream serverOutputStream = Channels.newOutputStream(serverOutputToClientInput.sink());
Launcher launcher = LSPLauncher.createServerLauncher(MockLanguageServer.INSTANCE, serverInputStream,
@@ -60,7 +60,7 @@ public void start() throws IOException {
clientOutputStream = Channels.newOutputStream(clientOutputToServerInput.sink());
listener = launcher.startListening();
MockLanguageServer.INSTANCE.addRemoteProxy(launcher.getRemoteProxy());
-
+
// Store the output streams so we can close them to clean up. The corresponding input
// streams should automatically receive an EOF and close.
streams.add(clientOutputStream);
@@ -97,7 +97,7 @@ public void stop() {
listener = null;
}
- static Collection cancellations = new ArrayList<>();
+ public static Collection cancellations = new ArrayList<>();
@Override
public void handleMessage(Message message, LanguageServer languageServer, @Nullable URI rootURI) {
if (message.toString().contains("cancelRequest")) {
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/MockConnectionProviderMultiRootFolders.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/MockConnectionProviderMultiRootFolders.java
similarity index 98%
rename from org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/MockConnectionProviderMultiRootFolders.java
rename to org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/MockConnectionProviderMultiRootFolders.java
index bcc8498b4..9c5fb2a0d 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/MockConnectionProviderMultiRootFolders.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/MockConnectionProviderMultiRootFolders.java
@@ -10,7 +10,7 @@
* Michał Niewrzał (Rogue Wave Software Inc.) - initial implementation
* Martin Lippert (Pivotal Inc.) - Bug 531030 - fixed crash when initial project gets deleted in multi-root workspaces
*******************************************************************************/
-package org.eclipse.lsp4e.test;
+package org.eclipse.lsp4e.test.utils;
import java.io.ByteArrayInputStream;
import java.io.Closeable;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/MockConnectionProviderWithException.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/MockConnectionProviderWithException.java
similarity index 94%
rename from org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/MockConnectionProviderWithException.java
rename to org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/MockConnectionProviderWithException.java
index a0f9c4912..956b0c1f2 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/MockConnectionProviderWithException.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/MockConnectionProviderWithException.java
@@ -9,7 +9,7 @@
* Contributors:
* Lucia Jelinkova (Red Hat Inc.) - initial implementation
*******************************************************************************/
-package org.eclipse.lsp4e.test;
+package org.eclipse.lsp4e.test.utils;
public class MockConnectionProviderWithException extends MockConnectionProvider {
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/NoErrorLoggedRule.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/NoErrorLoggedRule.java
similarity index 98%
rename from org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/NoErrorLoggedRule.java
rename to org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/NoErrorLoggedRule.java
index 1df2f3bd0..3daa91044 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/NoErrorLoggedRule.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/NoErrorLoggedRule.java
@@ -9,7 +9,7 @@
* Contributors:
* Mickael Istria (Red Hat Inc.) - initial implementation
*******************************************************************************/
-package org.eclipse.lsp4e.test;
+package org.eclipse.lsp4e.test.utils;
import java.lang.System.Logger.Level;
import java.util.ArrayList;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/OtherFileStore.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/OtherFileStore.java
similarity index 91%
rename from org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/OtherFileStore.java
rename to org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/OtherFileStore.java
index 5ebfb8a94..52d58e9af 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/OtherFileStore.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/OtherFileStore.java
@@ -7,9 +7,9 @@
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
- * Rubén Porras Campo (Avaloq) - Bug 576425 - Support Remote Files
+ * Rub�n Porras Campo (Avaloq) - Bug 576425 - Support Remote Files
*******************************************************************************/
-package org.eclipse.lsp4e.test;
+package org.eclipse.lsp4e.test.utils;
import java.io.InputStream;
import java.net.URI;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/OtherFileSystem.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/OtherFileSystem.java
similarity index 84%
rename from org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/OtherFileSystem.java
rename to org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/OtherFileSystem.java
index 5a4475498..9f4e334e5 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/OtherFileSystem.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/OtherFileSystem.java
@@ -7,9 +7,9 @@
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
- * Rubén Porras Campo (Avaloq) - Bug 576425 - Support Remote Files
+ * Rub�n Porras Campo (Avaloq) - Bug 576425 - Support Remote Files
*******************************************************************************/
-package org.eclipse.lsp4e.test;
+package org.eclipse.lsp4e.test.utils;
import java.net.URI;
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/TestUtils.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/TestUtils.java
similarity index 95%
rename from org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/TestUtils.java
rename to org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/TestUtils.java
index 5aca3d8d6..f3c4ed735 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/TestUtils.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/TestUtils.java
@@ -9,7 +9,7 @@
* Contributors:
* Michał Niewrzał (Rogue Wave Software Inc.) - initial implementation
*******************************************************************************/
-package org.eclipse.lsp4e.test;
+package org.eclipse.lsp4e.test.utils;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
@@ -91,24 +91,21 @@ public static IEditorPart openExternalFileInEditor(File file) throws PartInitExc
return part;
}
- public static IEditorPart getEditor(IFile file) throws PartInitException{
+ public static IEditorPart getEditor(IFile file) {
IWorkbenchWindow workbenchWindow = UI.getActiveWindow();
IWorkbenchPage page = workbenchWindow.getActivePage();
IEditorInput input = new FileEditorInput(file);
- return Arrays.asList(page.getEditorReferences()).stream()
- .filter(r -> {
- try {
- return r.getEditorInput().equals(input);
- } catch (PartInitException e) {
- return false;
- }
- })
- .map(r -> r.getEditor(false))
- .findAny().orElse(null);
+ return Arrays.asList(page.getEditorReferences()).stream().filter(r -> {
+ try {
+ return r.getEditorInput().equals(input);
+ } catch (PartInitException e) {
+ return false;
+ }
+ }).map(r -> r.getEditor(false)).findAny().orElse(null);
}
- public static IEditorPart getActiveEditor() throws PartInitException {
+ public static IEditorPart getActiveEditor() {
IWorkbenchWindow workbenchWindow = UI.getActiveWindow();
IWorkbenchPage page = workbenchWindow.getActivePage();
return page.getActiveEditor();
@@ -281,7 +278,8 @@ public static void waitForAndAssertCondition(String errorMessage, int timeout_ms
waitForAndAssertCondition(errorMessage, timeout_ms, UI.getDisplay(), condition);
}
- public static void waitForAndAssertCondition(String errorMessage, int timeout_ms, Display display, Condition condition) {
+ public static void waitForAndAssertCondition(String errorMessage, int timeout_ms, Display display,
+ Condition condition) {
var ex = new Throwable[1];
var isConditionMet = new DisplayHelper() {
@Override
@@ -298,6 +296,12 @@ protected boolean condition() {
}.waitForCondition(display, timeout_ms, 50);
if (ex[0] != null) {
// if the condition was not met because of an exception throw it
+ if (ex[0] instanceof AssertionError ae) {
+ throw ae;
+ }
+ if (ex[0] instanceof RuntimeException re) {
+ throw re;
+ }
throw new AssertionError(errorMessage, ex[0]);
}
assertTrue(errorMessage, isConditionMet);
diff --git a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/UriToResourceAdapterFactory.java b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/UriToResourceAdapterFactory.java
similarity index 96%
rename from org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/UriToResourceAdapterFactory.java
rename to org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/UriToResourceAdapterFactory.java
index 62f0861e8..34df02e3c 100644
--- a/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/UriToResourceAdapterFactory.java
+++ b/org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/utils/UriToResourceAdapterFactory.java
@@ -9,7 +9,7 @@
* Contributors:
* Rubén Porras Campo (Avaloq) - Bug 576425 - Support Remote Files
*******************************************************************************/
-package org.eclipse.lsp4e.test;
+package org.eclipse.lsp4e.test.utils;
import java.net.URI;
diff --git a/org.eclipse.lsp4e.tests.mock/src/org/eclipse/lsp4e/tests/mock/MockLanguageServer.java b/org.eclipse.lsp4e.tests.mock/src/org/eclipse/lsp4e/tests/mock/MockLanguageServer.java
index 6b77150f2..21053d45a 100644
--- a/org.eclipse.lsp4e.tests.mock/src/org/eclipse/lsp4e/tests/mock/MockLanguageServer.java
+++ b/org.eclipse.lsp4e.tests.mock/src/org/eclipse/lsp4e/tests/mock/MockLanguageServer.java
@@ -80,15 +80,16 @@ public final class MockLanguageServer implements LanguageServer {
*/
public static String SUPPORTED_COMMAND_ID = "mock.command";
- private MockTextDocumentService textDocumentService = new MockTextDocumentService(this::buildMaybeDelayedFuture);
- private MockWorkspaceService workspaceService = new MockWorkspaceService(this::buildMaybeDelayedFuture);
- private InitializeResult initializeResult = new InitializeResult();
- private long delay = 0;
- private boolean started;
+ private volatile MockTextDocumentService textDocumentService = new MockTextDocumentService(
+ this::buildMaybeDelayedFuture);
+ private final MockWorkspaceService workspaceService = new MockWorkspaceService(this::buildMaybeDelayedFuture);
+ private final InitializeResult initializeResult = new InitializeResult();
+ private volatile long delay = 0;
+ private volatile boolean started;
- private List remoteProxies = new ArrayList<>();
+ private final List remoteProxies = new ArrayList<>();
- private List> inFlight = new CopyOnWriteArrayList<>();
+ private final List> inFlight = new CopyOnWriteArrayList<>();
public static void reset() {
INSTANCE = new MockLanguageServer(MockLanguageServer::defaultServerCapabilities);
@@ -341,5 +342,4 @@ public void didChange(DidChangeNotebookDocumentParams params) {
}
};
}
-
}