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

Side by Side Diff: test/runner/configuration/configuration_test.dart

Issue 1717533002: Add new test configuration fields. (Closed) Base URL: git@github.com:dart-lang/test@master
Patch Set: Created 4 years, 10 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 | « lib/src/runner/configuration/load.dart ('k') | test/runner/configuration/top_level_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) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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 'package:boolean_selector/boolean_selector.dart'; 7 import 'package:boolean_selector/boolean_selector.dart';
8 import 'package:path/path.dart' as p; 8 import 'package:path/path.dart' as p;
9 import 'package:test/test.dart'; 9 import 'package:test/test.dart';
10 10
11 import 'package:test/src/backend/platform_selector.dart';
11 import 'package:test/src/backend/test_platform.dart'; 12 import 'package:test/src/backend/test_platform.dart';
12 import 'package:test/src/runner/configuration.dart'; 13 import 'package:test/src/runner/configuration.dart';
13 import 'package:test/src/runner/configuration/values.dart'; 14 import 'package:test/src/runner/configuration/values.dart';
14 import 'package:test/src/util/io.dart'; 15 import 'package:test/src/util/io.dart';
15 16
16 void main() { 17 void main() {
17 group("merge", () { 18 group("merge", () {
18 group("for most fields", () { 19 group("for most fields", () {
19 test("if neither is defined, preserves the default", () { 20 test("if neither is defined, preserves the default", () {
20 var merged = new Configuration().merge(new Configuration()); 21 var merged = new Configuration().merge(new Configuration());
21 expect(merged.help, isFalse); 22 expect(merged.help, isFalse);
22 expect(merged.version, isFalse); 23 expect(merged.version, isFalse);
23 expect(merged.verboseTrace, isFalse); 24 expect(merged.verboseTrace, isFalse);
24 expect(merged.jsTrace, isFalse); 25 expect(merged.jsTrace, isFalse);
26 expect(merged.skip, isFalse);
27 expect(merged.skipReason, isNull);
25 expect(merged.pauseAfterLoad, isFalse); 28 expect(merged.pauseAfterLoad, isFalse);
26 expect(merged.color, equals(canUseSpecialChars)); 29 expect(merged.color, equals(canUseSpecialChars));
27 expect(merged.packageRoot, equals(p.join(p.current, 'packages'))); 30 expect(merged.packageRoot, equals(p.join(p.current, 'packages')));
28 expect(merged.reporter, equals(defaultReporter)); 31 expect(merged.reporter, equals(defaultReporter));
29 expect(merged.pubServeUrl, isNull); 32 expect(merged.pubServeUrl, isNull);
30 expect(merged.pattern, isNull); 33 expect(merged.pattern, isNull);
31 expect(merged.platforms, equals([TestPlatform.vm])); 34 expect(merged.platforms, equals([TestPlatform.vm]));
32 expect(merged.paths, equals(["test"])); 35 expect(merged.paths, equals(["test"]));
33 }); 36 });
34 37
35 test("if only the old configuration's is defined, uses it", () { 38 test("if only the old configuration's is defined, uses it", () {
36 var merged = new Configuration( 39 var merged = new Configuration(
37 help: true, 40 help: true,
38 version: true, 41 version: true,
39 verboseTrace: true, 42 verboseTrace: true,
40 jsTrace: true, 43 jsTrace: true,
44 skip: true,
45 skipReason: "boop",
41 pauseAfterLoad: true, 46 pauseAfterLoad: true,
42 color: true, 47 color: true,
43 packageRoot: "root", 48 packageRoot: "root",
44 reporter: "json", 49 reporter: "json",
45 pubServePort: 1234, 50 pubServePort: 1234,
46 pattern: "foo", 51 pattern: "foo",
47 platforms: [TestPlatform.chrome], 52 platforms: [TestPlatform.chrome],
48 paths: ["bar"]) 53 paths: ["bar"])
49 .merge(new Configuration()); 54 .merge(new Configuration());
50 55
51 expect(merged.help, isTrue); 56 expect(merged.help, isTrue);
52 expect(merged.version, isTrue); 57 expect(merged.version, isTrue);
53 expect(merged.verboseTrace, isTrue); 58 expect(merged.verboseTrace, isTrue);
54 expect(merged.jsTrace, isTrue); 59 expect(merged.jsTrace, isTrue);
60 expect(merged.skip, isTrue);
61 expect(merged.skipReason, equals("boop"));
55 expect(merged.pauseAfterLoad, isTrue); 62 expect(merged.pauseAfterLoad, isTrue);
56 expect(merged.color, isTrue); 63 expect(merged.color, isTrue);
57 expect(merged.packageRoot, equals("root")); 64 expect(merged.packageRoot, equals("root"));
58 expect(merged.reporter, equals("json")); 65 expect(merged.reporter, equals("json"));
59 expect(merged.pubServeUrl.port, equals(1234)); 66 expect(merged.pubServeUrl.port, equals(1234));
60 expect(merged.pattern, equals("foo")); 67 expect(merged.pattern, equals("foo"));
61 expect(merged.platforms, equals([TestPlatform.chrome])); 68 expect(merged.platforms, equals([TestPlatform.chrome]));
62 expect(merged.paths, equals(["bar"])); 69 expect(merged.paths, equals(["bar"]));
63 }); 70 });
64 71
65 test("if only the new configuration's is defined, uses it", () { 72 test("if only the new configuration's is defined, uses it", () {
66 var merged = new Configuration().merge(new Configuration( 73 var merged = new Configuration().merge(new Configuration(
67 help: true, 74 help: true,
68 version: true, 75 version: true,
69 verboseTrace: true, 76 verboseTrace: true,
70 jsTrace: true, 77 jsTrace: true,
78 skip: true,
79 skipReason: "boop",
71 pauseAfterLoad: true, 80 pauseAfterLoad: true,
72 color: true, 81 color: true,
73 packageRoot: "root", 82 packageRoot: "root",
74 reporter: "json", 83 reporter: "json",
75 pubServePort: 1234, 84 pubServePort: 1234,
76 pattern: "foo", 85 pattern: "foo",
77 platforms: [TestPlatform.chrome], 86 platforms: [TestPlatform.chrome],
78 paths: ["bar"])); 87 paths: ["bar"]));
79 88
80 expect(merged.help, isTrue); 89 expect(merged.help, isTrue);
81 expect(merged.version, isTrue); 90 expect(merged.version, isTrue);
82 expect(merged.verboseTrace, isTrue); 91 expect(merged.verboseTrace, isTrue);
83 expect(merged.jsTrace, isTrue); 92 expect(merged.jsTrace, isTrue);
93 expect(merged.skip, isTrue);
94 expect(merged.skipReason, equals("boop"));
84 expect(merged.pauseAfterLoad, isTrue); 95 expect(merged.pauseAfterLoad, isTrue);
85 expect(merged.color, isTrue); 96 expect(merged.color, isTrue);
86 expect(merged.packageRoot, equals("root")); 97 expect(merged.packageRoot, equals("root"));
87 expect(merged.reporter, equals("json")); 98 expect(merged.reporter, equals("json"));
88 expect(merged.pubServeUrl.port, equals(1234)); 99 expect(merged.pubServeUrl.port, equals(1234));
89 expect(merged.pattern, equals("foo")); 100 expect(merged.pattern, equals("foo"));
90 expect(merged.platforms, equals([TestPlatform.chrome])); 101 expect(merged.platforms, equals([TestPlatform.chrome]));
91 expect(merged.paths, equals(["bar"])); 102 expect(merged.paths, equals(["bar"]));
92 }); 103 });
93 104
94 test("if the two configurations conflict, uses the new configuration's " 105 test("if the two configurations conflict, uses the new configuration's "
95 "values", () { 106 "values", () {
96 var older = new Configuration( 107 var older = new Configuration(
97 help: true, 108 help: true,
98 version: false, 109 version: false,
99 verboseTrace: true, 110 verboseTrace: true,
100 jsTrace: false, 111 jsTrace: false,
112 skip: true,
113 skipReason: "foo",
101 pauseAfterLoad: true, 114 pauseAfterLoad: true,
102 color: false, 115 color: false,
103 packageRoot: "root", 116 packageRoot: "root",
104 reporter: "json", 117 reporter: "json",
105 pubServePort: 1234, 118 pubServePort: 1234,
106 pattern: "foo", 119 pattern: "foo",
107 platforms: [TestPlatform.chrome], 120 platforms: [TestPlatform.chrome],
108 paths: ["bar"]); 121 paths: ["bar"]);
109 var newer = new Configuration( 122 var newer = new Configuration(
110 help: false, 123 help: false,
111 version: true, 124 version: true,
112 verboseTrace: false, 125 verboseTrace: false,
113 jsTrace: true, 126 jsTrace: true,
127 skip: true,
128 skipReason: "bar",
114 pauseAfterLoad: false, 129 pauseAfterLoad: false,
115 color: true, 130 color: true,
116 packageRoot: "boot", 131 packageRoot: "boot",
117 reporter: "compact", 132 reporter: "compact",
118 pubServePort: 5678, 133 pubServePort: 5678,
119 pattern: "gonk", 134 pattern: "gonk",
120 platforms: [TestPlatform.dartium], 135 platforms: [TestPlatform.dartium],
121 paths: ["blech"]); 136 paths: ["blech"]);
122 var merged = older.merge(newer); 137 var merged = older.merge(newer);
123 138
124 expect(merged.help, isFalse); 139 expect(merged.help, isFalse);
125 expect(merged.version, isTrue); 140 expect(merged.version, isTrue);
126 expect(merged.verboseTrace, isFalse); 141 expect(merged.verboseTrace, isFalse);
127 expect(merged.jsTrace, isTrue); 142 expect(merged.jsTrace, isTrue);
143 expect(merged.skipReason, equals("bar"));
128 expect(merged.pauseAfterLoad, isFalse); 144 expect(merged.pauseAfterLoad, isFalse);
129 expect(merged.color, isTrue); 145 expect(merged.color, isTrue);
130 expect(merged.packageRoot, equals("boot")); 146 expect(merged.packageRoot, equals("boot"));
131 expect(merged.reporter, equals("compact")); 147 expect(merged.reporter, equals("compact"));
132 expect(merged.pubServeUrl.port, equals(5678)); 148 expect(merged.pubServeUrl.port, equals(5678));
133 expect(merged.pattern, equals("gonk")); 149 expect(merged.pattern, equals("gonk"));
134 expect(merged.platforms, equals([TestPlatform.dartium])); 150 expect(merged.platforms, equals([TestPlatform.dartium]));
135 expect(merged.paths, equals(["blech"])); 151 expect(merged.paths, equals(["blech"]));
136 }); 152 });
137 }); 153 });
138 154
155 group("for testOn", () {
156 test("if neither is defined, preserves the default", () {
157 var merged = new Configuration().merge(new Configuration());
158 expect(merged.testOn, equals(PlatformSelector.all));
159 });
160
161 test("if only the old configuration's is defined, uses it", () {
162 var merged = new Configuration(
163 testOn: new PlatformSelector.parse("chrome"))
164 .merge(new Configuration());
165 expect(merged.testOn, equals(new PlatformSelector.parse("chrome")));
166 });
167
168 test("if only the new configuration's is defined, uses it", () {
169 var merged = new Configuration()
170 .merge(new Configuration(
171 testOn: new PlatformSelector.parse("chrome")));
172 expect(merged.testOn, equals(new PlatformSelector.parse("chrome")));
173 });
174
175 test("if both are defined, intersects them", () {
176 var older = new Configuration(
177 testOn: new PlatformSelector.parse("vm"));
178 var newer = new Configuration(
179 testOn: new PlatformSelector.parse("linux"));
180 var merged = older.merge(newer);
181 expect(merged.testOn,
182 equals(new PlatformSelector.parse("vm && linux")));
183 });
184 });
185
139 group("for tags", () { 186 group("for tags", () {
140 test("if neither is defined, preserves the default", () { 187 test("if neither is defined, preserves the default", () {
141 var merged = new Configuration().merge(new Configuration()); 188 var merged = new Configuration().merge(new Configuration());
142 expect(merged.includeTags, equals(BooleanSelector.all)); 189 expect(merged.includeTags, equals(BooleanSelector.all));
143 expect(merged.excludeTags, equals(BooleanSelector.none)); 190 expect(merged.excludeTags, equals(BooleanSelector.none));
144 }); 191 });
145 192
146 test("if only the old configuration's is defined, uses it", () { 193 test("if only the old configuration's is defined, uses it", () {
147 var merged = new Configuration( 194 var merged = new Configuration(
148 includeTags: new BooleanSelector.parse("foo || bar"), 195 includeTags: new BooleanSelector.parse("foo || bar"),
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
211 var older = new Configuration( 258 var older = new Configuration(
212 timeout: new Timeout(new Duration(seconds: 1))); 259 timeout: new Timeout(new Duration(seconds: 1)));
213 var newer = new Configuration( 260 var newer = new Configuration(
214 timeout: new Timeout(new Duration(seconds: 2))); 261 timeout: new Timeout(new Duration(seconds: 2)));
215 var merged = older.merge(newer); 262 var merged = older.merge(newer);
216 expect(merged.timeout, equals(new Timeout(new Duration(seconds: 2)))); 263 expect(merged.timeout, equals(new Timeout(new Duration(seconds: 2))));
217 }); 264 });
218 }); 265 });
219 }); 266 });
220 } 267 }
OLDNEW
« no previous file with comments | « lib/src/runner/configuration/load.dart ('k') | test/runner/configuration/top_level_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698