diff --git a/debug/org.eclipse.debug.tests/META-INF/MANIFEST.MF b/debug/org.eclipse.debug.tests/META-INF/MANIFEST.MF
index 9d504e7802c..6a088ba6083 100644
--- a/debug/org.eclipse.debug.tests/META-INF/MANIFEST.MF
+++ b/debug/org.eclipse.debug.tests/META-INF/MANIFEST.MF
@@ -32,6 +32,9 @@ Export-Package: org.eclipse.debug.tests,
Import-Package: org.assertj.core.api;version="3.24.2",
org.assertj.core.api.iterable,
org.junit.jupiter.api;version="[5.14.0,6.0.0)",
+ org.junit.jupiter.api.io;version="[5.14.0,6.0.0)",
+ org.junit.jupiter.api.extension;version="[5.14.0,6.0.0)",
+ org.junit.jupiter.params;version="[5.14.0,6.0.0)",
org.junit.platform.suite.api;version="[1.14.0,2.0.0)"
Eclipse-BundleShape: dir
Automatic-Module-Name: org.eclipse.debug.tests
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/AbstractDebugTest.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/AbstractDebugTest.java
deleted file mode 100644
index f44ad89e5ff..00000000000
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/AbstractDebugTest.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Andrey Loskutov and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Andrey Loskutov - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.tests;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.intro.IIntroManager;
-import org.eclipse.ui.intro.IIntroPart;
-import org.eclipse.ui.progress.UIJob;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.rules.TestName;
-
-public class AbstractDebugTest {
-
- private static boolean welcomeClosed;
-
- @Rule
- public TestName name = new TestName();
-
-
- @Before
- public void setUp() throws Exception {
- TestUtil.log(IStatus.INFO, name.getMethodName(), "setUp");
- assertWelcomeScreenClosed();
- }
-
- @After
- public void tearDown() throws Exception {
- TestUtil.log(IStatus.INFO, name.getMethodName(), "tearDown");
- TestUtil.cleanUp(name.getMethodName());
- }
-
- /**
- * Ensure the welcome screen is closed because in 4.x the debug perspective
- * opens a giant fast-view causing issues
- */
- protected final void assertWelcomeScreenClosed() throws Exception {
- if (!welcomeClosed && PlatformUI.isWorkbenchRunning()) {
- final IWorkbench wb = PlatformUI.getWorkbench();
- if (wb == null) {
- return;
- }
- // In UI thread we don't need to run a job
- if (Display.getCurrent() != null) {
- closeIntro(wb);
- return;
- }
-
- UIJob job = new UIJob("close welcome screen for debug test suite") {
- @Override
- public IStatus runInUIThread(IProgressMonitor monitor) {
- closeIntro(wb);
- return Status.OK_STATUS;
- }
-
- };
- job.setPriority(Job.INTERACTIVE);
- job.setSystem(true);
- job.schedule();
- }
- }
-
- private static void closeIntro(final IWorkbench wb) {
- IWorkbenchWindow window = wb.getActiveWorkbenchWindow();
- if (window != null) {
- IIntroManager im = wb.getIntroManager();
- IIntroPart intro = im.getIntro();
- if (intro != null) {
- welcomeClosed = im.closeIntro(intro);
- }
- }
- }
-
-}
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/DebugTestExtension.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/DebugTestExtension.java
new file mode 100644
index 00000000000..01c133fdcdb
--- /dev/null
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/DebugTestExtension.java
@@ -0,0 +1,72 @@
+/*******************************************************************************
+ * Copyright (c) 2026 Vector Informatik GmbH and others.
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *******************************************************************************/
+package org.eclipse.debug.tests;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.intro.IIntroManager;
+import org.eclipse.ui.intro.IIntroPart;
+import org.eclipse.ui.progress.UIJob;
+import org.junit.jupiter.api.extension.AfterEachCallback;
+import org.junit.jupiter.api.extension.BeforeEachCallback;
+import org.junit.jupiter.api.extension.ExtensionContext;
+
+public class DebugTestExtension implements BeforeEachCallback, AfterEachCallback {
+
+ private boolean welcomeClosed = false;
+
+ @Override
+ public void beforeEach(ExtensionContext context) throws Exception {
+ TestUtil.log(IStatus.INFO, context.getDisplayName(), "setUp");
+ assertWelcomeScreenClosed();
+ }
+
+ @Override
+ public void afterEach(ExtensionContext context) throws Exception {
+ TestUtil.log(IStatus.INFO, context.getDisplayName(), "tearDown");
+ TestUtil.cleanUp(context.getDisplayName());
+ }
+
+ /**
+ * Ensure the welcome screen is closed because in 4.x the debug perspective
+ * opens a giant fast-view causing issues
+ */
+ public void assertWelcomeScreenClosed() throws Exception {
+ if (!welcomeClosed && PlatformUI.isWorkbenchRunning()) {
+ final IWorkbench wb = PlatformUI.getWorkbench();
+ if (wb != null) {
+ UIJob job = new UIJob("close welcome screen for Ant test suite") { //$NON-NLS-1$
+ @Override
+ public IStatus runInUIThread(IProgressMonitor monitor) {
+ IWorkbenchWindow window = wb.getActiveWorkbenchWindow();
+ if (window != null) {
+ IIntroManager im = wb.getIntroManager();
+ IIntroPart intro = im.getIntro();
+ if (intro != null) {
+ welcomeClosed = im.closeIntro(intro);
+ }
+ }
+ return Status.OK_STATUS;
+ }
+ };
+ job.setPriority(Job.INTERACTIVE);
+ job.setSystem(true);
+ job.schedule();
+ }
+ }
+ }
+
+}
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/breakpoint/BreakpointOrderingTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/breakpoint/BreakpointOrderingTests.java
index 91a3d93187e..105a785e383 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/breakpoint/BreakpointOrderingTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/breakpoint/BreakpointOrderingTests.java
@@ -24,7 +24,7 @@
import org.eclipse.debug.core.model.ILineBreakpoint;
import org.eclipse.debug.core.model.IValue;
import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsComparator;
-import org.eclipse.debug.tests.AbstractDebugTest;
+import org.eclipse.debug.tests.DebugTestExtension;
import org.eclipse.debug.ui.IDebugModelPresentation;
import org.eclipse.debug.ui.IValueDetailListener;
import org.eclipse.jface.viewers.IBaseLabelProvider;
@@ -34,14 +34,16 @@
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Widget;
import org.eclipse.ui.IEditorInput;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
/**
* Test the ordering used in the breakpoints view.
*
* Using a special Comparator which sorts breakpoint texts like file:1, file:2 and file:11 in a numerical ordering.
*/
-public class BreakpointOrderingTests extends AbstractDebugTest {
+@ExtendWith(DebugTestExtension.class)
+public class BreakpointOrderingTests {
/**
* Test only implementation of ILineBreakpoint.
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/breakpoint/BreakpointTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/breakpoint/BreakpointTests.java
index 148f63bb664..1809b8f459a 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/breakpoint/BreakpointTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/breakpoint/BreakpointTests.java
@@ -29,21 +29,23 @@
import org.eclipse.debug.internal.core.BreakpointManager;
import org.eclipse.debug.internal.ui.DebugUIPlugin;
import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsView;
-import org.eclipse.debug.tests.AbstractDebugTest;
+import org.eclipse.debug.tests.DebugTestExtension;
import org.eclipse.debug.tests.TestUtil;
import org.eclipse.debug.ui.DebugUITools;
import org.eclipse.debug.ui.IDebugUIConstants;
import org.eclipse.swt.widgets.TreeItem;
import org.eclipse.ui.PlatformUI;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
-public class BreakpointTests extends AbstractDebugTest {
+@ExtendWith(DebugTestExtension.class)
+public class BreakpointTests {
private final IBreakpointManager bpm = DebugPlugin.getDefault().getBreakpointManager();
- @Override
+ @AfterEach
public void tearDown() throws Exception {
- super.tearDown();
for (IBreakpoint bp : getTestBreakpoints()) {
bp.delete();
}
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/breakpoint/SerialExecutorTest.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/breakpoint/SerialExecutorTest.java
index 540b7875689..1f099187b45 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/breakpoint/SerialExecutorTest.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/breakpoint/SerialExecutorTest.java
@@ -23,14 +23,17 @@
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.debug.internal.ui.model.elements.SerialExecutor;
-import org.eclipse.debug.tests.AbstractDebugTest;
-import org.junit.Test;
+import org.eclipse.debug.tests.DebugTestExtension;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
-public class SerialExecutorTest extends AbstractDebugTest {
- @Override
+@ExtendWith(DebugTestExtension.class)
+public class SerialExecutorTest {
+
+ @AfterEach
public void tearDown() throws Exception {
Job.getJobManager().cancel(this);
- super.tearDown();
}
@Test
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/ConsoleDocumentAdapterTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/ConsoleDocumentAdapterTests.java
index 35d88afd32d..99577b31e9d 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/ConsoleDocumentAdapterTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/ConsoleDocumentAdapterTests.java
@@ -30,7 +30,7 @@
import org.eclipse.core.runtime.ILogListener;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.tests.AbstractDebugTest;
+import org.eclipse.debug.tests.DebugTestExtension;
import org.eclipse.jface.text.Document;
import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.IDocumentAdapter;
@@ -38,7 +38,8 @@
import org.eclipse.swt.custom.TextChangedEvent;
import org.eclipse.swt.custom.TextChangingEvent;
import org.eclipse.ui.internal.console.ConsoleDocumentAdapter;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
/**
* Tests {@link ConsoleDocumentAdapter}.
@@ -46,7 +47,8 @@
* Primary tests fixed width mode and calculation of {@link TextChangingEvent}s.
*
*/
-public class ConsoleDocumentAdapterTests extends AbstractDebugTest {
+@ExtendWith(DebugTestExtension.class)
+public class ConsoleDocumentAdapterTests {
/**
* Test {@link ConsoleDocumentAdapter#setText(String)}.
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/ConsoleManagerTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/ConsoleManagerTests.java
index 71fb993cf21..2eb9d12625f 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/ConsoleManagerTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/ConsoleManagerTests.java
@@ -23,7 +23,7 @@
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
-import org.eclipse.debug.tests.AbstractDebugTest;
+import org.eclipse.debug.tests.DebugTestExtension;
import org.eclipse.debug.tests.TestUtil;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.util.IPropertyChangeListener;
@@ -40,14 +40,17 @@
import org.eclipse.ui.internal.console.ConsoleManager;
import org.eclipse.ui.part.IPageBookViewPage;
import org.eclipse.ui.part.MessagePage;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
+import org.junit.jupiter.api.extension.ExtendWith;
/**
* Tests console manager
*/
-public class ConsoleManagerTests extends AbstractDebugTest {
+@ExtendWith(DebugTestExtension.class)
+public class ConsoleManagerTests {
private ExecutorService executorService;
private IConsoleManager manager;
@@ -56,10 +59,8 @@ public class ConsoleManagerTests extends AbstractDebugTest {
private ConsoleMock[] consoles;
ConsoleMock firstConsole;
- @Override
- @Before
- public void setUp() throws Exception {
- super.setUp();
+ @BeforeEach
+ public void setUp(TestInfo testInfo) throws Exception {
assertNotNull("Must run in UI thread, but was in: " + Thread.currentThread().getName(), //$NON-NLS-1$
Display.getCurrent());
count = 20;
@@ -86,18 +87,17 @@ public void setUp() throws Exception {
firstConsole = new ConsoleMock(0);
manager.addConsoles(new ConsoleMock[] { firstConsole });
manager.showConsoleView(firstConsole);
- TestUtil.waitForJobs(name.getMethodName(), ConsoleManager.CONSOLE_JOB_FAMILY, 200, 5000);
+ TestUtil.waitForJobs(testInfo.getDisplayName(), ConsoleManager.CONSOLE_JOB_FAMILY, 200, 5000);
TestUtil.processUIEvents(100);
ConsoleMock.allShownConsoles.set(0);
}
- @Override @After
+ @AfterEach
public void tearDown() throws Exception {
executorService.shutdownNow();
manager.removeConsoles(consoles);
manager.removeConsoles(new ConsoleMock[] { firstConsole });
TestUtil.processUIEvents(100);
- super.tearDown();
}
/**
@@ -108,18 +108,18 @@ public void tearDown() throws Exception {
* See bug 489546.
*/
@Test
- public void testShowAllConsoles() throws Exception {
+ public void testShowAllConsoles(TestInfo testInfo) throws Exception {
// Create a number of threads which will start and wait for the last one
// created to call ConsoleManager.show.
for (ConsoleMock console : consoles) {
- showConsole(console);
+ showConsole(console, testInfo.getDisplayName());
}
System.out.println("All tasks scheduled, processing UI events now..."); //$NON-NLS-1$
TestUtil.processUIEvents(1000);
// Console manager starts a job with delay, let wait for him a bit
System.out.println("Waiting on jobs now..."); //$NON-NLS-1$
- TestUtil.waitForJobs(name.getMethodName(), ConsoleManager.CONSOLE_JOB_FAMILY, 200, 5000);
+ TestUtil.waitForJobs(testInfo.getDisplayName(), ConsoleManager.CONSOLE_JOB_FAMILY, 200, 5000);
// Give UI a chance to proceed pending console manager jobs
System.out.println("Done with jobs, processing UI events again..."); //$NON-NLS-1$
@@ -153,7 +153,7 @@ private boolean waitForExecutorService() throws Exception {
return false;
}
- private void showConsole(final ConsoleMock console) {
+ private void showConsole(final ConsoleMock console, String testName) {
executorService.execute(() -> {
// last one arriving here triggers execution for all at same
// time
@@ -162,7 +162,7 @@ private void showConsole(final ConsoleMock console) {
latch.await(1, TimeUnit.MINUTES);
System.out.println("Requesting to show: " + console); //$NON-NLS-1$
manager.showConsoleView(console);
- TestUtil.waitForJobs(name.getMethodName(), ConsoleManager.CONSOLE_JOB_FAMILY, 200, 5000);
+ TestUtil.waitForJobs(testName, ConsoleManager.CONSOLE_JOB_FAMILY, 200, 5000);
} catch (InterruptedException e) {
e.printStackTrace();
Thread.interrupted();
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/ConsoleTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/ConsoleTests.java
index a08a5996776..e05f0b7b02a 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/ConsoleTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/ConsoleTests.java
@@ -24,7 +24,7 @@
import java.nio.charset.StandardCharsets;
import org.eclipse.core.commands.Command;
-import org.eclipse.debug.tests.AbstractDebugTest;
+import org.eclipse.debug.tests.DebugTestExtension;
import org.eclipse.debug.tests.TestUtil;
import org.eclipse.jface.text.IDocument;
import org.eclipse.ui.IViewPart;
@@ -41,13 +41,15 @@
import org.eclipse.ui.console.MessageConsole;
import org.eclipse.ui.internal.console.ConsoleManager;
import org.eclipse.ui.texteditor.IWorkbenchActionDefinitionIds;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
+import org.junit.jupiter.api.extension.ExtendWith;
-
-public class ConsoleTests extends AbstractDebugTest {
+@ExtendWith(DebugTestExtension.class)
+public class ConsoleTests {
@Test
- public void testConsoleOutputStreamEncoding() throws IOException {
+ public void testConsoleOutputStreamEncoding(TestInfo testInfo) throws IOException {
String testString = "abc\u00e4\u00f6\u00fcdef"; //$NON-NLS-1$
// abcdef need 1 byte in UTF-8 each
// äöü (\u00e4\u00f6\u00fc) need 2 bytes each
@@ -56,43 +58,43 @@ public void testConsoleOutputStreamEncoding() throws IOException {
MessageConsole console = new MessageConsole("Test Console", //$NON-NLS-1$
IConsoleConstants.MESSAGE_CONSOLE_TYPE, null, StandardCharsets.UTF_8.name(), true);
IDocument document = console.getDocument();
- TestUtil.waitForJobs(name.getMethodName(), ConsoleManager.CONSOLE_JOB_FAMILY, 200, 5000);
+ TestUtil.waitForJobs(testInfo.getDisplayName(), ConsoleManager.CONSOLE_JOB_FAMILY, 200, 5000);
assertEquals("Document should be empty", "", document.get()); //$NON-NLS-1$ //$NON-NLS-2$
try (IOConsoleOutputStream outStream = console.newOutputStream()) {
outStream.write(testStringBuffer, 0, 6);
// half of ö (\u00f6) is written so we don't expect this char in
// output but all previous chars can be decoded
- TestUtil.waitForJobs(name.getMethodName(), ConsoleManager.CONSOLE_JOB_FAMILY, 200, 5000);
+ TestUtil.waitForJobs(testInfo.getDisplayName(), ConsoleManager.CONSOLE_JOB_FAMILY, 200, 5000);
assertEquals("First 4 chars should be written", testString.substring(0, 4), document.get()); //$NON-NLS-1$
outStream.write(testStringBuffer, 6, 6);
// all remaining bytes are written so we expect the whole string
// including the ö (\u00f6) which was at buffer boundary
- TestUtil.waitForJobs(name.getMethodName(), ConsoleManager.CONSOLE_JOB_FAMILY, 200, 5000);
+ TestUtil.waitForJobs(testInfo.getDisplayName(), ConsoleManager.CONSOLE_JOB_FAMILY, 200, 5000);
assertEquals("whole test string should be written", testString, document.get()); //$NON-NLS-1$
}
- TestUtil.waitForJobs(name.getMethodName(), ConsoleManager.CONSOLE_JOB_FAMILY, 200, 5000);
+ TestUtil.waitForJobs(testInfo.getDisplayName(), ConsoleManager.CONSOLE_JOB_FAMILY, 200, 5000);
// after closing the stream, the document content should still be the
// same
assertEquals("closing the stream should not alter the document", testString, document.get()); //$NON-NLS-1$
}
@Test
- public void testConsoleOutputStreamLastR() throws IOException {
+ public void testConsoleOutputStreamLastR(TestInfo testInfo) throws IOException {
String testString = "a\r"; //$NON-NLS-1$
byte[] testStringBuffer = testString.getBytes(StandardCharsets.UTF_8);
assertThat(testStringBuffer).as("Test string \"" + testString + "\" should consist of 2 UTF-8 bytes").hasSize(2);
MessageConsole console = new MessageConsole("Test Console 2", //$NON-NLS-1$
IConsoleConstants.MESSAGE_CONSOLE_TYPE, null, StandardCharsets.UTF_8.name(), true);
IDocument document = console.getDocument();
- TestUtil.waitForJobs(name.getMethodName(), ConsoleManager.CONSOLE_JOB_FAMILY, 200, 5000);
+ TestUtil.waitForJobs(testInfo.getDisplayName(), ConsoleManager.CONSOLE_JOB_FAMILY, 200, 5000);
assertEquals("Document should be empty", "", document.get()); //$NON-NLS-1$ //$NON-NLS-2$
try (IOConsoleOutputStream outStream = console.newOutputStream()) {
outStream.write(testStringBuffer);
// everything but pending \r should be written
- TestUtil.waitForJobs(name.getMethodName(), ConsoleManager.CONSOLE_JOB_FAMILY, 200, 5000);
+ TestUtil.waitForJobs(testInfo.getDisplayName(), ConsoleManager.CONSOLE_JOB_FAMILY, 200, 5000);
assertEquals("First char should be written", testString.substring(0, 1), document.get()); //$NON-NLS-1$
}
- TestUtil.waitForJobs(name.getMethodName(), ConsoleManager.CONSOLE_JOB_FAMILY, 200, 5000);
+ TestUtil.waitForJobs(testInfo.getDisplayName(), ConsoleManager.CONSOLE_JOB_FAMILY, 200, 5000);
// after closing the stream, the document content should still be the
// same
assertEquals("closing the stream should write the pending \\r", testString, document.get()); //$NON-NLS-1$
@@ -170,7 +172,7 @@ public void testSetNullEncoding() throws IOException {
* 268608
*/
@Test
- public void testFindCommandsAreEnabledOnConsoleOpen() throws Exception {
+ public void testFindCommandsAreEnabledOnConsoleOpen(TestInfo testInfo) throws Exception {
IWorkbenchPage activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
IViewPart consoleView = activePage.showView(IConsoleConstants.ID_CONSOLE_VIEW);
@@ -183,7 +185,7 @@ public void testFindCommandsAreEnabledOnConsoleOpen() throws Exception {
try {
consoleManager.addConsoles(consoles);
consoleManager.showConsoleView(console);
- TestUtil.waitForJobs(name.getMethodName(), ConsoleManager.CONSOLE_JOB_FAMILY, 100, 3000);
+ TestUtil.waitForJobs(testInfo.getDisplayName(), ConsoleManager.CONSOLE_JOB_FAMILY, 100, 3000);
ICommandService commandService = PlatformUI.getWorkbench().getService(ICommandService.class);
Command commandFindReplace = commandService.getCommand(IWorkbenchCommandConstants.EDIT_FIND_AND_REPLACE);
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/FileLinkTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/FileLinkTests.java
index 9042f27b34b..bd047fd5ce9 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/FileLinkTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/FileLinkTests.java
@@ -26,27 +26,29 @@
import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.tests.AbstractDebugTest;
+import org.eclipse.debug.tests.DebugTestExtension;
import org.eclipse.debug.ui.console.FileLink;
import org.eclipse.jface.text.ITextSelection;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PlatformUI;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
/**
* Tests for {@link FileLink}.
*/
-public class FileLinkTests extends AbstractDebugTest {
+@ExtendWith(DebugTestExtension.class)
+public class FileLinkTests {
private IProject testProject;
private IFile testFile;
- @Override
+ @BeforeEach
public void setUp() throws Exception {
- super.setUp();
-
IWorkspace workspace = ResourcesPlugin.getWorkspace();
testProject = workspace.getRoot().getProject("FileLinkTest-" + UUID.randomUUID());
testProject.create(null);
@@ -55,13 +57,11 @@ public void setUp() throws Exception {
setTestContent("Test file\nSecond line");
}
- @Override
+ @AfterEach
public void tearDown() throws Exception {
if (testProject.exists()) {
testProject.delete(true, true, null);
}
-
- super.tearDown();
}
private void setTestContent(String fileContent) throws UnsupportedEncodingException, CoreException {
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/IOConsoleFixedWidthTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/IOConsoleFixedWidthTests.java
index 1bee1afeddc..c321658ea12 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/IOConsoleFixedWidthTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/IOConsoleFixedWidthTests.java
@@ -30,7 +30,7 @@ protected IOConsoleTestUtil getTestUtil(String title) {
c.getConsole().setConsoleWidth(3);
c.setIgnoreFixedConsole(true);
// console width is applied asynchronous
- TestUtil.waitForJobs(name.getMethodName(), ConsoleManager.CONSOLE_JOB_FAMILY, 50, 1000);
+ TestUtil.waitForJobs(testInfo.getDisplayName(), ConsoleManager.CONSOLE_JOB_FAMILY, 50, 1000);
return c;
}
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/IOConsoleTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/IOConsoleTests.java
index 08df8018271..2682c21c45a 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/IOConsoleTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/IOConsoleTests.java
@@ -49,7 +49,7 @@
import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.debug.tests.AbstractDebugTest;
+import org.eclipse.debug.tests.DebugTestExtension;
import org.eclipse.debug.tests.TestUtil;
import org.eclipse.debug.tests.TestsPlugin;
import org.eclipse.jface.util.PropertyChangeEvent;
@@ -69,14 +69,17 @@
import org.eclipse.ui.console.IOConsole;
import org.eclipse.ui.console.IOConsoleOutputStream;
import org.eclipse.ui.internal.console.ConsoleManager;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
+import org.junit.jupiter.api.extension.ExtendWith;
/**
* Tests the {@link IOConsole}. Especially the partitioner and viewer parts.
*/
-public class IOConsoleTests extends AbstractDebugTest {
+@ExtendWith(DebugTestExtension.class)
+public class IOConsoleTests {
/**
* The console view used for the running test. Required to obtain access to
* consoles {@link StyledText} widget to simulate user input.
@@ -99,11 +102,11 @@ public class IOConsoleTests extends AbstractDebugTest {
}
};
- @Override
- @Before
- public void setUp() throws Exception {
- super.setUp();
+ protected TestInfo testInfo;
+ @BeforeEach
+ public void setUp(TestInfo testInfo) throws Exception {
+ this.testInfo = testInfo;
// create or activate console view
final IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
assertNotNull(window);
@@ -122,12 +125,9 @@ public void setUp() throws Exception {
Platform.addLogListener(errorLogListener);
}
- @Override
- @After
+ @AfterEach
public void tearDown() throws Exception {
Platform.removeLogListener(errorLogListener);
- super.tearDown();
-
assertNoError();
}
@@ -161,11 +161,11 @@ protected IOConsoleTestUtil getTestUtil(String title) {
});
final IConsoleManager consoleManager = ConsolePlugin.getDefault().getConsoleManager();
consoleManager.addConsoles(new IConsole[] { console });
- TestUtil.waitForJobs(name.getMethodName(), ConsoleManager.CONSOLE_JOB_FAMILY, 25, 10000);
+ TestUtil.waitForJobs(testInfo.getDisplayName(), ConsoleManager.CONSOLE_JOB_FAMILY, 25, 10000);
consoleManager.showConsoleView(console);
final org.eclipse.ui.internal.console.IOConsolePage page = (org.eclipse.ui.internal.console.IOConsolePage) consoleView.getCurrentPage();
final StyledText textPanel = (StyledText) page.getControl();
- return new IOConsoleTestUtil(console, textPanel, name.getMethodName());
+ return new IOConsoleTestUtil(console, textPanel, testInfo.getDisplayName());
}
/**
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/InputStreamMonitorTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/InputStreamMonitorTests.java
index 9a02104bc9c..89dc865df18 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/InputStreamMonitorTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/InputStreamMonitorTests.java
@@ -24,15 +24,17 @@
import org.eclipse.core.runtime.ILog;
import org.eclipse.debug.internal.core.InputStreamMonitor;
-import org.eclipse.debug.tests.AbstractDebugTest;
+import org.eclipse.debug.tests.DebugTestExtension;
import org.eclipse.debug.tests.TestUtil;
import org.eclipse.debug.tests.TestsPlugin;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
/**
* Tests the {@link InputStreamMonitor}.
*/
-public class InputStreamMonitorTests extends AbstractDebugTest {
+@ExtendWith(DebugTestExtension.class)
+public class InputStreamMonitorTests {
private static int CONDITION_TIMEOUT_IN_MILLIS = 1_000;
/**
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/OutputStreamMonitorTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/OutputStreamMonitorTests.java
index b96d24e9b27..639d5b5df07 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/OutputStreamMonitorTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/OutputStreamMonitorTests.java
@@ -33,16 +33,18 @@
import org.eclipse.debug.core.model.IBinaryStreamMonitor;
import org.eclipse.debug.core.model.IStreamMonitor;
import org.eclipse.debug.internal.core.OutputStreamMonitor;
-import org.eclipse.debug.tests.AbstractDebugTest;
+import org.eclipse.debug.tests.DebugTestExtension;
import org.eclipse.debug.tests.TestUtil;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
/**
* Tests the {@link OutputStreamMonitor}.
*/
-public class OutputStreamMonitorTests extends AbstractDebugTest {
+@ExtendWith(DebugTestExtension.class)
+public class OutputStreamMonitorTests {
private static final Duration TIMEOUT = Duration.ofSeconds(10);
/** The {@link OutputStreamMonitor} used for the test runs. */
@@ -101,14 +103,14 @@ public String getRecordedChars() {
}
}
- @Before
+ @BeforeEach
public void setupStreams() throws IOException {
sysout = new PipedOutputStream();
inputFromSysout = new PipedInputStream(sysout);
monitor = new TestOutputStreamMonitor(inputFromSysout, StandardCharsets.UTF_8);
}
- @After
+ @AfterEach
public void closeStreams() throws IOException {
inputFromSysout.close();
sysout.close();
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/ProcessConsoleManagerTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/ProcessConsoleManagerTests.java
index d3c12fcf536..053b0082222 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/ProcessConsoleManagerTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/ProcessConsoleManagerTests.java
@@ -34,24 +34,27 @@
import org.eclipse.debug.internal.ui.views.console.ConsoleRemoveAllTerminatedAction;
import org.eclipse.debug.internal.ui.views.console.ProcessConsole;
import org.eclipse.debug.internal.ui.views.console.ProcessConsoleManager;
-import org.eclipse.debug.tests.AbstractDebugTest;
+import org.eclipse.debug.tests.DebugTestExtension;
import org.eclipse.debug.tests.TestUtil;
import org.eclipse.debug.ui.IDebugUIConstants;
import org.eclipse.jface.preference.PreferenceMemento;
import org.eclipse.ui.console.ConsolePlugin;
import org.eclipse.ui.console.IConsole;
import org.eclipse.ui.console.IConsoleManager;
-import org.junit.After;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
+import org.junit.jupiter.api.extension.ExtendWith;
/**
* Tests the ProcessConsoleManager.
*/
-public class ProcessConsoleManagerTests extends AbstractDebugTest {
+@ExtendWith(DebugTestExtension.class)
+public class ProcessConsoleManagerTests {
private final PreferenceMemento prefMemento = new PreferenceMemento();
- @After
+ @AfterEach
public void restorePreferences() {
prefMemento.resetPreferences();
}
@@ -62,7 +65,7 @@ public void restorePreferences() {
* through an {@link ILaunchListener} which is honored by this test.
*/
@Test
- public void testProcessConsoleLifecycle() throws Exception {
+ public void testProcessConsoleLifecycle(TestInfo testInfo) throws Exception {
// ensure debug UI plugin is started before adding first launch
DebugUIPlugin.getDefault();
final ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
@@ -71,7 +74,7 @@ public void testProcessConsoleLifecycle() throws Exception {
if (existingNumConsoles > 0) {
// existing consoles must not harm this test but it may be
// interesting in case the test fails
- TestUtil.log(IStatus.INFO, name.getMethodName(), "Found " + existingNumConsoles + " existing consoles on test start.");
+ TestUtil.log(IStatus.INFO, testInfo.getDisplayName(), "Found " + existingNumConsoles + " existing consoles on test start.");
}
ILaunch launch = null;
@@ -81,7 +84,7 @@ public void testProcessConsoleLifecycle() throws Exception {
launch = process.getLaunch();
launchManager.addLaunch(launch);
// do not wait on input read job
- TestUtil.waitForJobs(name.getMethodName(), ProcessConsoleManager.class, 0, 10000, ProcessConsole.class);
+ TestUtil.waitForJobs(testInfo.getDisplayName(), ProcessConsoleManager.class, 0, 10000, ProcessConsole.class);
assertThat(consoleManager.getConsoles()).as("console has been added").hasSize(1);
} finally {
mockProcess.destroy();
@@ -89,7 +92,7 @@ public void testProcessConsoleLifecycle() throws Exception {
if (launch != null) {
launchManager.removeLaunch(launch);
- TestUtil.waitForJobs(name.getMethodName(), ProcessConsoleManager.class, 0, 10000);
+ TestUtil.waitForJobs(testInfo.getDisplayName(), ProcessConsoleManager.class, 0, 10000);
assertThat(consoleManager.getConsoles()).as("console has been removed").isEmpty();
}
}
@@ -99,7 +102,7 @@ public void testProcessConsoleLifecycle() throws Exception {
* is created. see https://bugs.eclipse.org/bugs/show_bug.cgi?id=546710#c13
*/
@Test
- public void testBug546710_ConsoleCreationRaceCondition() throws Exception {
+ public void testBug546710_ConsoleCreationRaceCondition(TestInfo testInfo) throws Exception {
final ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
for (ILaunch existingLaunch : launchManager.getLaunches()) {
assertTrue("Found existing not terminated launch. This should not happen and can interfere this test. Check for leakages in previous run tests.", existingLaunch.isTerminated());
@@ -114,7 +117,7 @@ public void testBug546710_ConsoleCreationRaceCondition() throws Exception {
prefMemento.setValue(DebugUIPlugin.getDefault().getPreferenceStore(), IDebugUIConstants.PREF_AUTO_REMOVE_OLD_LAUNCHES, true);
// Stop the JobManager to reliable trigger the tested race
// condition.
- TestUtil.waitForJobs(name.getMethodName(), ProcessConsoleManager.class, 0, 10000);
+ TestUtil.waitForJobs(testInfo.getDisplayName(), ProcessConsoleManager.class, 0, 10000);
Job.getJobManager().suspend();
launchManager.addLaunch(process1.getLaunch());
launchManager.addLaunch(process2.getLaunch());
@@ -122,7 +125,7 @@ public void testBug546710_ConsoleCreationRaceCondition() throws Exception {
Job.getJobManager().resume();
}
- TestUtil.waitForJobs(name.getMethodName(), ProcessConsoleManager.class, 0, 10000);
+ TestUtil.waitForJobs(testInfo.getDisplayName(), ProcessConsoleManager.class, 0, 10000);
ProcessConsoleManager processConsoleManager = DebugUIPlugin.getDefault().getProcessConsoleManager();
ILaunch[] launches = launchManager.getLaunches();
Set openConsoles = new HashSet<>();
@@ -143,7 +146,7 @@ public void testBug546710_ConsoleCreationRaceCondition() throws Exception {
assertThat(removeAction).matches(ConsoleRemoveAllTerminatedAction::isEnabled, "is enabled");
}
removeAction.run();
- TestUtil.waitForJobs(name.getMethodName(), ProcessConsoleManager.class, 0, 10000);
+ TestUtil.waitForJobs(testInfo.getDisplayName(), ProcessConsoleManager.class, 0, 10000);
assertNull("First console not removed.", processConsoleManager.getConsole(process1));
assertNull("Second console not removed.", processConsoleManager.getConsole(process1));
}
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/ProcessConsoleTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/ProcessConsoleTests.java
index b2885ff4e49..e58ab9b85bb 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/ProcessConsoleTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/ProcessConsoleTests.java
@@ -55,7 +55,7 @@
import org.eclipse.debug.core.model.IProcess;
import org.eclipse.debug.internal.ui.DebugUIPlugin;
import org.eclipse.debug.internal.ui.views.console.ProcessConsole;
-import org.eclipse.debug.tests.AbstractDebugTest;
+import org.eclipse.debug.tests.DebugTestExtension;
import org.eclipse.debug.tests.TestUtil;
import org.eclipse.debug.tests.launching.LaunchConfigurationTests;
import org.eclipse.debug.ui.IDebugUIConstants;
@@ -70,14 +70,17 @@
import org.eclipse.ui.console.IOConsole;
import org.eclipse.ui.console.IOConsoleInputStream;
import org.eclipse.ui.internal.console.ConsoleManager;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
+import org.junit.jupiter.api.extension.ExtendWith;
/**
* Tests the ProcessConsole.
*/
-public class ProcessConsoleTests extends AbstractDebugTest {
+@ExtendWith(DebugTestExtension.class)
+public class ProcessConsoleTests {
/**
* Log messages with severity error received while running a single test
* method.
@@ -94,16 +97,16 @@ public class ProcessConsoleTests extends AbstractDebugTest {
/** Temporary test files created by a test. Will be deleted on teardown. */
private final ArrayList tmpFiles = new ArrayList<>();
- @Override
- @Before
- public void setUp() throws Exception {
- super.setUp();
+ private TestInfo testInfo;
+
+ @BeforeEach
+ public void setUp(TestInfo testInfo) throws Exception {
+ this.testInfo = testInfo;
loggedErrors.clear();
Platform.addLogListener(errorLogListener);
}
- @Override
- @After
+ @AfterEach
public void tearDown() throws Exception {
Platform.removeLogListener(errorLogListener);
for (File tmpFile : tmpFiles) {
@@ -111,8 +114,6 @@ public void tearDown() throws Exception {
}
tmpFiles.clear();
- super.tearDown();
-
assertThat(errorsToStrings()).as("logged errors").isEmpty();
}
@@ -229,7 +230,7 @@ public void testInputReadJobCancel() throws Exception {
final Class> jobFamily = org.eclipse.debug.internal.ui.views.console.ProcessConsole.class;
assertThat(Job.getJobManager().find(jobFamily)).as("check input read job started").hasSizeGreaterThan(0);
Job.getJobManager().cancel(jobFamily);
- TestUtil.waitForJobs(name.getMethodName(), ProcessConsole.class, 0, 1000);
+ TestUtil.waitForJobs(testInfo.getDisplayName(), ProcessConsole.class, 0, 1000);
assertThat(Job.getJobManager().find(jobFamily)).as("check input read job is canceled").isEmpty();
} finally {
console.destroy();
@@ -244,9 +245,9 @@ public void testInputReadJobCancel() throws Exception {
*/
@Test
public void testProcessTerminationNotification() throws Exception {
- TestUtil.log(IStatus.INFO, name.getMethodName(), "Process terminates after Console is initialized.");
+ TestUtil.log(IStatus.INFO, testInfo.getDisplayName(), "Process terminates after Console is initialized.");
processTerminationTest(null, false);
- TestUtil.log(IStatus.INFO, name.getMethodName(), "Process terminates before Console is initialized.");
+ TestUtil.log(IStatus.INFO, testInfo.getDisplayName(), "Process terminates before Console is initialized.");
processTerminationTest(null, true);
}
@@ -261,11 +262,11 @@ public void testProcessTerminationNotificationWithInputFile() throws Exception {
assertTrue("Failed to prepare input file.", fileCreated);
try {
ILaunchConfigurationType launchType = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationType(LaunchConfigurationTests.ID_TEST_LAUNCH_TYPE);
- ILaunchConfigurationWorkingCopy launchConfiguration = launchType.newInstance(null, name.getMethodName());
+ ILaunchConfigurationWorkingCopy launchConfiguration = launchType.newInstance(null, testInfo.getDisplayName());
launchConfiguration.setAttribute(IDebugUIConstants.ATTR_CAPTURE_STDIN_FILE, inFile.getAbsolutePath());
- TestUtil.log(IStatus.INFO, name.getMethodName(), "Process terminates after Console is initialized.");
+ TestUtil.log(IStatus.INFO, testInfo.getDisplayName(), "Process terminates after Console is initialized.");
processTerminationTest(launchConfiguration, false);
- TestUtil.log(IStatus.INFO, name.getMethodName(), "Process terminates before Console is initialized.");
+ TestUtil.log(IStatus.INFO, testInfo.getDisplayName(), "Process terminates before Console is initialized.");
processTerminationTest(launchConfiguration, true);
} finally {
inFile.delete();
@@ -284,7 +285,7 @@ public void testProcessTerminationNotificationWithInputFile() throws Exception {
public void processTerminationTest(ILaunchConfiguration launchConfig, boolean terminateBeforeConsoleInitialization) throws Exception {
final AtomicBoolean terminationSignaled = new AtomicBoolean(false);
final Process mockProcess = new MockProcess(null, null, terminateBeforeConsoleInitialization ? 0 : -1);
- final IProcess process = DebugPlugin.newProcess(new Launch(launchConfig, ILaunchManager.RUN_MODE, null), mockProcess, name.getMethodName());
+ final IProcess process = DebugPlugin.newProcess(new Launch(launchConfig, ILaunchManager.RUN_MODE, null), mockProcess, testInfo.getDisplayName());
final org.eclipse.debug.internal.ui.views.console.ProcessConsole console = new org.eclipse.debug.internal.ui.views.console.ProcessConsole(process, new ConsoleColorProvider());
console.addPropertyChangeListener(event -> {
if (event.getSource() == console && IConsoleConstants.P_CONSOLE_OUTPUT_COMPLETE.equals(event.getProperty())) {
@@ -300,7 +301,7 @@ public void processTerminationTest(ILaunchConfiguration launchConfig, boolean te
waitWhile(() -> !terminationSignaled.get(), () -> "No console complete notification received.");
} finally {
consoleManager.removeConsoles(new IConsole[] { console });
- TestUtil.waitForJobs(name.getMethodName(), ConsoleManager.CONSOLE_JOB_FAMILY, 0, 10000);
+ TestUtil.waitForJobs(testInfo.getDisplayName(), ConsoleManager.CONSOLE_JOB_FAMILY, 0, 10000);
}
}
@@ -418,7 +419,7 @@ private IOConsole doConsoleOutputTest(byte[] testContent, Map la
process.terminate();
}
consoleManager.removeConsoles(new IConsole[] { console });
- TestUtil.waitForJobs(name.getMethodName(), ConsoleManager.CONSOLE_JOB_FAMILY, 0, 1000);
+ TestUtil.waitForJobs(testInfo.getDisplayName(), ConsoleManager.CONSOLE_JOB_FAMILY, 0, 1000);
}
}
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/RuntimeProcessTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/RuntimeProcessTests.java
index ab271b7a4fd..f8168a834f9 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/RuntimeProcessTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/RuntimeProcessTests.java
@@ -32,20 +32,23 @@
import org.eclipse.debug.core.model.IProcess;
import org.eclipse.debug.core.model.RuntimeProcess;
import org.eclipse.debug.internal.core.DebugCoreMessages;
-import org.eclipse.debug.tests.AbstractDebugTest;
+import org.eclipse.debug.tests.DebugTestExtension;
import org.eclipse.debug.tests.TestUtil;
import org.eclipse.debug.tests.sourcelookup.TestLaunch;
-import org.junit.Ignore;
-import org.junit.Test;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
+import org.junit.jupiter.api.extension.ExtendWith;
-public class RuntimeProcessTests extends AbstractDebugTest {
+@ExtendWith(DebugTestExtension.class)
+public class RuntimeProcessTests {
/**
* Test behavior of {@link RuntimeProcess} if the wrapped process
* terminates.
*/
@Test
- public void testProcessTerminated() throws Exception {
+ public void testProcessTerminated(TestInfo testInfo) throws Exception {
AtomicInteger processTerminateEvents = new AtomicInteger();
DebugPlugin.getDefault().addDebugEventListener(events -> {
for (DebugEvent event : events) {
@@ -65,14 +68,14 @@ public void testProcessTerminated() throws Exception {
mockProcess.destroy();
TestUtil.waitWhile(() -> !runtimeProcess.isTerminated(), () -> "RuntimeProcess not terminated.");
- TestUtil.waitForJobs(name.getMethodName(), 25, TestUtil.DEFAULT_TIMEOUT);
+ TestUtil.waitForJobs(testInfo.getDisplayName(), 25, TestUtil.DEFAULT_TIMEOUT);
assertEquals("Wrong number of terminate events.", 1, processTerminateEvents.get());
assertEquals("RuntimeProcess reported wrong exit code.", 1, runtimeProcess.getExitValue());
}
/** Test {@link RuntimeProcess} terminating the wrapped process. */
@Test
- public void testTerminateProcess() throws Exception {
+ public void testTerminateProcess(TestInfo testInfo) throws Exception {
AtomicInteger processTerminateEvents = new AtomicInteger();
DebugPlugin.getDefault().addDebugEventListener(events -> {
for (DebugEvent event : events) {
@@ -93,7 +96,7 @@ public void testTerminateProcess() throws Exception {
assertFalse("RuntimeProcess failed to terminate wrapped process.", mockProcess.isAlive());
TestUtil.waitWhile(() -> !runtimeProcess.isTerminated(), () -> "RuntimeProcess not terminated.");
- TestUtil.waitForJobs(name.getMethodName(), 25, TestUtil.DEFAULT_TIMEOUT);
+ TestUtil.waitForJobs(testInfo.getDisplayName(), 25, TestUtil.DEFAULT_TIMEOUT);
assertEquals("Wrong number of terminate events.", 1, processTerminateEvents.get());
assertEquals("RuntimeProcess reported wrong exit code.", 1, runtimeProcess.getExitValue());
}
@@ -216,19 +219,19 @@ public void testTerminateProcessWithDescendentExceedingTimeoutForTermination() {
* for why this test fails
*/
@Test
- @Ignore("See https://bugs.eclipse.org/bugs/show_bug.cgi?id=577189")
- public void testOutputAfterDestroy() throws Exception {
+ @Disabled("See https://bugs.eclipse.org/bugs/show_bug.cgi?id=577189")
+ public void testOutputAfterDestroy(TestInfo testInfo) throws Exception {
MockProcess proc = new MockProcess();
IProcess iProc = new RuntimeProcess(new TestLaunch(), proc, "foo", Collections.emptyMap());
iProc.terminate();
String str = iProc.getStreamsProxy().getOutputStreamMonitor().getContents();
- TestUtil.log(IStatus.INFO, name.getMethodName(), "Stream result: ");
+ TestUtil.log(IStatus.INFO, testInfo.getDisplayName(), "Stream result: ");
for (int i = 0; i < str.length(); i += 100) {
- TestUtil.log(IStatus.INFO, name.getMethodName(), str.substring(i, Math.min(i + 100, str.length())));
+ TestUtil.log(IStatus.INFO, testInfo.getDisplayName(), str.substring(i, Math.min(i + 100, str.length())));
}
- TestUtil.log(IStatus.INFO, name.getMethodName(), "Stream done.");
+ TestUtil.log(IStatus.INFO, testInfo.getDisplayName(), "Stream done.");
// Make sure that the inputstream (process's stdout) has been fully read
// and is at EOF
@SuppressWarnings("resource")
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/StreamsProxyTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/StreamsProxyTests.java
index 571da15c6a7..6795a794022 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/StreamsProxyTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/StreamsProxyTests.java
@@ -20,13 +20,15 @@
import java.util.Collections;
import org.eclipse.debug.internal.core.StreamsProxy;
-import org.eclipse.debug.tests.AbstractDebugTest;
-import org.junit.Test;
+import org.eclipse.debug.tests.DebugTestExtension;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
/**
* Tests the {@link StreamsProxy}.
*/
-public class StreamsProxyTests extends AbstractDebugTest {
+@ExtendWith(DebugTestExtension.class)
+public class StreamsProxyTests {
/**
* Test console receiving UTF-8 output from process where two-byte UTF-8
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/TextConsoleViewerTest.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/TextConsoleViewerTest.java
index 696bc6357e0..e332d53d72a 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/TextConsoleViewerTest.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/TextConsoleViewerTest.java
@@ -22,17 +22,19 @@
import java.util.ArrayList;
import java.util.List;
-import org.eclipse.debug.tests.AbstractDebugTest;
+import org.eclipse.debug.tests.DebugTestExtension;
import org.eclipse.swt.custom.StyleRange;
import org.eclipse.swt.graphics.Color;
import org.eclipse.ui.console.TextConsoleViewer;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
/**
* Not really a test for {@link TextConsoleViewer} yet since it only test one
* private method of it.
*/
-public class TextConsoleViewerTest extends AbstractDebugTest {
+@ExtendWith(DebugTestExtension.class)
+public class TextConsoleViewerTest {
/**
* Test override of existing styles with a new style. Typically used to
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/expressions/ExpressionManagerTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/expressions/ExpressionManagerTests.java
index 3c9aede289a..a6872b2e02f 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/expressions/ExpressionManagerTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/expressions/ExpressionManagerTests.java
@@ -29,14 +29,16 @@
import org.eclipse.debug.core.model.IWatchExpression;
import org.eclipse.debug.internal.core.ExpressionManager;
import org.eclipse.debug.internal.core.IExpressionsListener2;
-import org.eclipse.debug.tests.AbstractDebugTest;
-import org.junit.After;
-import org.junit.Test;
+import org.eclipse.debug.tests.DebugTestExtension;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
/**
* Tests expression manager and listener call backs
*/
-public class ExpressionManagerTests extends AbstractDebugTest {
+@ExtendWith(DebugTestExtension.class)
+public class ExpressionManagerTests {
static class SinlgeListener implements IExpressionListener {
@@ -129,12 +131,10 @@ protected IExpressionManager getManager() {
return DebugPlugin.getDefault().getExpressionManager();
}
- @Override
- @After
+ @AfterEach
public void tearDown() throws Exception {
// remove all expressions from the manager
getManager().removeExpressions(getManager().getExpressions());
- super.tearDown();
}
/**
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/AbstractLaunchTest.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/AbstractLaunchTest.java
index 892283704ea..f143c8694d9 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/AbstractLaunchTest.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/AbstractLaunchTest.java
@@ -21,12 +21,11 @@
import org.eclipse.debug.core.ILaunchManager;
import org.eclipse.debug.internal.ui.DebugUIPlugin;
import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationManager;
-import org.eclipse.debug.tests.AbstractDebugTest;
/**
* Common function for launch related tests.
*/
-public abstract class AbstractLaunchTest extends AbstractDebugTest {
+public abstract class AbstractLaunchTest {
/**
* Returns the launch manager.
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/AcceleratorSubstitutionTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/AcceleratorSubstitutionTests.java
index 04f1c94595d..bc79570a4df 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/AcceleratorSubstitutionTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/AcceleratorSubstitutionTests.java
@@ -16,8 +16,9 @@
import static org.junit.Assert.assertEquals;
import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.tests.AbstractDebugTest;
-import org.junit.Test;
+import org.eclipse.debug.tests.DebugTestExtension;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
/**
* Tests accelerator adjustments for DBCS languages.
@@ -25,7 +26,8 @@
*
* @since 3.3
*/
-public class AcceleratorSubstitutionTests extends AbstractDebugTest {
+@ExtendWith(DebugTestExtension.class)
+public class AcceleratorSubstitutionTests {
/**
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/ArgumentParsingTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/ArgumentParsingTests.java
index 63a27d1477a..997d94a2122 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/ArgumentParsingTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/ArgumentParsingTests.java
@@ -31,15 +31,17 @@
import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.URIUtil;
import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.tests.AbstractDebugTest;
+import org.eclipse.debug.tests.DebugTestExtension;
import org.eclipse.osgi.service.environment.Constants;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
/**
* Tests {@link org.eclipse.debug.core.DebugPlugin#parseArguments(String)} and
* {@link org.eclipse.debug.core.DebugPlugin#renderArguments(String[], int[])}.
*/
-public class ArgumentParsingTests extends AbstractDebugTest {
+@ExtendWith(DebugTestExtension.class)
+public class ArgumentParsingTests {
private void execute1Arg(String cmdLine) throws Exception {
execute1Arg(cmdLine, cmdLine);
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchConfigurationTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchConfigurationTests.java
index 7fed5aeb080..49c67f23367 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchConfigurationTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchConfigurationTests.java
@@ -84,7 +84,7 @@
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PlatformUI;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import org.osgi.framework.Bundle;
import org.osgi.service.prefs.Preferences;
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchFavoriteTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchFavoriteTests.java
index a8ccf2032f0..41823b25366 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchFavoriteTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchFavoriteTests.java
@@ -26,9 +26,10 @@
import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
import org.eclipse.debug.internal.ui.launchConfigurations.LaunchHistory;
import org.eclipse.debug.ui.IDebugUIConstants;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
/**
* Test the launch history favorites get updated properly as configurations as
@@ -58,25 +59,21 @@ private LaunchHistory getDebugLaunchHistory() {
return getLaunchConfigurationManager().getLaunchHistory(IDebugUIConstants.ID_DEBUG_LAUNCH_GROUP);
}
- @Override
- @Before
- public void setUp() throws Exception {
- super.setUp();
+ @BeforeEach
+ public void setUp(TestInfo testInfo) throws Exception {
// clear the favorites
getRunLaunchHistory().setFavorites(new ILaunchConfiguration[0]);
getDebugLaunchHistory().setFavorites(new ILaunchConfiguration[0]);
- fConfig = getLaunchConfiguration(name.getMethodName());
+ fConfig = getLaunchConfiguration(testInfo.getDisplayName());
}
- @Override
- @After
+ @AfterEach
public void tearDown() throws Exception {
// delete the configuration used during this test
ILaunchConfiguration configuration = getLaunchConfiguration();
if (configuration.exists()) {
configuration.delete();
}
- super.tearDown();
}
/**
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchGroupTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchGroupTests.java
index fd061f96636..49ff8588033 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchGroupTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchGroupTests.java
@@ -52,9 +52,10 @@
import org.eclipse.debug.internal.ui.launchConfigurations.LaunchHistory;
import org.eclipse.debug.tests.TestUtil;
import org.eclipse.debug.ui.IDebugUIConstants;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
public class LaunchGroupTests extends AbstractLaunchTest {
@@ -80,18 +81,14 @@ public void launchAdded(ILaunch launch) {
}
};
- @Override
- @Before
+ @BeforeEach
public void setUp() throws Exception {
- super.setUp();
-
// reset count
launchCount.set(0);
}
- @Override
- @After
- public void tearDown() throws Exception {
+ @AfterEach
+ public void tearDown(TestInfo testInfo) throws Exception {
// make sure listener is removed
getLaunchManager().removeLaunchListener(lcListener);
ILaunch[] launches = getLaunchManager().getLaunches();
@@ -105,10 +102,9 @@ public void tearDown() throws Exception {
launch.terminate();
}
} catch (Exception e) {
- TestUtil.log(IStatus.ERROR, name.getMethodName(), "Error terminating launch: " + launch, e);
+ TestUtil.log(IStatus.ERROR, testInfo.getDisplayName(), "Error terminating launch: " + launch, e);
}
}
- super.tearDown();
}
private ILaunchConfiguration createLaunchGroup(String groupName, GroupLaunchElement... children) throws CoreException {
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchHistoryTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchHistoryTests.java
index 2bfad4e7155..f28177bda97 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchHistoryTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchHistoryTests.java
@@ -27,8 +27,8 @@
import org.eclipse.debug.internal.ui.launchConfigurations.LaunchHistory;
import org.eclipse.debug.ui.IDebugUIConstants;
import org.eclipse.jface.preference.PreferenceMemento;
-import org.junit.After;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.Test;
/**
* Test the utilization of launch histories: sizing, ordering, completeness and correctness
@@ -44,7 +44,7 @@ public class LaunchHistoryTests extends AbstractLaunchTest {
private final PreferenceMemento prefMemento = new PreferenceMemento();
- @After
+ @AfterEach
public void restorePreferences() {
prefMemento.resetPreferences();
}
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchManagerTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchManagerTests.java
index 7c4e305ff5d..139f0afaae0 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchManagerTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchManagerTests.java
@@ -41,7 +41,7 @@
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Shell;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
/**
*
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchTests.java
index f7f2eff48e3..767de923458 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchTests.java
@@ -24,7 +24,8 @@
import java.io.IOException;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Proxy;
-import java.util.Collections;
+import java.nio.file.Files;
+import java.nio.file.Path;
import java.util.ConcurrentModificationException;
import java.util.List;
import java.util.Locale;
@@ -46,10 +47,10 @@
import org.eclipse.debug.core.model.IDebugTarget;
import org.eclipse.debug.core.model.IDisconnect;
import org.eclipse.debug.core.model.IProcess;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
+import org.junit.jupiter.api.io.TempDir;
/**
* Tests for the {@link Launch} class
@@ -75,11 +76,11 @@ public class LaunchTests extends AbstractLaunchTest {
private Runnable readIsDisconnectedTask;
private Runnable writeProcessesTask;
private Runnable writeDebugTargetsTask;
+ private TestInfo testInfo;
- @Override
- @Before
- public void setUp() throws Exception {
- super.setUp();
+ @BeforeEach
+ public void setUp(TestInfo testInfo) throws Exception {
+ this.testInfo = testInfo;
final Launch launch = new Launch(null, ILaunchManager.RUN_MODE, null);
handler = (proxy, method, args) -> {
@@ -153,17 +154,18 @@ public void testDisconnectedAndWriteProcesses() throws Exception {
assertTrue(testExecution(readIsDisconnectedTask, writeProcessesTask));
}
- @ClassRule
- public static TemporaryFolder tempFolder = new TemporaryFolder();
-
@Test
- public void testProcessLaunchWithLongWorkingDirectory() throws CoreException, IOException {
+ public void testProcessLaunchWithLongWorkingDirectory(@TempDir Path tempDir) throws CoreException, IOException {
assumeTrue(Platform.OS.isWindows());
- int rootLength = tempFolder.getRoot().toString().length();
+ int rootLength = tempDir.toAbsolutePath().toString().length();
String subPathElementsName = "subfolder-with-relatively-long-name";
- String[] segments = Collections.nCopies((LONG_PATH_LENGTH_TARGET - rootLength) / subPathElementsName.length(), subPathElementsName).toArray(String[]::new);
- File workingDirectory = tempFolder.newFolder(segments);
+ Path folder = tempDir;
+ int segmentsToWrite = (LONG_PATH_LENGTH_TARGET - rootLength) / subPathElementsName.length();
+ for (int i = 0; i < segmentsToWrite; i++) {
+ folder = folder.resolve(subPathElementsName);
+ }
+ File workingDirectory = Files.createDirectories(folder).toFile();
assertTrue(workingDirectory.toString().length() > WINDOWS_MAX_PATH);
// Just launch any process in a directory with a path longer than
@@ -173,13 +175,17 @@ public void testProcessLaunchWithLongWorkingDirectory() throws CoreException, IO
}
@Test
- public void testProcessLaunchWithLongExecutablePath() throws CoreException, IOException {
+ public void testProcessLaunchWithLongExecutablePath(@TempDir Path tempDir) throws CoreException, IOException {
assumeTrue(Platform.OS.isWindows());
- int rootLength = tempFolder.getRoot().toString().length();
+ int rootLength = tempDir.toAbsolutePath().toString().length();
String subPathElementsName = "another-one-with-a-long-path-name-2";
- String[] segments = Collections.nCopies((LONG_PATH_LENGTH_TARGET - rootLength) / subPathElementsName.length(), subPathElementsName).toArray(String[]::new);
- File workingDirectory = tempFolder.newFolder(segments);
+ Path folder = tempDir;
+ int segmentsToWrite = (LONG_PATH_LENGTH_TARGET - rootLength) / subPathElementsName.length();
+ for (int i = 0; i < segmentsToWrite; i++) {
+ folder = folder.resolve(subPathElementsName);
+ }
+ File workingDirectory = Files.createDirectories(folder).toFile();
assertTrue(workingDirectory.toString().length() > WINDOWS_MAX_PATH);
File jar = new File(workingDirectory, "dummy.jar");
try (JarOutputStream stream = new JarOutputStream(new FileOutputStream(jar))) {
@@ -250,7 +256,7 @@ protected IStatus run(IProgressMonitor monitor) {
}
}
} finally {
- System.out.println(name.getMethodName() + " runs: " + runs); //$NON-NLS-1$
+ System.out.println(testInfo.getDisplayName() + " runs: " + runs); //$NON-NLS-1$
job.cancel();
}
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/RefreshTabTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/RefreshTabTests.java
index 10fd6501998..f6437ba9e2e 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/RefreshTabTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/RefreshTabTests.java
@@ -39,7 +39,7 @@
import org.eclipse.ui.IWorkbenchPartSite;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.PlatformUI;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
/**
* Tests the refresh tab.
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/logicalstructure/LogicalStructureCacheTest.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/logicalstructure/LogicalStructureCacheTest.java
index ed58260c864..3c13f6cfd8e 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/logicalstructure/LogicalStructureCacheTest.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/logicalstructure/LogicalStructureCacheTest.java
@@ -13,15 +13,19 @@
*******************************************************************************/
package org.eclipse.debug.tests.logicalstructure;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
import org.eclipse.debug.core.DebugPlugin;
import org.eclipse.debug.core.ILogicalStructureType;
import org.eclipse.debug.core.model.IValue;
import org.eclipse.debug.internal.ui.views.variables.LogicalStructureCache;
-import org.eclipse.debug.tests.AbstractDebugTest;
-import org.junit.Test;
+import org.eclipse.debug.tests.DebugTestExtension;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
-public class LogicalStructureCacheTest extends AbstractDebugTest {
+@ExtendWith(DebugTestExtension.class)
+public class LogicalStructureCacheTest {
@Test
public void testReleaseValuesOnClear() throws Exception {
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/sourcelookup/SourceLookupFacilityTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/sourcelookup/SourceLookupFacilityTests.java
index 399e53b5bb2..7365f02063d 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/sourcelookup/SourceLookupFacilityTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/sourcelookup/SourceLookupFacilityTests.java
@@ -28,16 +28,18 @@
import org.eclipse.debug.core.model.IStackFrame;
import org.eclipse.debug.internal.ui.sourcelookup.SourceLookupFacility;
import org.eclipse.debug.internal.ui.sourcelookup.SourceLookupResult;
-import org.eclipse.debug.tests.AbstractDebugTest;
+import org.eclipse.debug.tests.DebugTestExtension;
import org.eclipse.debug.ui.sourcelookup.ISourceLookupResult;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
/**
* Tests {@link SourceLookupFacility}
*
* @since 3.9.200
*/
-public class SourceLookupFacilityTests extends AbstractDebugTest {
+@ExtendWith(DebugTestExtension.class)
+public class SourceLookupFacilityTests {
/**
* {@link IStackFrame} to be reused
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/statushandlers/StatusHandlerTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/statushandlers/StatusHandlerTests.java
index 9e138b5f8e6..aad449a84c5 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/statushandlers/StatusHandlerTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/statushandlers/StatusHandlerTests.java
@@ -24,14 +24,16 @@
import org.eclipse.debug.core.IStatusHandler;
import org.eclipse.debug.internal.core.IInternalDebugCoreConstants;
import org.eclipse.debug.internal.core.Preferences;
-import org.eclipse.debug.tests.AbstractDebugTest;
+import org.eclipse.debug.tests.DebugTestExtension;
import org.eclipse.debug.tests.TestsPlugin;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
/**
* Tests status handlers
*/
-public class StatusHandlerTests extends AbstractDebugTest {
+@ExtendWith(DebugTestExtension.class)
+public class StatusHandlerTests {
/**
* Status for which a handler is registered.
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/stepfilters/StepFiltersTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/stepfilters/StepFiltersTests.java
index 9ecba714c07..a89e8a02179 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/stepfilters/StepFiltersTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/stepfilters/StepFiltersTests.java
@@ -17,13 +17,15 @@
import org.eclipse.debug.core.DebugPlugin;
import org.eclipse.debug.core.model.IStepFilter;
-import org.eclipse.debug.tests.AbstractDebugTest;
-import org.junit.Test;
+import org.eclipse.debug.tests.DebugTestExtension;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
/**
* Tests step filters
*/
-public class StepFiltersTests extends AbstractDebugTest {
+@ExtendWith(DebugTestExtension.class)
+public class StepFiltersTests {
@Test
public void testStepFitlersExtension_01() {
IStepFilter[] stepFilters = DebugPlugin.getStepFilters("com.example.lalala.model"); //$NON-NLS-1$
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/ui/LaunchConfigurationTabGroupViewerTest.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/ui/LaunchConfigurationTabGroupViewerTest.java
index b5cb36a97a2..615f0724f55 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/ui/LaunchConfigurationTabGroupViewerTest.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/ui/LaunchConfigurationTabGroupViewerTest.java
@@ -30,8 +30,8 @@
import org.eclipse.debug.ui.ILaunchConfigurationTab;
import org.eclipse.debug.ui.ILaunchConfigurationTabGroup;
import org.eclipse.swt.widgets.Display;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
public class LaunchConfigurationTabGroupViewerTest {
@@ -44,7 +44,7 @@ private static interface ThrowingRunnable {
private ILaunchConfigurationType fLaunchConfigurationType;
private LaunchConfigurationsDialog fLaunchConfigurationsDialog;
- @Before
+ @BeforeEach
public void createDialog() throws CoreException {
fLaunchConfigurationType = getLaunchManager().getLaunchConfigurationType(LAUNCH_CONFIG_TYPE_ID);
ILaunchConfigurationTabGroup tabGroup = getLaunchConfigurationTabGroup(fLaunchConfigurationType);
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/ui/VariableValueEditorManagerTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/ui/VariableValueEditorManagerTests.java
index bbb07de0149..d9da8ca6884 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/ui/VariableValueEditorManagerTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/ui/VariableValueEditorManagerTests.java
@@ -16,14 +16,16 @@
import static org.junit.Assert.assertEquals;
import org.eclipse.debug.internal.ui.VariableValueEditorManager;
-import org.eclipse.debug.tests.AbstractDebugTest;
+import org.eclipse.debug.tests.DebugTestExtension;
import org.eclipse.debug.ui.actions.IVariableValueEditor;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
/**
* Tests status handlers
*/
-public class VariableValueEditorManagerTests extends AbstractDebugTest {
+@ExtendWith(DebugTestExtension.class)
+public class VariableValueEditorManagerTests {
@Test
public void testHighestPriorityEditorUsed() {
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/MemoryRenderingTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/MemoryRenderingTests.java
index 6be23ba1bd5..002d3622ec3 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/MemoryRenderingTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/MemoryRenderingTests.java
@@ -20,17 +20,19 @@
import static org.junit.Assert.assertTrue;
import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.tests.AbstractDebugTest;
+import org.eclipse.debug.tests.DebugTestExtension;
import org.eclipse.debug.ui.DebugUITools;
import org.eclipse.debug.ui.memory.IMemoryRenderingBindingsListener;
import org.eclipse.debug.ui.memory.IMemoryRenderingManager;
import org.eclipse.debug.ui.memory.IMemoryRenderingType;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
/**
* Tests memory rendering manager
*/
-public class MemoryRenderingTests extends AbstractDebugTest {
+@ExtendWith(DebugTestExtension.class)
+public class MemoryRenderingTests {
@Test
public void testRenderingTypes() {
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/TableRenderingTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/TableRenderingTests.java
index 37ef9950d92..9e0d57163c8 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/TableRenderingTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/TableRenderingTests.java
@@ -26,7 +26,7 @@
import org.eclipse.debug.internal.ui.views.memory.renderings.RenderingsUtil;
import org.eclipse.debug.internal.ui.views.memory.renderings.SignedIntegerRendering;
import org.eclipse.debug.internal.ui.views.memory.renderings.UnsignedIntegerRendering;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
/**
* Tests for translation of memory bytes between in-memory representation and UI
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/AbstractViewerModelTest.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/AbstractViewerModelTest.java
index 6b5355fcf4a..2b61f754ec5 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/AbstractViewerModelTest.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/AbstractViewerModelTest.java
@@ -16,26 +16,26 @@
import java.util.function.Supplier;
import org.eclipse.debug.internal.ui.viewers.model.IInternalTreeModelViewer;
-import org.eclipse.debug.tests.AbstractDebugTest;
+import org.eclipse.debug.tests.DebugTestExtension;
import org.eclipse.debug.tests.TestUtil;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.PlatformUI;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.extension.ExtendWith;
-public abstract class AbstractViewerModelTest extends AbstractDebugTest {
+@ExtendWith(DebugTestExtension.class)
+public abstract class AbstractViewerModelTest {
Display fDisplay;
Shell fShell;
IInternalTreeModelViewer fViewer;
TestModelUpdatesListener fListener;
- @Override
- @Before
+ @BeforeEach
public void setUp() throws Exception {
- super.setUp();
fDisplay = PlatformUI.getWorkbench().getDisplay();
fShell = new Shell(fDisplay);
fShell.setMaximized(true);
@@ -46,8 +46,7 @@ public void setUp() throws Exception {
TestUtil.processUIEvents();
}
- @Override
- @After
+ @AfterEach
public void tearDown() throws Exception {
fListener.dispose();
fViewer.getPresentationContext().dispose();
@@ -55,7 +54,6 @@ public void tearDown() throws Exception {
// Close the shell and exit.
fShell.close();
TestUtil.processUIEvents();
- super.tearDown();
}
abstract protected IInternalTreeModelViewer createViewer(Display display, Shell shell);
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/CheckTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/CheckTests.java
index f0736277ffd..8e035c3a53f 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/CheckTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/CheckTests.java
@@ -21,7 +21,7 @@
import org.eclipse.debug.tests.viewer.model.TestModel.TestElement;
import org.eclipse.jface.viewers.TreePath;
import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
/**
* Tests which verify the check box support. This test is very similar to the
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/ChildrenUpdateTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/ChildrenUpdateTests.java
index a39ceebe258..55a7457ec44 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/ChildrenUpdateTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/ChildrenUpdateTests.java
@@ -28,7 +28,7 @@
import org.eclipse.debug.internal.ui.viewers.model.provisional.IStateUpdateListener;
import org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerUpdateListener;
import org.eclipse.debug.internal.ui.viewers.model.provisional.ModelDelta;
-import org.eclipse.debug.tests.AbstractDebugTest;
+import org.eclipse.debug.tests.DebugTestExtension;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ISelectionChangedListener;
@@ -38,14 +38,16 @@
import org.eclipse.swt.graphics.FontData;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.widgets.Display;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
/**
* Tests coalescing of children update requests.
*
* @since 3.3
*/
-public class ChildrenUpdateTests extends AbstractDebugTest {
+@ExtendWith(DebugTestExtension.class)
+public class ChildrenUpdateTests {
class BogusModelContentProvider extends TreeModelContentProvider {
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/ColumnPresentationTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/ColumnPresentationTests.java
index 7b8e2060eb8..789898d5f86 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/ColumnPresentationTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/ColumnPresentationTests.java
@@ -26,7 +26,7 @@
import org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext;
import org.eclipse.debug.internal.ui.viewers.model.provisional.PresentationContext;
import org.eclipse.debug.internal.ui.viewers.model.provisional.TreeModelViewer;
-import org.eclipse.debug.tests.AbstractDebugTest;
+import org.eclipse.debug.tests.DebugTestExtension;
import org.eclipse.debug.tests.TestUtil;
import org.eclipse.debug.tests.viewer.model.TestModel.TestElement;
import org.eclipse.jface.resource.ImageDescriptor;
@@ -41,32 +41,30 @@
import org.eclipse.swt.widgets.TreeColumn;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.XMLMemento;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
/**
* Tests to verify that the viewer properly handles initial columns width.
*/
-public class ColumnPresentationTests extends AbstractDebugTest implements ITestModelUpdatesListenerConstants {
+@ExtendWith(DebugTestExtension.class)
+public class ColumnPresentationTests implements ITestModelUpdatesListenerConstants {
private Display fDisplay;
private Shell fShell;
private TreeModelViewer fViewer;
private TestModelUpdatesListener fListener;
private boolean fResized = false;
- @Override
- @Before
+ @BeforeEach
public void setUp() throws Exception {
- super.setUp();
createViewer();
}
- @Override
- @After
+ @AfterEach
public void tearDown() throws Exception {
destroyViewer();
- super.tearDown();
}
void createViewer() {
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/ContentTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/ContentTests.java
index 7a0da8895f3..1ac7b44e040 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/ContentTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/ContentTests.java
@@ -33,7 +33,8 @@
import org.eclipse.debug.tests.TestUtil;
import org.eclipse.debug.tests.viewer.model.TestModel.TestElement;
import org.eclipse.jface.viewers.TreePath;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
/**
* Tests that verify that the viewer property retrieves all the content
@@ -145,7 +146,7 @@ public void update(ILabelUpdate[] updates) {
* See bug 210027
*/
@Test
- public void testLabelUpdatesCompletedOutOfSequence1() throws Exception {
+ public void testLabelUpdatesCompletedOutOfSequence1(TestInfo testInfo) throws Exception {
TestModelWithCapturedUpdates model = new TestModelWithCapturedUpdates();
model.fCaptureLabelUpdates = true;
@@ -157,7 +158,7 @@ public void testLabelUpdatesCompletedOutOfSequence1() throws Exception {
// Set input into the view to update it, but block children updates.
// Wait for view to start retrieving content.
fViewer.setInput(model.getRootElement());
- TestUtil.waitForJobs(name.getMethodName(), 300, 5000);
+ TestUtil.waitForJobs(testInfo.getDisplayName(), 300, 5000);
waitWhile(() -> model.fCapturedUpdates.size() < model.getRootElement().fChildren.length, createModelErrorMessage(model));
List firstUpdates = model.fCapturedUpdates;
@@ -201,7 +202,7 @@ private Supplier createModelErrorMessage(TestModelWithCapturedUpdates mo
* See bug 210027
*/
@Test
- public void testLabelUpdatesCompletedOutOfSequence2() throws Exception {
+ public void testLabelUpdatesCompletedOutOfSequence2(TestInfo testInfo) throws Exception {
TestModelWithCapturedUpdates model = new TestModelWithCapturedUpdates();
model.fCaptureLabelUpdates = true;
@@ -213,7 +214,7 @@ public void testLabelUpdatesCompletedOutOfSequence2() throws Exception {
// Set input into the view to update it, but block children updates.
// Wait for view to start retrieving content.
fViewer.setInput(model.getRootElement());
- TestUtil.waitForJobs(name.getMethodName(), 300, 5000);
+ TestUtil.waitForJobs(testInfo.getDisplayName(), 300, 5000);
waitWhile(() -> model.fCapturedUpdates.size() < model.getRootElement().fChildren.length, createModelErrorMessage(model));
List firstUpdates = model.fCapturedUpdates;
model.fCapturedUpdates = Collections.synchronizedList(new ArrayList<>(2));
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/DeltaTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/DeltaTests.java
index 27f252dd537..a4f1ce0b63c 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/DeltaTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/DeltaTests.java
@@ -30,7 +30,7 @@
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ITreeSelection;
import org.eclipse.jface.viewers.TreePath;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
/**
* Tests to verify that the viewer property retrieves and processes the
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/FilterTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/FilterTests.java
index dcae9b73c7b..c63297924e7 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/FilterTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/FilterTests.java
@@ -32,7 +32,9 @@
import org.eclipse.jface.viewers.TreeSelection;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerFilter;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
/**
* Tests that verify that the viewer property retrieves all the content
@@ -42,6 +44,13 @@
*/
abstract public class FilterTests extends AbstractViewerModelTest implements ITestModelUpdatesListenerConstants {
+ private TestInfo testInfo;
+
+ @BeforeEach
+ void storeTestInfo(TestInfo info) {
+ this.testInfo = info;
+ }
+
@Override
protected TestModelUpdatesListener createListener(IInternalTreeModelViewer viewer) {
return new TestModelUpdatesListener(viewer, true, true);
@@ -213,7 +222,7 @@ private void doTestReplacedUnrealizedFilteredElement(ViewerFilter[] filters) thr
// Populate the view (all elements containing a "2" will be filtered out.
fViewer.setInput(model.getRootElement());
- TestUtil.waitForJobs(name.getMethodName(), 300, 5000);
+ TestUtil.waitForJobs(testInfo.getDisplayName(), 300, 5000);
waitWhile(() -> !fListener.isFinished(ALL_UPDATES_COMPLETE), createListenerErrorMessage());
@@ -262,7 +271,7 @@ private void doTestRefreshUnrealizedFilteredElement(ViewerFilter[] filters) thro
// Populate the view (all elements containing a "2" will be filtered out.
fViewer.setInput(model.getRootElement());
- TestUtil.waitForJobs(name.getMethodName(), 300, 5000);
+ TestUtil.waitForJobs(testInfo.getDisplayName(), 300, 5000);
waitWhile(() -> !fListener.isFinished(ALL_UPDATES_COMPLETE), createListenerErrorMessage());
@@ -318,7 +327,7 @@ private void doTestRefreshToUnfilterElements(ViewerFilter[] filters) throws Exce
// Populate the view (all elements containing a "2" will be filtered out.
fViewer.setInput(model.getRootElement());
- TestUtil.waitForJobs(name.getMethodName(), 300, 5000);
+ TestUtil.waitForJobs(testInfo.getDisplayName(), 300, 5000);
waitWhile(() -> !fListener.isFinished(ALL_UPDATES_COMPLETE), createListenerErrorMessage());
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/FilterTransformTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/FilterTransformTests.java
index e1047b4fced..9b08527f52f 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/FilterTransformTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/FilterTransformTests.java
@@ -20,16 +20,18 @@
import static org.junit.Assert.fail;
import org.eclipse.debug.internal.ui.viewers.model.FilterTransform;
-import org.eclipse.debug.tests.AbstractDebugTest;
+import org.eclipse.debug.tests.DebugTestExtension;
import org.eclipse.jface.viewers.TreePath;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
/**
* Tests the virtual viewer's filter transform
* @since 3.3
*/
-public class FilterTransformTests extends AbstractDebugTest {
+@ExtendWith(DebugTestExtension.class)
+public class FilterTransformTests {
public Object root;
public Object element0;
@@ -48,10 +50,8 @@ public class FilterTransformTests extends AbstractDebugTest {
* and elements 0, 2, 3, 6, 7 are filtered. Elements
* 1, 4, 5 are visible.
*/
- @Override
- @Before
+ @BeforeEach
public void setUp() throws Exception {
- super.setUp();
transform = new FilterTransform();
root = new Object();
element0 = new Object();
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerDeltaTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerDeltaTests.java
index 6e131c8aecf..4a1a8b7e5a7 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerDeltaTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerDeltaTests.java
@@ -20,7 +20,7 @@
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
/**
* @since 3.6
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerTopIndexTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerTopIndexTests.java
index 22f5abecd1c..b22f9f6ceaa 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerTopIndexTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerTopIndexTests.java
@@ -32,7 +32,7 @@
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
/**
* @since 3.6
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/LazyTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/LazyTests.java
index b96cf9bc0e2..ca34c24a477 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/LazyTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/LazyTests.java
@@ -24,7 +24,7 @@
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.TreePath;
import org.eclipse.jface.viewers.TreeSelection;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
/**
* Tests that verify that the viewer property retrieves all the content
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/PerformanceTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/PerformanceTests.java
index c68ed147d7c..28b82e94d2e 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/PerformanceTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/PerformanceTests.java
@@ -26,8 +26,9 @@
import org.eclipse.jface.viewers.ViewerFilter;
import org.eclipse.test.performance.Performance;
import org.eclipse.test.performance.PerformanceMeter;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
/**
* Tests to measure the performance of the viewer updates.
@@ -36,8 +37,10 @@ abstract public class PerformanceTests extends AbstractViewerModelTest implement
protected VisibleVirtualItemValidator fVirtualItemValidator;
+ private TestInfo testInfo;
+
public String getDefaultScenarioId() {
- return this.getClass().getName() + '#' + name.getMethodName() + "()"; //$NON-NLS-1$
+ return this.getClass().getName() + '#' + testInfo.getDisplayName() + "()"; //$NON-NLS-1$
}
@Override
@@ -45,10 +48,9 @@ protected TestModelUpdatesListener createListener(IInternalTreeModelViewer viewe
return new TestModelUpdatesListener(viewer, false, false);
}
- @Override
- @Before
- public void setUp() throws Exception {
- super.setUp();
+ @BeforeEach
+ public void setUp(TestInfo testInfo) throws Exception {
+ this.testInfo = testInfo;
fVirtualItemValidator = new VisibleVirtualItemValidator(0, Integer.MAX_VALUE);
}
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/PopupTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/PopupTests.java
index c5ed72b6254..ec7e04c599f 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/PopupTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/PopupTests.java
@@ -36,7 +36,7 @@
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
/**
* Tests to verify that the viewer property updates when created
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/PresentationContextTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/PresentationContextTests.java
index 13c3a04c77c..704d8f5b34e 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/PresentationContextTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/PresentationContextTests.java
@@ -18,17 +18,19 @@
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.debug.internal.ui.viewers.model.provisional.PresentationContext;
-import org.eclipse.debug.tests.AbstractDebugTest;
+import org.eclipse.debug.tests.DebugTestExtension;
import org.eclipse.ui.IPersistableElement;
import org.eclipse.ui.XMLMemento;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
/**
* Test the serialization of presentation context properties.
*
* @since 3.4
*/
-public class PresentationContextTests extends AbstractDebugTest {
+@ExtendWith(DebugTestExtension.class)
+public class PresentationContextTests {
/**
* Tests saving and restoring presentation context properties.
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/SelectionTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/SelectionTests.java
index 7d71fc5fbce..fe63e74118e 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/SelectionTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/SelectionTests.java
@@ -31,7 +31,7 @@
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.TreePath;
import org.eclipse.jface.viewers.TreeSelection;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
/**
* Tests to verify that the viewer properly handles selection changes.
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/StateTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/StateTests.java
index 30447cdc73b..e0f89aa949b 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/StateTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/StateTests.java
@@ -33,7 +33,8 @@
import org.eclipse.jface.viewers.ITreeSelection;
import org.eclipse.jface.viewers.TreePath;
import org.eclipse.jface.viewers.TreeSelection;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
/**
* Tests to verify that the viewer can save and restore correctly the expansion
@@ -664,7 +665,7 @@ public void testPreserveExpandedOnContentStress() throws Exception {
}
@Test
- public void testPreserveLargeModelOnContent() throws Exception {
+ public void testPreserveLargeModelOnContent(TestInfo testInfo) throws Exception {
//TreeModelViewerAutopopulateAgent autopopulateAgent = new TreeModelViewerAutopopulateAgent(fViewer);
TestModel model = alternatingSubsreesModel(100);
@@ -675,7 +676,7 @@ public void testPreserveLargeModelOnContent() throws Exception {
// Set the input into the view and update the view.
fViewer.setInput(model.getRootElement());
- TestUtil.waitForJobs(name.getMethodName(), 300, 5000);
+ TestUtil.waitForJobs(testInfo.getDisplayName(), 300, 5000);
waitWhile(() -> !fListener.isFinished(CONTENT_SEQUENCE_COMPLETE), createListenerErrorMessage());
expandAlternateElements(fListener, model, false);
@@ -1054,7 +1055,7 @@ public void testSaveAndRestoreInputInstanceEquals() throws Exception {
}
@Test
- public void testSaveAndRestoreLarge() throws Exception {
+ public void testSaveAndRestoreLarge(TestInfo testInfo) throws Exception {
//TreeModelViewerAutopopulateAgent autopopulateAgent = new TreeModelViewerAutopopulateAgent(fViewer);
TestModel model = alternatingSubsreesModel(100);
@@ -1065,7 +1066,7 @@ public void testSaveAndRestoreLarge() throws Exception {
// Set the input into the view and update the view.
fViewer.setInput(model.getRootElement());
- TestUtil.waitForJobs(name.getMethodName(), 300, 5000);
+ TestUtil.waitForJobs(testInfo.getDisplayName(), 300, 5000);
waitWhile(() -> !fListener.isFinished(CONTENT_SEQUENCE_COMPLETE), createListenerErrorMessage());
expandAlternateElements(fListener, model, false);
@@ -1084,7 +1085,7 @@ public void testSaveAndRestoreLarge() throws Exception {
fListener.addStateUpdates(getInternalViewer(), originalState, IModelDelta.EXPAND | IModelDelta.SELECT | IModelDelta.REVEAL);
fViewer.setInput(null);
- TestUtil.waitForJobs(name.getMethodName(), 300, 5000);
+ TestUtil.waitForJobs(testInfo.getDisplayName(), 300, 5000);
waitWhile(() -> !fListener.isFinished(STATE_SAVE_COMPLETE | STATE_UPDATES), createListenerErrorMessage());
// Set the viewer input back to the model. When view updates are complete
@@ -1092,7 +1093,7 @@ public void testSaveAndRestoreLarge() throws Exception {
// Note: disable redundant updates because the reveal delta triggers one.
fListener.reset();
fViewer.setInput(model.getRootElement());
- TestUtil.waitForJobs(name.getMethodName(), 300, 5000);
+ TestUtil.waitForJobs(testInfo.getDisplayName(), 300, 5000);
waitWhile(() -> !fListener.isFinished(CONTENT_SEQUENCE_COMPLETE), createListenerErrorMessage());
// Validate data (only select visible elements).
@@ -1114,7 +1115,7 @@ public void testSaveAndRestoreLarge() throws Exception {
* the saved state delta once all the elements are visible.
*/
@Test
- public void testSaveAndRestorePartialStateLarge() throws Exception {
+ public void testSaveAndRestorePartialStateLarge(TestInfo testInfo) throws Exception {
//TreeModelViewerAutopopulateAgent autopopulateAgent = new TreeModelViewerAutopopulateAgent(fViewer);
TestModel model = alternatingSubsreesModel(100);
@@ -1125,7 +1126,7 @@ public void testSaveAndRestorePartialStateLarge() throws Exception {
// Set the input into the view and update the view.
fViewer.setInput(model.getRootElement());
- TestUtil.waitForJobs(name.getMethodName(), 300, 5000);
+ TestUtil.waitForJobs(testInfo.getDisplayName(), 300, 5000);
waitWhile(() -> !fListener.isFinished(CONTENT_SEQUENCE_COMPLETE), createListenerErrorMessage());
expandAlternateElements(fListener, model, false);
@@ -1144,7 +1145,7 @@ public void testSaveAndRestorePartialStateLarge() throws Exception {
fListener.addStateUpdates(getInternalViewer(), originalState, IModelDelta.EXPAND | IModelDelta.SELECT | IModelDelta.REVEAL);
fViewer.setInput(null);
- TestUtil.waitForJobs(name.getMethodName(), 300, 5000);
+ TestUtil.waitForJobs(testInfo.getDisplayName(), 300, 5000);
waitWhile(() -> !fListener.isFinished(STATE_SAVE_COMPLETE | STATE_UPDATES), createListenerErrorMessage());
@@ -1158,7 +1159,7 @@ public void testSaveAndRestorePartialStateLarge() throws Exception {
// Note: disable redundant updates because the reveal delta triggers one.
fListener.reset();
fViewer.setInput(model.getRootElement());
- TestUtil.waitForJobs(name.getMethodName(), 300, 5000);
+ TestUtil.waitForJobs(testInfo.getDisplayName(), 300, 5000);
// MONITOR FOR THE STATE RESTORE TO COMPLETE
waitWhile(() -> !fListener.isFinished(CONTENT_SEQUENCE_COMPLETE | STATE_RESTORE_COMPLETE), createListenerErrorMessage());
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/UpdateTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/UpdateTests.java
index be41de2194b..cbf331483f4 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/UpdateTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/UpdateTests.java
@@ -31,7 +31,7 @@
import org.eclipse.debug.tests.viewer.model.TestModel.TestElement;
import org.eclipse.jface.viewers.TreePath;
import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
/**
* Tests to verify that the viewer property updates following changes in the
diff --git a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerLazyModeTests.java b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerLazyModeTests.java
index fdc8acbaadc..824b3522f07 100644
--- a/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerLazyModeTests.java
+++ b/debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerLazyModeTests.java
@@ -20,7 +20,7 @@
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
/**
* Tests which verify the operation of the virtual viewer in the lazy mode.