use of org.junit.runner.Runner in project bazel by bazelbuild.
the class MemoizingRequestTest method testMemoizesRunner.
public void testMemoizesRunner() {
MemoizingRequest memoizingRequest = new MemoizingRequest(mockRequestDelegate);
Runner firstRunner = memoizingRequest.getRunner();
Runner secondRunner = memoizingRequest.getRunner();
assertSame(firstRunner, secondRunner);
verify(mockRequestDelegate).getRunner();
verifyNoMoreInteractions(mockRequestDelegate);
}
use of org.junit.runner.Runner in project gradle by gradle.
the class JUnitTestClassExecuter method runTestClass.
private void runTestClass(String testClassName) throws ClassNotFoundException {
final Class<?> testClass = Class.forName(testClassName, false, applicationClassLoader);
List<Filter> filters = new ArrayList<Filter>();
if (options.hasCategoryConfiguration()) {
verifyJUnitCategorySupport();
Transformer<Class<?>, String> transformer = new Transformer<Class<?>, String>() {
public Class<?> transform(final String original) {
try {
return applicationClassLoader.loadClass(original);
} catch (ClassNotFoundException e) {
throw new InvalidUserDataException(String.format("Can't load category class [%s].", original), e);
}
}
};
filters.add(new CategoryFilter(CollectionUtils.collect(options.getIncludeCategories(), transformer), CollectionUtils.collect(options.getExcludeCategories(), transformer)));
}
Request request = Request.aClass(testClass);
Runner runner = request.getRunner();
if (!options.getIncludedTests().isEmpty()) {
TestSelectionMatcher matcher = new TestSelectionMatcher(options.getIncludedTests());
// matches the filter, run the entire suite instead of filtering away its contents.
if (!runner.getDescription().isSuite() || !matcher.matchesTest(testClassName, null)) {
filters.add(new MethodNameFilter(matcher));
}
}
if (runner instanceof Filterable) {
Filterable filterable = (Filterable) runner;
for (Filter filter : filters) {
try {
filterable.filter(filter);
} catch (NoTestsRemainException e) {
// Ignore
return;
}
}
} else if (allTestsFiltered(runner, filters)) {
return;
}
RunNotifier notifier = new RunNotifier();
notifier.addListener(listener);
runner.run(notifier);
}
use of org.junit.runner.Runner in project gradle by gradle.
the class AbstractMultiTestRunner method initExecutions.
private void initExecutions() {
if (!executionsInitialized) {
try {
Runner descriptionProvider = createRunnerFor(Arrays.asList(target), Collections.<Filter>emptyList());
templateDescription = descriptionProvider.getDescription();
} catch (InitializationError initializationError) {
throw UncheckedException.throwAsUncheckedException(initializationError);
}
createExecutions();
for (Execution execution : executions) {
execution.init(target, templateDescription);
}
executionsInitialized = true;
}
}
use of org.junit.runner.Runner in project buck by facebook.
the class TimeoutTest method doTestUsingThreadGuardedTestClass.
private void doTestUsingThreadGuardedTestClass() throws InitializationError {
Class<?> testClass = ThreadGuardedTest.class;
RunnerBuilder builder = new RunnerBuilder() {
@Override
public Runner runnerForClass(Class<?> clazz) throws Throwable {
return new BuckBlockJUnit4ClassRunner(clazz, /* defaultTestTimeoutMillis */
500);
}
};
Runner suite = new Computer().getSuite(builder, new Class<?>[] { testClass });
Request request = Request.runner(suite);
final Set<Result> results = Sets.newHashSet();
JUnitCore core = new JUnitCore();
core.addListener(new RunListener() {
@Override
public void testRunFinished(Result result) throws Exception {
results.add(result);
}
});
core.run(request);
Result result = Iterables.getOnlyElement(results);
assertEquals(3, result.getRunCount());
assertEquals(2, result.getFailureCount());
// The order in which the tests were run doesn't matter. What matters is that we see our
// expected messages.
Set<String> messages = result.getFailures().stream().map(Failure::getMessage).collect(MoreCollectors.toImmutableSet());
assertEquals("Should contain explicit call to fail() from failingTestsAreReported() and " + "the timeout message from testsMayTimeOut().", ImmutableSet.of("This is expected", "test testsMayTimeOut timed out after 500 milliseconds"), messages);
}
use of org.junit.runner.Runner in project junit5 by junit-team.
the class TestClassRequestResolver method createRunnerTestDescriptor.
RunnerTestDescriptor createRunnerTestDescriptor(TestClassRequest request, UniqueId engineId) {
Class<?> testClass = request.getTestClass();
Runner runner = RUNNER_BUILDER.safeRunnerForClass(testClass);
if (runner == null) {
return null;
}
return determineRunnerTestDescriptor(testClass, runner, request.getFilters(), engineId);
}
Aggregations