Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2541)

Unified Diff: dart/pkg/unittest/config.dart

Issue 10918168: Run dart2js tests unmodified in drt. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Only wrap on DRT Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: dart/pkg/unittest/config.dart
diff --git a/dart/pkg/unittest/config.dart b/dart/pkg/unittest/config.dart
index 34693dde24f6b99fea5b0c1e0c69527979deaec2..5a8b4bcce5c5814b8fd2f5ef45be2087575945bc 100644
--- a/dart/pkg/unittest/config.dart
+++ b/dart/pkg/unittest/config.dart
@@ -37,7 +37,9 @@ class Configuration {
* tell the vm or browser that tests are still running and the process should
* wait until they are done.
*/
- void onStart() {}
+ void onStart() {
+ _postMessage('unittest-suite-wait-for-done');
+ }
/**
* Called when each test starts. Useful to show intermediate progress on
@@ -121,8 +123,11 @@ class Configuration {
print('$passed PASSED, $failed FAILED, $errors ERRORS');
}
- // An exception is used by the test infrastructure to detect failure.
- if (!success) throw new Exception("Some tests failed.");
+ if (success) {
+ _postMessage('unittest-suite-success');
+ } else {
+ throw new Exception('Some tests failed.');
+ }
}
String _indent(String str) {
@@ -137,4 +142,10 @@ class Configuration {
// Currently e.message works in dartium, but not in dartc.
handleExternalError(e, String message) =>
_reportTestError('$message\nCaught $e', '');
+
+ _postMessage(String message) {
+ // In dart2js browser tests, the JavaScript-based test controller
+ // intercepts calls to print and listens for "secret" messages.
+ print(message);
+ }
}

Powered by Google App Engine
This is Rietveld 408576698