Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions debug/org.eclipse.debug.tests/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
Expand Up @@ -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

This file was deleted.

Original file line number Diff line number Diff line change
@@ -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();
}
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,23 +30,25 @@
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;
import org.eclipse.swt.custom.TextChangeListener;
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}.
* <p>
* Primary tests fixed width mode and calculation of {@link TextChangingEvent}s.
* </p>
*/
public class ConsoleDocumentAdapterTests extends AbstractDebugTest {
@ExtendWith(DebugTestExtension.class)
public class ConsoleDocumentAdapterTests {

/**
* Test {@link ConsoleDocumentAdapter#setText(String)}.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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;
Expand All @@ -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;
Expand All @@ -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();
}

/**
Expand All @@ -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$
Expand Down Expand Up @@ -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
Expand All @@ -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();
Expand Down
Loading
Loading