Index: utils/tests/pub/test_pub.dart |
diff --git a/utils/tests/pub/test_pub.dart b/utils/tests/pub/test_pub.dart |
index 78d198ae0da8e43644995f3f9511f2cfe4bf23e2..44290b02e5c01cb0021a2386468ca0adb714c018 100644 |
--- a/utils/tests/pub/test_pub.dart |
+++ b/utils/tests/pub/test_pub.dart |
@@ -509,6 +509,10 @@ List<_ScheduledEvent> _scheduledOnException; |
*/ |
bool _abortScheduled = false; |
+/// The time (in milliseconds) to wait for the entire scheduled test to |
+/// complete. |
+final _TIMEOUT = 30000; |
+ |
/** |
* Runs all the scheduled events for a test case. This should only be called |
* once per test case. |
@@ -549,9 +553,9 @@ void run() { |
return true; |
}); |
- future.chain((_) => cleanup()).then((_) { |
- asyncDone(); |
- }); |
+ timeout(future, _TIMEOUT, 'waiting for a test to complete') |
+ .chain((_) => cleanup()) |
+ .then((_) => asyncDone()); |
} |
/// Get the path to the root "util/test/pub" directory containing the pub tests. |