private static void propagateExceptions(TestResult combinedResult, List<Throwable> allExceptions) { if (!allExceptions.isEmpty()) { switch (allExceptions.size()) { case 1: combinedResult.setThrowable(allExceptions.get(0)); break; default: combinedResult.setThrowable(new CombinedException("Combined test result exceptions", allExceptions)); } } }
private static void propagateExceptions(TestResult combinedResult, List<Throwable> allExceptions) { if (!allExceptions.isEmpty()) { switch (allExceptions.size()) { case 1: combinedResult.setThrowable(allExceptions.get(0)); break; default: combinedResult.setThrowable(new CombinedException("Combined test result exceptions", allExceptions)); } } }
/** * Create a new TestResult.<br/> * <br/> * Start time is set to Current Milliseconds. * * @param status * The result status. * @param throwable * thrown exception if any */ @Deprecated public TestResult(Status status, Throwable throwable) { this.status = status; setThrowable(throwable); this.start = System.currentTimeMillis(); }
/** * Create a new TestResult.<br/> * <br/> * Start time is set to Current Milliseconds. * * @param status * The result status. * @param throwable * thrown exception if any */ @Deprecated public TestResult(Status status, Throwable throwable) { this.status = status; setThrowable(throwable); this.start = System.currentTimeMillis(); }
@SuppressWarnings("deprecation") public void enforce(@Observes(precedence = -10000) TestResult result) { result.setStatus(Status.PASSED); result.setThrowable(null); } }
private TestResult runTestMethodInternal(String className, String methodName, Map<String, String> protocolProps) { currentCall.set(className + methodName); TestResult result = new TestResult(); try { TestRunner runner = mockTestRunner; if (runner == null) { runner = TestRunners.getTestRunner(getClass().getClassLoader()); } log.fine("Load test class: " + className); Class<?> testClass = testClassLoader.loadTestClass(className); log.fine("Test class loaded from: " + testClass.getClassLoader()); log.fine("Execute: " + className + "." + methodName); result = doRunTestMethod(runner, testClass, methodName, protocolProps); } catch (Throwable th) { result.setStatus(Status.FAILED); result.setEnd(System.currentTimeMillis()); result.setThrowable(th); } finally { log.fine("Result: " + result); if (result.getStatus() == Status.FAILED) { log.log(Level.SEVERE, "Failed: " + className + "." + methodName, result.getThrowable()); } } return result; }
public void update(@Observes(precedence = 99) EventContext<After> context, TestResult result) { if (State.caughtExceptionAfter() != null) { result.setStatus(TestResult.Status.FAILED); result.setThrowable(State.caughtExceptionAfter()); } else { result.setStatus(Status.PASSED); result.setThrowable(null); } State.caughtExceptionAfter(null); context.proceed(); } }
public void update(@Observes(precedence = 99) EventContext<AfterTestLifecycleEvent> context, TestResult result) { if (State.caughtExceptionAfterJunit() != null) { if (State.caughtExceptionAfterJunit() instanceof AssumptionViolatedException) { result.setStatus(Status.SKIPPED); } else { result.setStatus(Status.FAILED); } result.setThrowable(State.caughtExceptionAfterJunit()); } else { result.setStatus(Status.PASSED); result.setThrowable(null); } context.proceed(); } }
public void update(@Observes(precedence = 99) EventContext<AfterTestLifecycleEvent> context, TestResult result) { if (State.caughtExceptionAfterJunit() != null) { if (State.caughtExceptionAfterJunit() instanceof AssumptionViolatedException) { result.setStatus(Status.SKIPPED); } else { result.setStatus(Status.FAILED); } result.setThrowable(State.caughtExceptionAfterJunit()); } else { result.setStatus(Status.PASSED); result.setThrowable(null); } context.proceed(); } }
} catch (final Throwable th) { result = new TestResult(Status.FAILED); result.setThrowable(th); } finally { result.setEnd(System.currentTimeMillis());
void invoke(final TestRunnerAdaptor adaptor, final FrameworkMethod method, final Object test) throws Throwable { TestResult result = adaptor.test(new TestMethodExecutor() { @Override public void invoke(Object... parameters) throws Throwable { invokeMethod(parameters); } public Method getMethod() { return method.getMethod(); } public Object getInstance() { return test; } }); Throwable throwable = result.getThrowable(); if (throwable != null) { if (result.getStatus() == TestResult.Status.SKIPPED) { if (throwable instanceof SkippedTestExecutionException) { result.setThrowable(new AssumptionViolatedException(throwable.getMessage())); } } throw result.getThrowable(); } }
void invoke(final TestRunnerAdaptor adaptor, final FrameworkMethod method, final Object test) throws Throwable { TestResult result = adaptor.test(new TestMethodExecutor() { @Override public void invoke(Object... parameters) throws Throwable { invokeMethod(parameters); } public Method getMethod() { return method.getMethod(); } public Object getInstance() { return test; } }); Throwable throwable = result.getThrowable(); if (throwable != null) { if (result.getStatus() == TestResult.Status.SKIPPED) { if (throwable instanceof SkippedTestExecutionException) { result.setThrowable(new AssumptionViolatedException(throwable.getMessage())); } } throw result.getThrowable(); } }
public TestResult getTestResult() { if (context.getFailedConfigurations().size() > 0) { return TestResult.failed( context.getFailedConfigurations().getAllResults().iterator().next().getThrowable()); } else if (context.getFailedTests().size() > 0) { return TestResult.failed( context.getFailedTests().getAllResults().iterator().next().getThrowable()); } else if (context.getSkippedTests().size() > 0) { return TestResult.skipped().setThrowable(context.getSkippedTests().getAllResults().iterator().next().getThrowable()); } if (context.getPassedTests().size() > 0) { return TestResult.passed().setThrowable( context.getPassedTests().getAllResults().iterator().next().getThrowable()); } return TestResult.failed( new RuntimeException("Unknown test result: " + context).fillInStackTrace()); } }
public TestResult getTestResult() { if (context.getFailedConfigurations().size() > 0) { return TestResult.failed( context.getFailedConfigurations().getAllResults().iterator().next().getThrowable()); } else if (context.getFailedTests().size() > 0) { return TestResult.failed( context.getFailedTests().getAllResults().iterator().next().getThrowable()); } else if (context.getSkippedTests().size() > 0) { return TestResult.skipped().setThrowable(context.getSkippedTests().getAllResults().iterator().next().getThrowable()); } if (context.getPassedTests().size() > 0) { return TestResult.passed().setThrowable( context.getPassedTests().getAllResults().iterator().next().getThrowable()); } return TestResult.failed( new RuntimeException("Unknown test result: " + context).fillInStackTrace()); } }
public void execute(@Observes Test event) throws Exception { TestResult result = new TestResult(); try { event.getTestMethodExecutor().invoke( enrichArguments( event.getTestMethod(), serviceLoader.get().all(TestEnricher.class))); result.setStatus(Status.PASSED); } catch (Throwable e) { result.setStatus(Status.FAILED); result.setThrowable(e); } finally { result.setEnd(System.currentTimeMillis()); } testResult.set(result); }
public void execute(@Observes Test event) throws Exception { TestResult result = new TestResult(); try { event.getTestMethodExecutor().invoke( enrichArguments( event.getTestMethod(), serviceLoader.get().all(TestEnricher.class))); result.setStatus(Status.PASSED); } catch (Throwable e) { result.setStatus(Status.FAILED); result.setThrowable(e); } finally { result.setEnd(System.currentTimeMillis()); } testResult.set(result); }
public void execute(@Observes Test event) throws Exception { TestResult result = new TestResult(); try { event.getTestMethodExecutor().invoke( enrichArguments( event.getTestMethod(), serviceLoader.get().all(TestEnricher.class))); result.setStatus(Status.PASSED); } catch (Throwable e) { result.setStatus(Status.FAILED); result.setThrowable(e); } finally { result.setEnd(System.currentTimeMillis()); } testResult.set(result); }
public void execute(@Observes LocalExecutionEvent event) throws Exception { TestResult result = new TestResult(); try { event.getExecutor().invoke( enrichArguments( event.getExecutor().getMethod(), serviceLoader.get().all(TestEnricher.class))); result.setStatus(Status.PASSED); } catch (Throwable e) { result.setStatus(Status.FAILED); result.setThrowable(e); } finally { result.setEnd(System.currentTimeMillis()); } testResult.set(result); }
public void execute(@Observes LocalExecutionEvent event) throws Exception { TestResult result = new TestResult(); try { event.getExecutor().invoke( enrichArguments( event.getExecutor().getMethod(), serviceLoader.get().all(TestEnricher.class))); result.setStatus(Status.PASSED); } catch (Throwable e) { result.setStatus(Status.FAILED); result.setThrowable(e); } finally { result.setEnd(System.currentTimeMillis()); } testResult.set(result); }
public TestResult execute(Class<?> testClass, String methodName) { TestResult testResult; ExpectedExceptionHolder exceptionHolder = new ExpectedExceptionHolder(); try { JUnitCore runner = new JUnitCore(); runner.addListener(exceptionHolder); for (RunListener listener : getRunListeners()) runner.addListener(listener); Result result = runner.run(Request.method(testClass, methodName)); if (result.getFailureCount() > 0) { testResult = TestResult.failed(exceptionHolder.getException()); } else if (result.getIgnoreCount() > 0) { testResult = TestResult.skipped(); // Will this ever happen incontainer? } else { testResult = TestResult.passed(); } if (testResult.getThrowable() == null) { testResult.setThrowable(exceptionHolder.getException()); } } catch (Throwable th) { testResult = TestResult.failed(th); } if (testResult.getThrowable() instanceof AssumptionViolatedException) { testResult = TestResult.skipped(testResult.getThrowable()); } testResult.setEnd(System.currentTimeMillis()); return testResult; }