| Index: test/runner/signal_test.dart
|
| diff --git a/test/runner/signal_test.dart b/test/runner/signal_test.dart
|
| index 5397d0767b42e9abd8dfc62b79605c65ea010bd1..63e8e7bd22d7e5dea8e489607de5e99548e92ea0 100644
|
| --- a/test/runner/signal_test.dart
|
| +++ b/test/runner/signal_test.dart
|
| @@ -82,7 +82,11 @@ import 'dart:io';
|
| import 'package:test/test.dart';
|
|
|
| void main() {
|
| - tearDown(() => new File("output").writeAsStringSync("ran teardown"));
|
| + tearDownAll(() {
|
| + new File("output_all").writeAsStringSync("ran tearDownAll");
|
| + });
|
| +
|
| + tearDown(() => new File("output").writeAsStringSync("ran tearDown"));
|
|
|
| test("test", () {
|
| print("running test");
|
| @@ -95,7 +99,34 @@ void main() {
|
| test.stdout.expect(consumeThrough("running test"));
|
| signalAndQuit(test);
|
|
|
| - d.file("output", "ran teardown").validate();
|
| + d.file("output", "ran tearDown").validate();
|
| + d.file("output_all", "ran tearDownAll").validate();
|
| + expectTempDirEmpty();
|
| + });
|
| +
|
| + test("waits for an active tearDownAll to finish running", () {
|
| + d.file("test.dart", """
|
| +import 'dart:async';
|
| +import 'dart:io';
|
| +
|
| +import 'package:test/test.dart';
|
| +
|
| +void main() {
|
| + tearDownAll(() async {
|
| + print("running tearDownAll");
|
| + await new Future.delayed(new Duration(seconds: 1));
|
| + new File("output").writeAsStringSync("ran tearDownAll");
|
| + });
|
| +
|
| + test("test", () {});
|
| +}
|
| +""").create();
|
| +
|
| + var test = _runTest(["test.dart"]);
|
| + test.stdout.expect(consumeThrough("running tearDownAll"));
|
| + signalAndQuit(test);
|
| +
|
| + d.file("output", "ran tearDownAll").validate();
|
| expectTempDirEmpty();
|
| });
|
|
|
|
|