Chromium Code Reviews| Index: pkg/unittest/lib/src/config.dart |
| =================================================================== |
| --- pkg/unittest/lib/src/config.dart (revision 19166) |
| +++ pkg/unittest/lib/src/config.dart (working copy) |
| @@ -15,10 +15,7 @@ |
| // The VM won't shut down if a receive port is open. Use this to make sure |
| // we correctly wait for asynchronous tests. |
| ReceivePort _receivePort; |
| - TestCase _currentTestCase; |
| - TestCase get currentTestCase => _currentTestCase; |
| - |
| /** |
| * Subclasses can override this with something useful for diagnostics. |
| * Particularly useful in cases where we have parent/child configurations |
| @@ -53,32 +50,34 @@ |
| */ |
| void onTestStart(TestCase testCase) { |
| assert(testCase != null); |
| - assert(_currentTestCase == null); |
| - _currentTestCase = testCase; |
| } |
| /** |
| - * Called when each test is completed. Useful to show intermediate progress on |
| - * a test suite. |
| + * Called when each test is first completed. Useful to show intermediate |
| + * progress on a test suite. |
| */ |
| void onTestResult(TestCase testCase) { |
| assert(testCase != null); |
| - assert(_currentTestCase == null || _currentTestCase == testCase); |
| - _currentTestCase = null; |
| } |
| /** |
| + * Called when an already completed test changes state; for example a test |
| + * that was marked as passing may later be marked as being in error because |
| + * it still had callbacks being invoked. |
| + */ |
| + void onTestResultChanged(TestCase testCase) { |
| + assert(testCase != null); |
|
Siggi Cherem (dart-lang)
2013/02/28 23:31:53
remove trailing space/tab
gram
2013/03/04 19:51:25
Done.
|
| + } |
| + |
| + /** |
| * Can be called by tests to log status. Tests should use this |
| * instead of print. Subclasses should not override this; they |
| * should instead override logMessage which is passed the test case. |
| */ |
| void logMessage(String message) { |
| - if (currentTestCase == null || _currentTest >= _tests.length || |
| - currentTestCase.id != _tests[_currentTest].id) { |
| - // Before or after tests run, or with a mismatch between what the |
| - // config and the test harness think is the current test. In this |
| - // case we pass null for the test case reference and let the config |
| - // decide what to do with this. |
| + if (currentTestCase == null) { |
|
Siggi Cherem (dart-lang)
2013/02/28 23:31:53
but currentTestCase doesn't exist anymore?
kevmoo-old
2013/02/28 23:33:47
It's now top-level
|
| + // Before or after tests run. In this case we pass null for the test |
| + // case reference and let the config decide what to do with this. |
| logTestCaseMessage(null, message); |
| } else { |
| logTestCaseMessage(currentTestCase, message); |