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

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

Issue 1379203002: Refactor groups to pipe them through to the runner. (Closed) Base URL: git@github.com:dart-lang/test@master
Patch Set: Code review changes 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/engine_test.dart ('k') | test/runner/load_suite_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 @TestOn("vm") 5 @TestOn("vm")
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:isolate'; 8 import 'dart:isolate';
9 9
10 import 'package:test/src/backend/invoker.dart'; 10 import 'package:test/src/backend/invoker.dart';
(...skipping 20 matching lines...) Expand all
31 31
32 void main() { 32 void main() {
33 tearDown(() { 33 tearDown(() {
34 if (_isolate != null) _isolate.kill(); 34 if (_isolate != null) _isolate.kill();
35 _isolate = null; 35 _isolate = null;
36 36
37 if (_liveTest != null) _liveTest.close(); 37 if (_liveTest != null) _liveTest.close();
38 _liveTest = null; 38 _liveTest = null;
39 }); 39 });
40 40
41 test("sends a list of available tests on startup", () async { 41 test("sends a list of available tests and groups on startup", () async {
42 var response = await (await _spawnIsolate(_successfulTests)).first; 42 var response = await (await _spawnIsolate(_successfulTests)).first;
43 expect(response, containsPair("type", "success")); 43 expect(response, containsPair("type", "success"));
44 expect(response, contains("tests")); 44 expect(response, contains("entries"));
45 45
46 var tests = response["tests"]; 46 var tests = response["entries"];
47 expect(tests, hasLength(3)); 47 expect(tests, hasLength(3));
48 expect(tests[0], containsPair("name", "successful 1")); 48 expect(tests[0], containsPair("name", "successful 1"));
49 expect(tests[1], containsPair("name", "successful 2")); 49 expect(tests[1], containsPair("name", "successful 2"));
50 expect(tests[2], containsPair("name", "successful 3")); 50 expect(tests[2], containsPair("type", "group"));
51 expect(tests[2], containsPair("name", "successful"));
52 expect(tests[2], contains("entries"));
53 expect(tests[2]["entries"][0], containsPair("name", "successful 3"));
51 }); 54 });
52 55
53 test("waits for a returned future sending a response", () async { 56 test("waits for a returned future sending a response", () async {
54 var response = await (await _spawnIsolate(_asyncTests)).first; 57 var response = await (await _spawnIsolate(_asyncTests)).first;
55 expect(response, containsPair("type", "success")); 58 expect(response, containsPair("type", "success"));
56 expect(response, contains("tests")); 59 expect(response, contains("entries"));
57 60
58 var tests = response["tests"]; 61 var tests = response["entries"];
59 expect(tests, hasLength(3)); 62 expect(tests, hasLength(3));
60 expect(tests[0], containsPair("name", "successful 1")); 63 expect(tests[0], containsPair("name", "successful 1"));
61 expect(tests[1], containsPair("name", "successful 2")); 64 expect(tests[1], containsPair("name", "successful 2"));
62 expect(tests[2], containsPair("name", "successful 3")); 65 expect(tests[2], containsPair("name", "successful 3"));
63 }); 66 });
64 67
65 test("sends an error response if loading fails", () async { 68 test("sends an error response if loading fails", () async {
66 var response = await (await _spawnIsolate(_loadError)).first; 69 var response = await (await _spawnIsolate(_loadError)).first;
67 expect(response, containsPair("type", "error")); 70 expect(response, containsPair("type", "error"));
68 expect(response, contains("error")); 71 expect(response, contains("error"));
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
256 }); 259 });
257 } 260 }
258 261
259 /// Loads the first test defined in [entryPoint] in another isolate. 262 /// Loads the first test defined in [entryPoint] in another isolate.
260 /// 263 ///
261 /// This test will be automatically closed when the test is finished. 264 /// This test will be automatically closed when the test is finished.
262 Future<LiveTest> _isolateTest(void entryPoint(SendPort sendPort)) async { 265 Future<LiveTest> _isolateTest(void entryPoint(SendPort sendPort)) async {
263 var response = await (await _spawnIsolate(entryPoint)).first; 266 var response = await (await _spawnIsolate(entryPoint)).first;
264 expect(response, containsPair("type", "success")); 267 expect(response, containsPair("type", "success"));
265 268
266 var testMap = response["tests"].first; 269 var testMap = response["entries"].first;
270 expect(testMap, containsPair("type", "test"));
267 var metadata = new Metadata.deserialize(testMap["metadata"]); 271 var metadata = new Metadata.deserialize(testMap["metadata"]);
268 var test = new IsolateTest(testMap["name"], metadata, testMap["sendPort"]); 272 var test = new IsolateTest(testMap["name"], metadata, testMap["sendPort"]);
269 var suite = new Suite([test]); 273 var suite = new Suite([test]);
270 _liveTest = test.load(suite); 274 _liveTest = test.load(suite);
271 return _liveTest; 275 return _liveTest;
272 } 276 }
273 277
274 /// Spawns an isolate from [entryPoint], sends it a new [SendPort], and returns 278 /// Spawns an isolate from [entryPoint], sends it a new [SendPort], and returns
275 /// the corresponding [ReceivePort]. 279 /// the corresponding [ReceivePort].
276 /// 280 ///
(...skipping 24 matching lines...) Expand all
301 /// An isolate entrypoint that returns a function with the wrong arity. 305 /// An isolate entrypoint that returns a function with the wrong arity.
302 void _wrongArity(SendPort sendPort) { 306 void _wrongArity(SendPort sendPort) {
303 IsolateListener.start(sendPort, new Metadata(), () => (_) {}); 307 IsolateListener.start(sendPort, new Metadata(), () => (_) {});
304 } 308 }
305 309
306 /// An isolate entrypoint that defines three tests that succeed. 310 /// An isolate entrypoint that defines three tests that succeed.
307 void _successfulTests(SendPort sendPort) { 311 void _successfulTests(SendPort sendPort) {
308 IsolateListener.start(sendPort, new Metadata(), () => () { 312 IsolateListener.start(sendPort, new Metadata(), () => () {
309 test("successful 1", () {}); 313 test("successful 1", () {});
310 test("successful 2", () {}); 314 test("successful 2", () {});
311 test("successful 3", () {}); 315 group("successful", () => test("3", () {}));
312 }); 316 });
313 } 317 }
314 318
315 /// An isolate entrypoint that defines three tests asynchronously. 319 /// An isolate entrypoint that defines three tests asynchronously.
316 void _asyncTests(SendPort sendPort) { 320 void _asyncTests(SendPort sendPort) {
317 IsolateListener.start(sendPort, new Metadata(), () => () { 321 IsolateListener.start(sendPort, new Metadata(), () => () {
318 return new Future(() { 322 return new Future(() {
319 test("successful 1", () {}); 323 test("successful 1", () {});
320 324
321 return new Future(() { 325 return new Future(() {
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
394 /// An isolate entrypoint that defines a test that prints twice. 398 /// An isolate entrypoint that defines a test that prints twice.
395 void _printTest(SendPort sendPort) { 399 void _printTest(SendPort sendPort) {
396 IsolateListener.start(sendPort, new Metadata(), () => () { 400 IsolateListener.start(sendPort, new Metadata(), () => () {
397 test("prints", () { 401 test("prints", () {
398 print("Hello,"); 402 print("Hello,");
399 return new Future(() => print("world!")); 403 return new Future(() => print("world!"));
400 }); 404 });
401 }); 405 });
402 } 406 }
403 407
OLDNEW
« no previous file with comments | « test/runner/engine_test.dart ('k') | test/runner/load_suite_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698