package jetbrains.mps.baseLanguage.unitTest.execution.server;
/*Generated by MPS */
import org.junit.runner.Request;
import org.junit.runner.notification.RunNotifier;
import org.junit.runner.Description;
import org.junit.runner.notification.Failure;
public class IgnoringStoppableRunner extends StoppableRunner {
private final Filter myIgnoringFilter;
public IgnoringStoppableRunner(Request request, boolean stopping, Filter ignoringFilter) {
super(request, stopping);
myIgnoringFilter = ignoringFilter;
}
@Override
protected void doRun(RunNotifier notifier) {
try {
myIgnoringFilter.accept(myRequest);
myRequest.getRunner().run(notifier);
} catch (Filter.FilterException e) {
ignoreRequest(notifier, e);
}
}
private void ignoreRequest(RunNotifier notifier, Exception e) {
Description description = getDescription();
notifier.fireTestStarted(description);
notifier.fireTestAssumptionFailed(new Failure(description, e));
notifier.fireTestFinished(description);
}
}