| PASS: Should produce an exception. |
| Error: Must pass the test's harness as the first argument. |
| PASS: Should produce an exception. |
| Error: Must pass the test's harness as the first argument. |
| PASS: Should produce an exception. |
| Error: Must pass the test's harness as the first argument. |
| PASS: Should produce an exception. |
| Error: Must pass the test's harness as the first argument. |
| PASS: Should produce an exception. |
| Error: Tried to add non-object test case. |
| PASS: Should produce an exception. |
| Error: Tried to add non-object test case. |
| PASS: Should produce an exception. |
| Error: Tried to add test case without a name. |
| PASS: Should produce an exception. |
| Error: Tried to add test case without a name. |
| PASS: Should produce an exception. |
| Error: Tried to add test case without `test` function. |
| PASS: Should produce an exception. |
| Error: Tried to add test case with invalid `setup` parameter (must be a function). |
| PASS: Should produce an exception. |
| Error: Tried to add test case with invalid `setup` parameter (must be a function). |
| PASS: Should produce an exception. |
| Error: Tried to add test case with invalid `setup` parameter (must be a function). |
| PASS: Should produce an exception. |
| Error: Tried to add test case with invalid `teardown` parameter (must be a function). |
| PASS: Should produce an exception. |
| Error: Tried to add test case with invalid `teardown` parameter (must be a function). |
| PASS: Should produce an exception. |
| Error: Tried to add test case with invalid `teardown` parameter (must be a function). |
| PASS: should not be able to run empty test suite. |
| |
| == Running test suite: AsyncTestSuite.RunTwiceSuite |
| PASS: Should produce an exception. |
| Error: Tried to call runTestCases() more than once. |
| -- Running test case: DummyTest0 |
| PASS: DummyTest0 should only run once. |
| |
| == Running test suite: AsyncTestSuite.PromiseFunctionSuccess |
| -- Running test case: PromiseFunctionSuccess |
| |
| PASS: Promise from AsyncTestSuite.PromiseFunctionSuccess.runTestCases() should resolve even if a test case fails. |
| PASS: AsyncTestSuite.PromiseFunctionSuccess should have executed 1 tests. |
| PASS: AsyncTestSuite.PromiseFunctionSuccess should have passed 1 tests. |
| PASS: AsyncTestSuite.PromiseFunctionSuccess should have failed 0 tests. |
| PASS: AsyncTestSuite.PromiseFunctionSuccess should have skipped 0 tests. |
| |
| == Running test suite: PromiseTestSuite.PromiseFunctionException |
| -- Running test case: PromiseFunctionException |
| Throwing... |
| !! EXCEPTION: PromiseFunctionException throw |
| Stack Trace: (suppressed) |
| |
| PASS: Promise from PromiseTestSuite.PromiseFunctionException.runTestCases() should resolve even if a test case fails. |
| PASS: PromiseTestSuite.PromiseFunctionException should have executed 1 tests. |
| PASS: PromiseTestSuite.PromiseFunctionException should have passed 0 tests. |
| PASS: PromiseTestSuite.PromiseFunctionException should have failed 1 tests. |
| PASS: PromiseTestSuite.PromiseFunctionException should have skipped 0 tests. |
| |
| == Running test suite: PromiseTestSuite.PromiseFunctionFailure |
| -- Running test case: PromiseFunctionFailure |
| Rejecting... |
| !! EXCEPTION: PromiseFunctionFailure reject |
| Stack Trace: (suppressed) |
| |
| PASS: Promise from PromiseTestSuite.PromiseFunctionFailure.runTestCases() should resolve even if a test case fails. |
| PASS: PromiseTestSuite.PromiseFunctionFailure should have executed 1 tests. |
| PASS: PromiseTestSuite.PromiseFunctionFailure should have passed 0 tests. |
| PASS: PromiseTestSuite.PromiseFunctionFailure should have failed 1 tests. |
| PASS: PromiseTestSuite.PromiseFunctionFailure should have skipped 0 tests. |
| |
| == Running test suite: AsyncTestSuite.PromiseSequentialExecution |
| -- Running test case: 1 (Pass) |
| -- Running test case: 2 (Pass) |
| -- Running test case: 3 (Pass) |
| -- Running test case: 4 (Pass) |
| |
| PASS: Promise from AsyncTestSuite.PromiseSequentialExecution.runTestCases() should resolve even if a test case fails. |
| PASS: AsyncTestSuite.PromiseSequentialExecution should have executed 4 tests. |
| PASS: AsyncTestSuite.PromiseSequentialExecution should have passed 4 tests. |
| PASS: AsyncTestSuite.PromiseSequentialExecution should have failed 0 tests. |
| PASS: AsyncTestSuite.PromiseSequentialExecution should have skipped 0 tests. |
| |
| == Running test suite: AsyncTestSuite.PromiseContinueOnFailure |
| -- Running test case: 1 (Pass) |
| -- Running test case: 2 (Fail) |
| Throwing... |
| !! EXCEPTION: {"x":"PromiseContinueOnFailure throw"} |
| Stack Trace: (suppressed) |
| |
| -- Running test case: 3 (Pass) |
| -- Running test case: 4 (Fail) |
| Rejecting... |
| !! EXCEPTION: {"x":"PromiseContinueOnFailure reject"} |
| Stack Trace: (suppressed) |
| |
| PASS: Promise from AsyncTestSuite.PromiseContinueOnFailure.runTestCases() should resolve even if a test case fails. |
| PASS: AsyncTestSuite.PromiseContinueOnFailure should have executed 4 tests. |
| PASS: AsyncTestSuite.PromiseContinueOnFailure should have passed 2 tests. |
| PASS: AsyncTestSuite.PromiseContinueOnFailure should have failed 2 tests. |
| PASS: AsyncTestSuite.PromiseContinueOnFailure should have skipped 0 tests. |
| |
| == Running test suite: AsyncTestSuite.PromiseSetupAndTeardown |
| -- Running test setup. |
| -- Running test case: TestWithSetupAndTeardown |
| -- Running test teardown. |
| -- Running test case: TestRunningAfterTeardown |
| |
| PASS: Promise from AsyncTestSuite.PromiseSetupAndTeardown.runTestCases() should resolve even if a test case fails. |
| PASS: AsyncTestSuite.PromiseSetupAndTeardown should have executed 2 tests. |
| PASS: AsyncTestSuite.PromiseSetupAndTeardown should have passed 2 tests. |
| PASS: AsyncTestSuite.PromiseSetupAndTeardown should have failed 0 tests. |
| PASS: AsyncTestSuite.PromiseSetupAndTeardown should have skipped 0 tests. |
| |
| == Running test suite: AsyncTestSuite.PromiseSetupException |
| -- Running test setup. |
| Throwing... |
| !! EXCEPTION: PromiseSetupException throw |
| Stack Trace: (suppressed) |
| |
| -- Running test setup. |
| PASS: Setup action should still execute if previous test's setup action threw an exception. |
| -- Running test case: TestAfterSetupException |
| PASS: Test should still execute if previous test's setup action threw an exception. |
| -- Running test teardown. |
| PASS: Teardown action should still execute if previous test's setup action threw an exception. |
| |
| PASS: Promise from AsyncTestSuite.PromiseSetupException.runTestCases() should resolve even if a test case fails. |
| PASS: AsyncTestSuite.PromiseSetupException should have executed 1 tests. |
| PASS: AsyncTestSuite.PromiseSetupException should have passed 1 tests. |
| PASS: AsyncTestSuite.PromiseSetupException should have failed 1 tests. |
| PASS: AsyncTestSuite.PromiseSetupException should have skipped 1 tests. |
| |
| == Running test suite: AsyncTestSuite.PromiseSetupFailure |
| -- Running test setup. |
| Rejecting... |
| !! EXCEPTION: PromiseSetupFailure reject |
| Stack Trace: (suppressed) |
| |
| -- Running test setup. |
| PASS: Setup action should still execute if previous test's setup action failed. |
| -- Running test case: TestAfterSetupException |
| PASS: Test should still execute if previous test's setup action failed. |
| -- Running test teardown. |
| PASS: Teardown action should still execute if previous test's setup action failed. |
| |
| PASS: Promise from AsyncTestSuite.PromiseSetupFailure.runTestCases() should resolve even if a test case fails. |
| PASS: AsyncTestSuite.PromiseSetupFailure should have executed 1 tests. |
| PASS: AsyncTestSuite.PromiseSetupFailure should have passed 1 tests. |
| PASS: AsyncTestSuite.PromiseSetupFailure should have failed 1 tests. |
| PASS: AsyncTestSuite.PromiseSetupFailure should have skipped 1 tests. |
| |
| == Running test suite: AsyncTestSuite.PromiseTeardownException |
| -- Running test case: TestWithExceptionDuringTeardown |
| -- Running test teardown. |
| Throwing... |
| !! EXCEPTION: PromiseTeardownException throw |
| Stack Trace: (suppressed) |
| |
| -- Running test setup. |
| PASS: Setup action should still execute if previous test's teardown action threw an exception. |
| -- Running test case: TestAfterTeardownException |
| PASS: Test should still execute if previous test's teardown action threw an exception. |
| -- Running test teardown. |
| PASS: Teardown action should still execute if previous test's teardown action threw an exception. |
| |
| PASS: Promise from AsyncTestSuite.PromiseTeardownException.runTestCases() should resolve even if a test case fails. |
| PASS: AsyncTestSuite.PromiseTeardownException should have executed 2 tests. |
| PASS: AsyncTestSuite.PromiseTeardownException should have passed 1 tests. |
| PASS: AsyncTestSuite.PromiseTeardownException should have failed 1 tests. |
| PASS: AsyncTestSuite.PromiseTeardownException should have skipped 0 tests. |
| |
| == Running test suite: AsyncTestSuite.PromiseTeardownFailure |
| -- Running test case: TestWithExceptionDuringTeardown |
| -- Running test teardown. |
| Rejecting... |
| !! EXCEPTION: PromiseTeardownFailure reject |
| Stack Trace: (suppressed) |
| |
| -- Running test setup. |
| PASS: Setup action should still execute if previous test's teardown action failed. |
| -- Running test case: TestAfterTeardownException |
| PASS: Test should still execute if previous test's teardown action failed. |
| -- Running test teardown. |
| PASS: Teardown action should still execute if previous test's teardown action failed. |
| |
| PASS: Promise from AsyncTestSuite.PromiseTeardownFailure.runTestCases() should resolve even if a test case fails. |
| PASS: AsyncTestSuite.PromiseTeardownFailure should have executed 2 tests. |
| PASS: AsyncTestSuite.PromiseTeardownFailure should have passed 1 tests. |
| PASS: AsyncTestSuite.PromiseTeardownFailure should have failed 1 tests. |
| PASS: AsyncTestSuite.PromiseTeardownFailure should have skipped 0 tests. |
| |
| == Running test suite: AsyncTestSuite.PromiseTimeout |
| -- Running test case: PromiseTestWithTimeout |
| Timeout... |
| !! TIMEOUT: took longer than 5ms |
| |
| -- Running test setup. |
| PASS: Setup action should still execute if previous test timed out. |
| -- Running test case: PromiseTestAfterTimeout |
| PASS: Test should still execute if previous test timed out. |
| -- Running test teardown. |
| PASS: Teardown action should still execute if previous test timed out. |
| |
| PASS: Promise from AsyncTestSuite.PromiseTimeout.runTestCases() should resolve even if a test case fails. |
| PASS: AsyncTestSuite.PromiseTimeout should have executed 2 tests. |
| PASS: AsyncTestSuite.PromiseTimeout should have passed 1 tests. |
| PASS: AsyncTestSuite.PromiseTimeout should have failed 1 tests. |
| PASS: AsyncTestSuite.PromiseTimeout should have skipped 0 tests. |
| |
| == Running test suite: AsyncTestSuite.AsyncFunctionSuccess |
| -- Running test case: AsyncFunctionSuccess |
| |
| PASS: Promise from AsyncTestSuite.AsyncFunctionSuccess.runTestCases() should resolve even if a test case fails. |
| PASS: AsyncTestSuite.AsyncFunctionSuccess should have executed 1 tests. |
| PASS: AsyncTestSuite.AsyncFunctionSuccess should have passed 1 tests. |
| PASS: AsyncTestSuite.AsyncFunctionSuccess should have failed 0 tests. |
| PASS: AsyncTestSuite.AsyncFunctionSuccess should have skipped 0 tests. |
| |
| == Running test suite: AsyncTestSuite.AsyncFunctionExplicitException |
| -- Running test case: AsyncFunctionExplicitException |
| Throwing... |
| !! EXCEPTION: AsyncFunctionExplicitException throw |
| Stack Trace: (suppressed) |
| |
| PASS: Promise from AsyncTestSuite.AsyncFunctionExplicitException.runTestCases() should resolve even if a test case fails. |
| PASS: AsyncTestSuite.AsyncFunctionExplicitException should have executed 1 tests. |
| PASS: AsyncTestSuite.AsyncFunctionExplicitException should have passed 0 tests. |
| PASS: AsyncTestSuite.AsyncFunctionExplicitException should have failed 1 tests. |
| PASS: AsyncTestSuite.AsyncFunctionExplicitException should have skipped 0 tests. |
| |
| == Running test suite: AsyncTestSuite.AsyncFunctionRuntimeException |
| -- Running test case: AsyncFunctionRuntimeException |
| Throwing... |
| !! EXCEPTION: undefined is not an object (evaluating '({}).x.x') |
| Stack Trace: (suppressed) |
| |
| PASS: Promise from AsyncTestSuite.AsyncFunctionRuntimeException.runTestCases() should resolve even if a test case fails. |
| PASS: AsyncTestSuite.AsyncFunctionRuntimeException should have executed 1 tests. |
| PASS: AsyncTestSuite.AsyncFunctionRuntimeException should have passed 0 tests. |
| PASS: AsyncTestSuite.AsyncFunctionRuntimeException should have failed 1 tests. |
| PASS: AsyncTestSuite.AsyncFunctionRuntimeException should have skipped 0 tests. |
| |
| == Running test suite: AsyncTestSuite.AsyncFunctionFailure |
| -- Running test case: AsyncFunctionException |
| Rejecting... |
| !! EXCEPTION: AsyncFunctionFailure reject |
| Stack Trace: (suppressed) |
| |
| PASS: Promise from AsyncTestSuite.AsyncFunctionFailure.runTestCases() should resolve even if a test case fails. |
| PASS: AsyncTestSuite.AsyncFunctionFailure should have executed 1 tests. |
| PASS: AsyncTestSuite.AsyncFunctionFailure should have passed 0 tests. |
| PASS: AsyncTestSuite.AsyncFunctionFailure should have failed 1 tests. |
| PASS: AsyncTestSuite.AsyncFunctionFailure should have skipped 0 tests. |
| |
| == Running test suite: AsyncTestSuite.AsyncSequentialExecution |
| -- Running test case: 1 (Pass) |
| -- Running test case: 2 (Pass) |
| -- Running test case: 3 (Pass) |
| -- Running test case: 4 (Pass) |
| |
| PASS: Promise from AsyncTestSuite.AsyncSequentialExecution.runTestCases() should resolve even if a test case fails. |
| PASS: AsyncTestSuite.AsyncSequentialExecution should have executed 4 tests. |
| PASS: AsyncTestSuite.AsyncSequentialExecution should have passed 4 tests. |
| PASS: AsyncTestSuite.AsyncSequentialExecution should have failed 0 tests. |
| PASS: AsyncTestSuite.AsyncSequentialExecution should have skipped 0 tests. |
| |
| == Running test suite: AsyncTestSuite.AsyncContinueOnFailure |
| -- Running test case: 1 (Pass) |
| -- Running test case: 2 (Fail) |
| Throwing... |
| !! EXCEPTION: {"x":"AsyncContinueOnFailure throw"} |
| Stack Trace: (suppressed) |
| |
| -- Running test case: 3 (Pass) |
| -- Running test case: 4 (Fail) |
| Throwing... |
| !! EXCEPTION: undefined is not an object (evaluating '({}).x.x') |
| Stack Trace: (suppressed) |
| |
| -- Running test case: 5 (Pass) |
| -- Running test case: 6 (Fail) |
| Rejecting... |
| !! EXCEPTION: AsyncContinueOnFailure reject |
| Stack Trace: (suppressed) |
| |
| PASS: Promise from AsyncTestSuite.AsyncContinueOnFailure.runTestCases() should resolve even if a test case fails. |
| PASS: AsyncTestSuite.AsyncContinueOnFailure should have executed 6 tests. |
| PASS: AsyncTestSuite.AsyncContinueOnFailure should have passed 3 tests. |
| PASS: AsyncTestSuite.AsyncContinueOnFailure should have failed 3 tests. |
| PASS: AsyncTestSuite.AsyncContinueOnFailure should have skipped 0 tests. |
| |
| == Running test suite: AsyncTestSuite.AsyncSetupAndTeardown |
| -- Running test setup. |
| -- Running test case: AsyncTestWithSetupAndTeardown |
| -- Running test teardown. |
| -- Running test case: AsyncTestRunningAfterTeardown |
| |
| PASS: Promise from AsyncTestSuite.AsyncSetupAndTeardown.runTestCases() should resolve even if a test case fails. |
| PASS: AsyncTestSuite.AsyncSetupAndTeardown should have executed 2 tests. |
| PASS: AsyncTestSuite.AsyncSetupAndTeardown should have passed 2 tests. |
| PASS: AsyncTestSuite.AsyncSetupAndTeardown should have failed 0 tests. |
| PASS: AsyncTestSuite.AsyncSetupAndTeardown should have skipped 0 tests. |
| |
| == Running test suite: AsyncTestSuite.AsyncSetupExplicitException |
| -- Running test setup. |
| Throwing... |
| !! EXCEPTION: AsyncSetupExplicitException throw |
| Stack Trace: (suppressed) |
| |
| -- Running test setup. |
| PASS: Setup action should still execute if previous test's setup action threw an exception. |
| -- Running test case: AsyncTestAfterSetupExplicitException |
| PASS: Test should still execute if previous test's setup action threw an exception. |
| -- Running test teardown. |
| PASS: Teardown action should still execute if previous test's setup action threw an exception. |
| |
| PASS: Promise from AsyncTestSuite.AsyncSetupExplicitException.runTestCases() should resolve even if a test case fails. |
| PASS: AsyncTestSuite.AsyncSetupExplicitException should have executed 1 tests. |
| PASS: AsyncTestSuite.AsyncSetupExplicitException should have passed 1 tests. |
| PASS: AsyncTestSuite.AsyncSetupExplicitException should have failed 1 tests. |
| PASS: AsyncTestSuite.AsyncSetupExplicitException should have skipped 1 tests. |
| |
| == Running test suite: AsyncTestSuite.AsyncSetupRuntimeException |
| -- Running test setup. |
| Throwing... |
| !! EXCEPTION: undefined is not an object (evaluating '({}).x.x') |
| Stack Trace: (suppressed) |
| |
| -- Running test setup. |
| PASS: Setup action should still execute if previous test's setup action threw an exception. |
| -- Running test case: AsyncTestAfterSetupRuntimeException |
| PASS: Test should still execute if previous test's setup action threw an exception. |
| -- Running test teardown. |
| PASS: Teardown action should still execute if previous test's setup action threw an exception. |
| |
| PASS: Promise from AsyncTestSuite.AsyncSetupRuntimeException.runTestCases() should resolve even if a test case fails. |
| PASS: AsyncTestSuite.AsyncSetupRuntimeException should have executed 1 tests. |
| PASS: AsyncTestSuite.AsyncSetupRuntimeException should have passed 1 tests. |
| PASS: AsyncTestSuite.AsyncSetupRuntimeException should have failed 1 tests. |
| PASS: AsyncTestSuite.AsyncSetupRuntimeException should have skipped 1 tests. |
| |
| == Running test suite: AsyncTestSuite.AsyncSetupFailure |
| -- Running test setup. |
| Rejecting... |
| !! EXCEPTION: AsyncSetupFailure reject |
| Stack Trace: (suppressed) |
| |
| -- Running test setup. |
| PASS: Setup action should still execute if previous test's setup action failed. |
| -- Running test case: AsyncTestAfterSetupFailure |
| PASS: Test should still execute if previous test's setup action failed. |
| -- Running test teardown. |
| PASS: Setup action should still execute if previous test's setup action failed. |
| |
| PASS: Promise from AsyncTestSuite.AsyncSetupFailure.runTestCases() should resolve even if a test case fails. |
| PASS: AsyncTestSuite.AsyncSetupFailure should have executed 1 tests. |
| PASS: AsyncTestSuite.AsyncSetupFailure should have passed 1 tests. |
| PASS: AsyncTestSuite.AsyncSetupFailure should have failed 1 tests. |
| PASS: AsyncTestSuite.AsyncSetupFailure should have skipped 1 tests. |
| |
| == Running test suite: AsyncTestSuite.AsyncTeardownExplicitException |
| -- Running test case: AsyncTestWithExplicitExceptionDuringTeardown |
| -- Running test teardown. |
| Throwing... |
| !! EXCEPTION: AsyncTeardownExplicitException throw |
| Stack Trace: (suppressed) |
| |
| -- Running test setup. |
| PASS: Setup action should still execute if previous test's teardown action threw an exception. |
| -- Running test case: AsyncTestAfterTeardownExplicitException |
| PASS: Test should still execute if previous test's teardown action threw an exception. |
| -- Running test teardown. |
| PASS: Teardown action should still execute if previous test's teardown action threw an exception. |
| |
| PASS: Promise from AsyncTestSuite.AsyncTeardownExplicitException.runTestCases() should resolve even if a test case fails. |
| PASS: AsyncTestSuite.AsyncTeardownExplicitException should have executed 2 tests. |
| PASS: AsyncTestSuite.AsyncTeardownExplicitException should have passed 1 tests. |
| PASS: AsyncTestSuite.AsyncTeardownExplicitException should have failed 1 tests. |
| PASS: AsyncTestSuite.AsyncTeardownExplicitException should have skipped 0 tests. |
| |
| == Running test suite: AsyncTestSuite.AsyncTeardownRuntimeException |
| -- Running test case: AsyncTestWithRuntimeExceptionDuringTeardown |
| -- Running test teardown. |
| Throwing... |
| !! EXCEPTION: undefined is not an object (evaluating '({}).x.x') |
| Stack Trace: (suppressed) |
| |
| -- Running test setup. |
| PASS: Setup action should still execute if previous test's teardown action threw an exception. |
| -- Running test case: AsyncTestAfterTeardownRuntimeException |
| PASS: Test should still execute if previous test's teardown action threw an exception. |
| -- Running test teardown. |
| PASS: Teardown action should still execute if previous test's teardown action threw an exception. |
| |
| PASS: Promise from AsyncTestSuite.AsyncTeardownRuntimeException.runTestCases() should resolve even if a test case fails. |
| PASS: AsyncTestSuite.AsyncTeardownRuntimeException should have executed 2 tests. |
| PASS: AsyncTestSuite.AsyncTeardownRuntimeException should have passed 1 tests. |
| PASS: AsyncTestSuite.AsyncTeardownRuntimeException should have failed 1 tests. |
| PASS: AsyncTestSuite.AsyncTeardownRuntimeException should have skipped 0 tests. |
| |
| == Running test suite: AsyncTestSuite.AsyncTeardownFailure |
| -- Running test case: AsyncTestWithFailureDuringTeardown |
| -- Running test teardown. |
| Rejecting... |
| !! EXCEPTION: AsyncTeardownFailure reject |
| Stack Trace: (suppressed) |
| |
| -- Running test setup. |
| PASS: Setup action should still execute if previous test's teardown action failed. |
| -- Running test case: AsyncTestAfterTeardownFailure |
| PASS: Test should still execute if previous test's teardown action failed. |
| -- Running test teardown. |
| PASS: Teardown action should still execute if previous test's teardown action failed. |
| |
| PASS: Promise from AsyncTestSuite.AsyncTeardownFailure.runTestCases() should resolve even if a test case fails. |
| PASS: AsyncTestSuite.AsyncTeardownFailure should have executed 2 tests. |
| PASS: AsyncTestSuite.AsyncTeardownFailure should have passed 1 tests. |
| PASS: AsyncTestSuite.AsyncTeardownFailure should have failed 1 tests. |
| PASS: AsyncTestSuite.AsyncTeardownFailure should have skipped 0 tests. |
| |
| == Running test suite: AsyncTestSuite.AsyncTimeout |
| -- Running test case: AsyncTestWithTimeout |
| Timeout... |
| !! TIMEOUT: took longer than 5ms |
| |
| -- Running test setup. |
| PASS: Setup action should still execute if previous test timed out. |
| -- Running test case: AsyncTestAfterTimeout |
| PASS: Test should still execute if previous test timed out. |
| -- Running test teardown. |
| PASS: Teardown action should still execute if previous test timed out. |
| |
| PASS: Promise from AsyncTestSuite.AsyncTimeout.runTestCases() should resolve even if a test case fails. |
| PASS: AsyncTestSuite.AsyncTimeout should have executed 2 tests. |
| PASS: AsyncTestSuite.AsyncTimeout should have passed 1 tests. |
| PASS: AsyncTestSuite.AsyncTimeout should have failed 1 tests. |
| PASS: AsyncTestSuite.AsyncTimeout should have skipped 0 tests. |
| |