Skip to content

Commit 69a4747

Browse files
SougandhSjukzi
authored andcommitted
LongClassPathTests thread timeout fix.
1 parent b86af76 commit 69a4747

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/launching/LongClassPathTests.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,20 @@
2525
import java.util.Optional;
2626

2727
import org.eclipse.core.resources.IResource;
28+
import org.eclipse.core.resources.ResourcesPlugin;
2829
import org.eclipse.core.runtime.CoreException;
2930
import org.eclipse.core.runtime.IPath;
3031
import org.eclipse.core.runtime.NullProgressMonitor;
32+
import org.eclipse.core.runtime.OperationCanceledException;
3133
import org.eclipse.core.runtime.Path;
3234
import org.eclipse.core.runtime.Platform;
35+
import org.eclipse.core.runtime.jobs.Job;
3336
import org.eclipse.debug.core.DebugEvent;
3437
import org.eclipse.debug.core.ILaunch;
3538
import org.eclipse.debug.core.ILaunchConfiguration;
3639
import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
3740
import org.eclipse.debug.core.model.IProcess;
41+
import org.eclipse.debug.internal.ui.views.console.ProcessConsole;
3842
import org.eclipse.jdt.core.IClasspathEntry;
3943
import org.eclipse.jdt.core.IJavaProject;
4044
import org.eclipse.jdt.core.JavaCore;
@@ -43,6 +47,7 @@
4347
import org.eclipse.jdt.debug.testplugin.DebugEventWaiter;
4448
import org.eclipse.jdt.debug.testplugin.JavaProjectHelper;
4549
import org.eclipse.jdt.debug.tests.AbstractDebugTest;
50+
import org.eclipse.jdt.debug.tests.TestUtil;
4651
import org.eclipse.jdt.internal.launching.LaunchingPlugin;
4752
import org.eclipse.jdt.launching.AbstractVMInstall;
4853
import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
@@ -242,6 +247,22 @@ protected void setLongClasspath(IJavaProject javaProject, int minClassPathLength
242247
javaProject.setRawClasspath(classpathEntries.toArray(new IClasspathEntry[classpathEntries.size()]), null);
243248
}
244249

250+
public static void waitForBuild() {
251+
boolean wasInterrupted = false;
252+
do {
253+
try {
254+
Job.getJobManager().join(ResourcesPlugin.FAMILY_AUTO_BUILD, null);
255+
Job.getJobManager().join(ResourcesPlugin.FAMILY_MANUAL_BUILD, null);
256+
TestUtil.waitForJobs("waitForBuild", 100, 105000, ProcessConsole.class);
257+
wasInterrupted = false;
258+
} catch (OperationCanceledException e) {
259+
e.printStackTrace();
260+
} catch (InterruptedException e) {
261+
wasInterrupted = true;
262+
}
263+
} while (wasInterrupted);
264+
}
265+
245266
/**
246267
* Increased timeout
247268
*

0 commit comments

Comments
 (0)