use of org.junit.runner.Runner in project tests by datanucleus.
the class MultiConfigRunner method runnerForClass.
private Runner runnerForClass(Class<?> testClass) throws Exception {
String config = System.getProperty("datanucleus.test.config", "default");
Runner runner;
if (TestCase.class.isAssignableFrom(testClass)) {
runner = new JUnit38ConfigRunner(testClass, config);
} else {
runner = new JUnit4ConfigRunner(testClass, config);
}
return runner;
}
use of org.junit.runner.Runner in project kanonizo by kanonizo.
the class JUnit4TestRunner method runTest.
@Override
public KanonizoTestResult runTest(TestCase tc) {
Request request = getRequest(tc);
Runner testRunner = request.getRunner();
Result testResult = runner.run(testRunner);
List<KanonizoTestFailure> failures = testResult.getFailures().stream().map(failure -> new KanonizoTestFailure(failure.getException(), failure.getTrace())).collect(Collectors.toList());
return new KanonizoTestResult(tc.getTestClass(), tc.getMethod(), testResult.wasSuccessful(), failures, testResult.getRunTime());
}
use of org.junit.runner.Runner in project pinpoint by naver.
the class SharedPinpointPluginTest method execute.
private void execute(final TestInfo testInfo, final Properties properties) {
try {
final ClassLoader testClassLoader = createTestClassLoader(testInfo);
Runnable runnable = new Runnable() {
@Override
public void run() {
final Class<?> testClazz = loadClass();
logger.debug("testClazz:{} cl:{}", testClazz.getName(), testClazz.getClassLoader());
try {
MethodUtils.invokeSetMethod(testClazz, properties);
} catch (Exception e) {
logger.warn(e, "invoker setter method failed. testClazz:{} testId:{}", testClazzName, testInfo.getTestId());
}
try {
JUnitCore junit = new JUnitCore();
junit.addListener(new PrintListener());
Runner runner = new ForkedPinpointPluginTestRunner(testClazz, testInfo.getTestId());
junit.run(runner);
} catch (InitializationError error) {
logger.error(error, "test run fail testClazz:{} testId:{}", testClazzName, testInfo.getTestId());
List<Throwable> causes = error.getCauses();
for (Throwable cause : causes) {
logger.error(cause, "junit error Caused By:{}", cause.getMessage());
}
}
}
private Class<?> loadClass() {
try {
return testClassLoader.loadClass(testClazzName);
} catch (ClassNotFoundException e) {
logger.error(e, "testClazz:{} not found", testClazzName, testInfo.getTestId());
throw new RuntimeException(e);
}
}
};
String threadName = testClazzName + " " + testInfo.getTestId() + " Thread";
Thread testThread = newThread(runnable, threadName, testClassLoader);
testThread.start();
testThread.join(TimeUnit.MINUTES.toMillis(5));
checkTerminatedState(testThread, testClazzName + " " + testInfo.getTestId());
} catch (Exception e) {
logger.error(e, "{}:{} execute failed:{}", testClazzName, testInfo.getTestId(), e.getMessage());
} finally {
ReflectPluginTestVerifier.getInstance().cleanUp(true);
}
}
use of org.junit.runner.Runner in project pinpoint by naver.
the class PinpointPluginTestSuite method sort.
public void sort(Sorter sorter) {
synchronized (childrenLock) {
for (Runner each : getFilteredChildren()) {
sorter.apply(each);
}
List<Runner> sortedChildren = new ArrayList<>(getFilteredChildren());
Collections.sort(sortedChildren, comparator(sorter));
filteredChildren = Collections.unmodifiableCollection(sortedChildren);
}
}
use of org.junit.runner.Runner in project jena by apache.
the class AbstractRunnerOfTests method build.
/**
* Do one level of tests. test are {@link Runnable Runnables} that each succeed or fail with an exception.
*/
public static RunnerOneManifest build(EarlReport report, Manifest manifest, Function<ManifestEntry, Runnable> maker, String prefix) {
Description description = Description.createSuiteDescription(manifest.getName());
if (PrintManifests)
out.println(manifest.getFileName() + " :: " + manifest.getName());
RunnerOneManifest thisLevel = new RunnerOneManifest(manifest, description);
Iterator<String> sub = manifest.includedManifests();
while (sub.hasNext()) {
if (PrintManifests)
out.incIndent();
String mf = sub.next();
Manifest manifestSub = Manifest.parse(mf);
Runner runner = build(report, manifestSub, maker, prefix);
thisLevel.add(runner);
if (PrintManifests)
out.decIndent();
}
// Check entries do have test targets.
manifest.entries().forEach(entry -> {
if (entry.getAction() == null)
throw new RuntimeException("Missing: action [" + entry.getEntry() + "]");
if (entry.getName() == null)
throw new RuntimeException("Missing: label [" + entry.getEntry() + "]");
});
prepareTests(report, thisLevel, manifest, maker, prefix);
return thisLevel;
}
Aggregations