// Copyright © 2011-2013, Esko Luontola <www.orfjackal.net> // This software is released under the Apache License 2.0. // The license text is at http://www.apache.org/licenses/LICENSE-2.0 package fi.jumi.core.junit; import fi.jumi.api.drivers.*; import org.junit.runner.*; import javax.annotation.concurrent.NotThreadSafe; import java.util.concurrent.Executor; @NotThreadSafe public class JUnitCompatibilityDriver extends Driver { @Override public void findTests(Class<?> testClass, SuiteNotifier notifier, Executor executor) { executor.execute(new JUnitRunner(testClass, notifier)); } @NotThreadSafe private static class JUnitRunner implements Runnable { private final Class<?> testClass; private final SuiteNotifier notifier; public JUnitRunner(Class<?> testClass, SuiteNotifier notifier) { this.testClass = testClass; this.notifier = notifier; } @Override public void run() { JUnitCore junit = new JUnitCore(); junit.addListener(new JUnitRunListenerAdapter(notifier)); junit.addListener(new JUnitTestMechanismFailureReporter(notifier)); junit.run(Request.aClass(testClass)); } } }