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

Side by Side Diff: test/runner/signal_test.dart

Issue 1400743002: Add support for setUpAll and tearDownAll. (Closed) Base URL: git@github.com:dart-lang/test@master
Patch Set: Created 5 years, 2 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 unified diff | Download patch
« no previous file with comments | « test/runner/set_up_all_test.dart ('k') | test/runner/tear_down_all_test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 // Windows doesn't support sending signals. 5 // Windows doesn't support sending signals.
6 @TestOn("vm && !windows") 6 @TestOn("vm && !windows")
7 7
8 import 'dart:async'; 8 import 'dart:async';
9 import 'dart:io'; 9 import 'dart:io';
10 10
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 75
76 group("during test running", () { 76 group("during test running", () {
77 test("waits for a VM test to finish running", () { 77 test("waits for a VM test to finish running", () {
78 d.file("test.dart", """ 78 d.file("test.dart", """
79 import 'dart:async'; 79 import 'dart:async';
80 import 'dart:io'; 80 import 'dart:io';
81 81
82 import 'package:test/test.dart'; 82 import 'package:test/test.dart';
83 83
84 void main() { 84 void main() {
85 tearDown(() => new File("output").writeAsStringSync("ran teardown")); 85 tearDownAll(() {
86 new File("output_all").writeAsStringSync("ran tearDownAll");
87 });
88
89 tearDown(() => new File("output").writeAsStringSync("ran tearDown"));
86 90
87 test("test", () { 91 test("test", () {
88 print("running test"); 92 print("running test");
89 return new Future.delayed(new Duration(seconds: 1)); 93 return new Future.delayed(new Duration(seconds: 1));
90 }); 94 });
91 } 95 }
92 """).create(); 96 """).create();
93 97
94 var test = _runTest(["test.dart"]); 98 var test = _runTest(["test.dart"]);
95 test.stdout.expect(consumeThrough("running test")); 99 test.stdout.expect(consumeThrough("running test"));
96 signalAndQuit(test); 100 signalAndQuit(test);
97 101
98 d.file("output", "ran teardown").validate(); 102 d.file("output", "ran tearDown").validate();
103 d.file("output_all", "ran tearDownAll").validate();
99 expectTempDirEmpty(); 104 expectTempDirEmpty();
100 }); 105 });
101 106
107 test("waits for an active tearDownAll to finish running", () {
108 d.file("test.dart", """
109 import 'dart:async';
110 import 'dart:io';
111
112 import 'package:test/test.dart';
113
114 void main() {
115 tearDownAll(() async {
116 print("running tearDownAll");
117 await new Future.delayed(new Duration(seconds: 1));
118 new File("output").writeAsStringSync("ran tearDownAll");
119 });
120
121 test("test", () {});
122 }
123 """).create();
124
125 var test = _runTest(["test.dart"]);
126 test.stdout.expect(consumeThrough("running tearDownAll"));
127 signalAndQuit(test);
128
129 d.file("output", "ran tearDownAll").validate();
130 expectTempDirEmpty();
131 });
132
102 test("kills a browser test immediately", () { 133 test("kills a browser test immediately", () {
103 d.file("test.dart", """ 134 d.file("test.dart", """
104 import 'dart:async'; 135 import 'dart:async';
105 136
106 import 'package:test/test.dart'; 137 import 'package:test/test.dart';
107 138
108 void main() { 139 void main() {
109 test("test", () { 140 test("test", () {
110 print("running test"); 141 print("running test");
111 142
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 257
227 void signalAndQuit(ScheduledProcess test) { 258 void signalAndQuit(ScheduledProcess test) {
228 test.signal(ProcessSignal.SIGTERM); 259 test.signal(ProcessSignal.SIGTERM);
229 test.shouldExit(); 260 test.shouldExit();
230 test.stderr.expect(isDone); 261 test.stderr.expect(isDone);
231 } 262 }
232 263
233 void expectTempDirEmpty() { 264 void expectTempDirEmpty() {
234 schedule(() => expect(new Directory(_tempDir).listSync(), isEmpty)); 265 schedule(() => expect(new Directory(_tempDir).listSync(), isEmpty));
235 } 266 }
OLDNEW
« no previous file with comments | « test/runner/set_up_all_test.dart ('k') | test/runner/tear_down_all_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698