Skip to content

Commit

Permalink
waitForJobs
Browse files Browse the repository at this point in the history
  • Loading branch information
LorenzoBettini committed Dec 4, 2022
1 parent 3741ec9 commit 5acc09c
Showing 1 changed file with 37 additions and 4 deletions.
Expand Up @@ -10,7 +10,8 @@
*******************************************************************************/
package org.eclipse.emf.parsley.tests.swtbot;

import static org.eclipse.swtbot.swt.finder.waits.Conditions.*;
import static org.eclipse.swtbot.swt.finder.waits.Conditions.shellCloses;
import static org.eclipse.swtbot.swt.finder.waits.Conditions.shellIsActive;
import static org.eclipse.xtext.ui.testing.util.IResourcesSetupUtil.cleanWorkspace;
import static org.eclipse.xtext.ui.testing.util.IResourcesSetupUtil.createFile;
import static org.eclipse.xtext.ui.testing.util.IResourcesSetupUtil.root;
Expand All @@ -30,6 +31,7 @@
import java.util.regex.Pattern;

import org.apache.commons.io.FileUtils;
import org.apache.log4j.Logger;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IMarker;
import org.eclipse.core.resources.IResource;
Expand All @@ -39,6 +41,8 @@
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.jobs.IJobManager;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
Expand Down Expand Up @@ -100,8 +104,6 @@
import org.junit.rules.TestWatcher;
import org.junit.runner.Description;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
* @author Lorenzo Bettini
Expand Down Expand Up @@ -369,7 +371,8 @@ protected void starting(Description description) {
};

public EmfParsleySWTBotAbstractTests() {
log = LoggerFactory.getLogger(getClass());
log = Logger.getLogger(getClass());
// log.setLevel(Level.DEBUG);
}

@BeforeClass
Expand Down Expand Up @@ -466,8 +469,38 @@ public static void clean() throws CoreException {
public void runAfterEveryTest() throws Exception {
// bot.sleep(2000);
bot.saveAllEditors();
waitForJobs();
cleanWorkspace();
waitForBuild();
waitForJobs();
}

private void waitForJobs() {
bot.waitUntil(new DefaultCondition() {
@Override
public boolean test() throws Exception {
IJobManager jobManager = Job.getJobManager();
boolean idle = jobManager.isIdle();
if (!idle) {
log.info("Jobs still running...");
printJobs();
}
return idle;
}

@Override
public String getFailureMessage() {
printJobs();
return "Timed out waiting for jobs to finish.";
}

void printJobs() {
Job[] jobs = Job.getJobManager().find(null);
for (Job job : jobs) {
log.info(job.toString() + " state: " + job.getState());
}
}
});
}

private static void openJavaPerspective() throws InterruptedException {
Expand Down

0 comments on commit 5acc09c

Please sign in to comment.