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

Side by Side Diff: pkg/unittest/test/async_setup_teardown_test.dart

Issue 524153002: Sharing metatest logic between unittest and scheduled_test (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: status fixes Created 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 library unittestTest; 5 library unittest.async_setup_teardown;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:isolate';
9 8
9 import 'package:metatest/metatest.dart';
10 import 'package:unittest/unittest.dart'; 10 import 'package:unittest/unittest.dart';
11 11
12 part 'utils.dart'; 12 void main() => initTests(_test);
13 13
14 var testName = 'async setup teardown test'; 14 void _test(message) {
15 initMetatest(message);
15 16
16 var testFunction = (_) { 17 expectTestsPass('good setup/good teardown', () {
17 group('good setup/good teardown', () {
18 setUp(() { 18 setUp(() {
19 return new Future.value(0); 19 return new Future.value(0);
20 }); 20 });
21 tearDown(() { 21 tearDown(() {
22 return new Future.value(0); 22 return new Future.value(0);
23 }); 23 });
24 test('foo1', () {}); 24 test('foo1', () {});
25 }); 25 });
26 group('good setup/bad teardown', () { 26
27 expectTestResults('good setup/bad teardown', () {
27 setUp(() { 28 setUp(() {
28 return new Future.value(0); 29 return new Future.value(0);
29 }); 30 });
30 tearDown(() { 31 tearDown(() {
31 return new Future.error("Failed to complete tearDown"); 32 return new Future.error("Failed to complete tearDown");
32 }); 33 });
33 test('foo2', () {}); 34 test('foo2', () {});
34 }); 35 }, [{
35 group('bad setup/good teardown', () { 36 'result': 'error',
37 'message': 'Teardown failed: Caught Failed to complete tearDown'
38 }]);
39
40 expectTestResults('bad setup/good teardown', () {
36 setUp(() { 41 setUp(() {
37 return new Future.error("Failed to complete setUp"); 42 return new Future.error("Failed to complete setUp");
38 }); 43 });
39 tearDown(() { 44 tearDown(() {
40 return new Future.value(0); 45 return new Future.value(0);
41 }); 46 });
42 test('foo3', () {}); 47 test('foo3', () {});
43 }); 48 }, [{
44 group('bad setup/bad teardown', () { 49 'result': 'error',
50 'message': 'Setup failed: Caught Failed to complete setUp'
51 }]);
52
53 expectTestResults('bad setup/bad teardown', () {
45 setUp(() { 54 setUp(() {
46 return new Future.error("Failed to complete setUp"); 55 return new Future.error("Failed to complete setUp");
47 }); 56 });
48 tearDown(() { 57 tearDown(() {
49 return new Future.error("Failed to complete tearDown"); 58 return new Future.error("Failed to complete tearDown");
50 }); 59 });
51 test('foo4', () {}); 60 test('foo4', () {});
52 }); 61 }, [{
53 // The next test is just to make sure we make steady progress 62 'result': 'error',
54 // through the tests. 63 'message': 'Setup failed: Caught Failed to complete setUp'
55 test('post groups', () {}); 64 }]);
56 }; 65 }
57
58 final expected = buildStatusString(2, 0, 3,
59 'good setup/good teardown foo1::'
60 'good setup/bad teardown foo2:'
61 'Teardown failed: Caught Failed to complete tearDown:'
62 'bad setup/good teardown foo3:'
63 'Setup failed: Caught Failed to complete setUp:'
64 'bad setup/bad teardown foo4:'
65 'Setup failed: Caught Failed to complete setUp:'
66 'post groups');
OLDNEW
« no previous file with comments | « pkg/unittest/test/async_exception_with_future_test.dart ('k') | pkg/unittest/test/breath_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698