Skip to content

Commit 4e55929

Browse files
committed
Small TestUtil cleanup
- add more info to thread dump - wake up jobs
1 parent f531792 commit 4e55929

File tree

1 file changed

+5
-16
lines changed
  • org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests

1 file changed

+5
-16
lines changed

org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/TestUtil.java

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import java.util.Set;
2626
import java.util.concurrent.atomic.AtomicBoolean;
2727

28+
import org.eclipse.core.internal.jobs.JobManager;
2829
import org.eclipse.core.runtime.IStatus;
2930
import org.eclipse.core.runtime.Status;
3031
import org.eclipse.core.runtime.jobs.Job;
@@ -181,6 +182,7 @@ public static boolean waitForJobs(String owner, Object jobFamily, long minTimeMs
181182
// only uninteresting jobs running
182183
break;
183184
}
185+
jobs.forEach(Job::wakeUp);
184186

185187
if (!Collections.disjoint(runningJobs, jobs)) {
186188
// There is a job which runs already quite some time, don't wait for it to avoid test timeouts
@@ -210,11 +212,8 @@ public static Object[] getUsualJobFamiliesToIgnore() {
210212
return new Object[] { ProcessConsole.class, AbstractReconciler.class };
211213
}
212214

213-
private static void wakeUpSleepingJobs(Object family) {
214-
List<Job> sleepingJobs = getSleepingJobs(family);
215-
for (Job job : sleepingJobs) {
216-
job.wakeUp();
217-
}
215+
private static void wakeUpSleepingJobs(Object jobFamily) {
216+
Job.getJobManager().wakeUp(jobFamily);
218217
}
219218

220219
static Set<Job> runningJobs = new LinkedHashSet<>();
@@ -235,6 +234,7 @@ private static String dumpRunningOrWaitingJobs(List<Job> jobs) {
235234
runningJobs.add(job);
236235
sb.append("\n'").append(job.toString()).append("'/");
237236
sb.append(job.getClass().getName());
237+
sb.append(":").append(JobManager.printState(job));
238238
Thread thread = job.getThread();
239239
if (thread != null) {
240240
ThreadInfo[] threadInfos = ManagementFactory.getThreadMXBean().getThreadInfo(new long[] { thread.threadId() }, true, true);
@@ -264,17 +264,6 @@ public static List<Job> getRunningOrWaitingJobs(Object jobFamily, Object... excl
264264
return running;
265265
}
266266

267-
private static List<Job> getSleepingJobs(Object family) {
268-
List<Job> sleeping = new ArrayList<>();
269-
Job[] jobs = Job.getJobManager().find(family);
270-
for (Job job : jobs) {
271-
if (job.getState() == Job.SLEEPING) {
272-
sleeping.add(job);
273-
}
274-
}
275-
return sleeping;
276-
}
277-
278267
private static boolean isRunningOrWaitingJob(Job job) {
279268
int state = job.getState();
280269
return (state == Job.RUNNING || state == Job.WAITING);

0 commit comments

Comments
 (0)