OLD | NEW |
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/platform_selector.dart'; |
12 import 'package:test/src/backend/test_platform.dart'; | 12 import 'package:test/src/backend/test_platform.dart'; |
13 import 'package:test/src/runner/configuration.dart'; | 13 import 'package:test/src/runner/configuration.dart'; |
14 import 'package:test/src/runner/configuration/values.dart'; | 14 import 'package:test/src/runner/configuration/values.dart'; |
15 import 'package:test/src/util/io.dart'; | 15 import 'package:test/src/util/io.dart'; |
16 | 16 |
17 void main() { | 17 void main() { |
18 group("merge", () { | 18 group("merge", () { |
19 group("for most fields", () { | 19 group("for most fields", () { |
20 test("if neither is defined, preserves the default", () { | 20 test("if neither is defined, preserves the default", () { |
21 var merged = new Configuration().merge(new Configuration()); | 21 var merged = new Configuration().merge(new Configuration()); |
22 expect(merged.help, isFalse); | 22 expect(merged.help, isFalse); |
23 expect(merged.version, isFalse); | 23 expect(merged.version, isFalse); |
24 expect(merged.verboseTrace, isFalse); | 24 expect(merged.verboseTrace, isFalse); |
25 expect(merged.jsTrace, isFalse); | 25 expect(merged.jsTrace, isFalse); |
26 expect(merged.skip, isFalse); | 26 expect(merged.skip, isFalse); |
27 expect(merged.skipReason, isNull); | 27 expect(merged.skipReason, isNull); |
| 28 expect(merged.runSkipped, isFalse); |
28 expect(merged.pauseAfterLoad, isFalse); | 29 expect(merged.pauseAfterLoad, isFalse); |
29 expect(merged.color, equals(canUseSpecialChars)); | 30 expect(merged.color, equals(canUseSpecialChars)); |
30 expect(merged.shardIndex, isNull); | 31 expect(merged.shardIndex, isNull); |
31 expect(merged.totalShards, isNull); | 32 expect(merged.totalShards, isNull); |
32 expect(merged.packageRoot, equals(p.join(p.current, 'packages'))); | 33 expect(merged.packageRoot, equals(p.join(p.current, 'packages'))); |
33 expect(merged.dart2jsPath, equals(p.join(sdkDir, 'bin', 'dart2js'))); | 34 expect(merged.dart2jsPath, equals(p.join(sdkDir, 'bin', 'dart2js'))); |
34 expect(merged.precompiledPath, isNull); | 35 expect(merged.precompiledPath, isNull); |
35 expect(merged.reporter, equals(defaultReporter)); | 36 expect(merged.reporter, equals(defaultReporter)); |
36 expect(merged.pubServeUrl, isNull); | 37 expect(merged.pubServeUrl, isNull); |
37 expect(merged.platforms, equals([TestPlatform.vm])); | 38 expect(merged.platforms, equals([TestPlatform.vm])); |
38 expect(merged.paths, equals(["test"])); | 39 expect(merged.paths, equals(["test"])); |
39 }); | 40 }); |
40 | 41 |
41 test("if only the old configuration's is defined, uses it", () { | 42 test("if only the old configuration's is defined, uses it", () { |
42 var merged = new Configuration( | 43 var merged = new Configuration( |
43 help: true, | 44 help: true, |
44 version: true, | 45 version: true, |
45 verboseTrace: true, | 46 verboseTrace: true, |
46 jsTrace: true, | 47 jsTrace: true, |
47 skip: true, | 48 skip: true, |
48 skipReason: "boop", | 49 skipReason: "boop", |
| 50 runSkipped: true, |
49 pauseAfterLoad: true, | 51 pauseAfterLoad: true, |
50 color: true, | 52 color: true, |
51 shardIndex: 3, | 53 shardIndex: 3, |
52 totalShards: 10, | 54 totalShards: 10, |
53 packageRoot: "root", | 55 packageRoot: "root", |
54 dart2jsPath: "/tmp/dart2js", | 56 dart2jsPath: "/tmp/dart2js", |
55 precompiledPath: "/tmp/js", | 57 precompiledPath: "/tmp/js", |
56 reporter: "json", | 58 reporter: "json", |
57 pubServePort: 1234, | 59 pubServePort: 1234, |
58 platforms: [TestPlatform.chrome], | 60 platforms: [TestPlatform.chrome], |
59 paths: ["bar"]) | 61 paths: ["bar"]) |
60 .merge(new Configuration()); | 62 .merge(new Configuration()); |
61 | 63 |
62 expect(merged.help, isTrue); | 64 expect(merged.help, isTrue); |
63 expect(merged.version, isTrue); | 65 expect(merged.version, isTrue); |
64 expect(merged.verboseTrace, isTrue); | 66 expect(merged.verboseTrace, isTrue); |
65 expect(merged.jsTrace, isTrue); | 67 expect(merged.jsTrace, isTrue); |
66 expect(merged.skip, isTrue); | 68 expect(merged.skip, isTrue); |
67 expect(merged.skipReason, equals("boop")); | 69 expect(merged.skipReason, equals("boop")); |
| 70 expect(merged.runSkipped, isTrue); |
68 expect(merged.pauseAfterLoad, isTrue); | 71 expect(merged.pauseAfterLoad, isTrue); |
69 expect(merged.color, isTrue); | 72 expect(merged.color, isTrue); |
70 expect(merged.shardIndex, equals(3)); | 73 expect(merged.shardIndex, equals(3)); |
71 expect(merged.totalShards, equals(10)); | 74 expect(merged.totalShards, equals(10)); |
72 expect(merged.packageRoot, equals("root")); | 75 expect(merged.packageRoot, equals("root")); |
73 expect(merged.dart2jsPath, equals("/tmp/dart2js")); | 76 expect(merged.dart2jsPath, equals("/tmp/dart2js")); |
74 expect(merged.precompiledPath, equals("/tmp/js")); | 77 expect(merged.precompiledPath, equals("/tmp/js")); |
75 expect(merged.reporter, equals("json")); | 78 expect(merged.reporter, equals("json")); |
76 expect(merged.pubServeUrl.port, equals(1234)); | 79 expect(merged.pubServeUrl.port, equals(1234)); |
77 expect(merged.platforms, equals([TestPlatform.chrome])); | 80 expect(merged.platforms, equals([TestPlatform.chrome])); |
78 expect(merged.paths, equals(["bar"])); | 81 expect(merged.paths, equals(["bar"])); |
79 }); | 82 }); |
80 | 83 |
81 test("if only the new configuration's is defined, uses it", () { | 84 test("if only the new configuration's is defined, uses it", () { |
82 var merged = new Configuration().merge(new Configuration( | 85 var merged = new Configuration().merge(new Configuration( |
83 help: true, | 86 help: true, |
84 version: true, | 87 version: true, |
85 verboseTrace: true, | 88 verboseTrace: true, |
86 jsTrace: true, | 89 jsTrace: true, |
87 skip: true, | 90 skip: true, |
88 skipReason: "boop", | 91 skipReason: "boop", |
| 92 runSkipped: true, |
89 pauseAfterLoad: true, | 93 pauseAfterLoad: true, |
90 color: true, | 94 color: true, |
91 shardIndex: 3, | 95 shardIndex: 3, |
92 totalShards: 10, | 96 totalShards: 10, |
93 packageRoot: "root", | 97 packageRoot: "root", |
94 dart2jsPath: "/tmp/dart2js", | 98 dart2jsPath: "/tmp/dart2js", |
95 precompiledPath: "/tmp/js", | 99 precompiledPath: "/tmp/js", |
96 reporter: "json", | 100 reporter: "json", |
97 pubServePort: 1234, | 101 pubServePort: 1234, |
98 platforms: [TestPlatform.chrome], | 102 platforms: [TestPlatform.chrome], |
99 paths: ["bar"])); | 103 paths: ["bar"])); |
100 | 104 |
101 expect(merged.help, isTrue); | 105 expect(merged.help, isTrue); |
102 expect(merged.version, isTrue); | 106 expect(merged.version, isTrue); |
103 expect(merged.verboseTrace, isTrue); | 107 expect(merged.verboseTrace, isTrue); |
104 expect(merged.jsTrace, isTrue); | 108 expect(merged.jsTrace, isTrue); |
105 expect(merged.skip, isTrue); | 109 expect(merged.skip, isTrue); |
106 expect(merged.skipReason, equals("boop")); | 110 expect(merged.skipReason, equals("boop")); |
| 111 expect(merged.runSkipped, isTrue); |
107 expect(merged.pauseAfterLoad, isTrue); | 112 expect(merged.pauseAfterLoad, isTrue); |
108 expect(merged.color, isTrue); | 113 expect(merged.color, isTrue); |
109 expect(merged.shardIndex, equals(3)); | 114 expect(merged.shardIndex, equals(3)); |
110 expect(merged.totalShards, equals(10)); | 115 expect(merged.totalShards, equals(10)); |
111 expect(merged.packageRoot, equals("root")); | 116 expect(merged.packageRoot, equals("root")); |
112 expect(merged.dart2jsPath, equals("/tmp/dart2js")); | 117 expect(merged.dart2jsPath, equals("/tmp/dart2js")); |
113 expect(merged.precompiledPath, equals("/tmp/js")); | 118 expect(merged.precompiledPath, equals("/tmp/js")); |
114 expect(merged.reporter, equals("json")); | 119 expect(merged.reporter, equals("json")); |
115 expect(merged.pubServeUrl.port, equals(1234)); | 120 expect(merged.pubServeUrl.port, equals(1234)); |
116 expect(merged.platforms, equals([TestPlatform.chrome])); | 121 expect(merged.platforms, equals([TestPlatform.chrome])); |
117 expect(merged.paths, equals(["bar"])); | 122 expect(merged.paths, equals(["bar"])); |
118 }); | 123 }); |
119 | 124 |
120 test("if the two configurations conflict, uses the new configuration's " | 125 test("if the two configurations conflict, uses the new configuration's " |
121 "values", () { | 126 "values", () { |
122 var older = new Configuration( | 127 var older = new Configuration( |
123 help: true, | 128 help: true, |
124 version: false, | 129 version: false, |
125 verboseTrace: true, | 130 verboseTrace: true, |
126 jsTrace: false, | 131 jsTrace: false, |
127 skip: true, | 132 skip: true, |
128 skipReason: "foo", | 133 skipReason: "foo", |
| 134 runSkipped: true, |
129 pauseAfterLoad: true, | 135 pauseAfterLoad: true, |
130 color: false, | 136 color: false, |
131 shardIndex: 2, | 137 shardIndex: 2, |
132 totalShards: 4, | 138 totalShards: 4, |
133 packageRoot: "root", | 139 packageRoot: "root", |
134 dart2jsPath: "/tmp/dart2js", | 140 dart2jsPath: "/tmp/dart2js", |
135 precompiledPath: "/tmp/js", | 141 precompiledPath: "/tmp/js", |
136 reporter: "json", | 142 reporter: "json", |
137 pubServePort: 1234, | 143 pubServePort: 1234, |
138 platforms: [TestPlatform.chrome], | 144 platforms: [TestPlatform.chrome], |
139 paths: ["bar"]); | 145 paths: ["bar"]); |
140 var newer = new Configuration( | 146 var newer = new Configuration( |
141 help: false, | 147 help: false, |
142 version: true, | 148 version: true, |
143 verboseTrace: false, | 149 verboseTrace: false, |
144 jsTrace: true, | 150 jsTrace: true, |
145 skip: true, | 151 skip: true, |
146 skipReason: "bar", | 152 skipReason: "bar", |
| 153 runSkipped: false, |
147 pauseAfterLoad: false, | 154 pauseAfterLoad: false, |
148 color: true, | 155 color: true, |
149 shardIndex: 3, | 156 shardIndex: 3, |
150 totalShards: 10, | 157 totalShards: 10, |
151 packageRoot: "boot", | 158 packageRoot: "boot", |
152 dart2jsPath: "../dart2js", | 159 dart2jsPath: "../dart2js", |
153 precompiledPath: "../js", | 160 precompiledPath: "../js", |
154 reporter: "compact", | 161 reporter: "compact", |
155 pubServePort: 5678, | 162 pubServePort: 5678, |
156 platforms: [TestPlatform.dartium], | 163 platforms: [TestPlatform.dartium], |
157 paths: ["blech"]); | 164 paths: ["blech"]); |
158 var merged = older.merge(newer); | 165 var merged = older.merge(newer); |
159 | 166 |
160 expect(merged.help, isFalse); | 167 expect(merged.help, isFalse); |
161 expect(merged.version, isTrue); | 168 expect(merged.version, isTrue); |
162 expect(merged.verboseTrace, isFalse); | 169 expect(merged.verboseTrace, isFalse); |
163 expect(merged.jsTrace, isTrue); | 170 expect(merged.jsTrace, isTrue); |
164 expect(merged.skipReason, equals("bar")); | 171 expect(merged.skipReason, equals("bar")); |
| 172 expect(merged.runSkipped, isFalse); |
165 expect(merged.pauseAfterLoad, isFalse); | 173 expect(merged.pauseAfterLoad, isFalse); |
166 expect(merged.color, isTrue); | 174 expect(merged.color, isTrue); |
167 expect(merged.shardIndex, equals(3)); | 175 expect(merged.shardIndex, equals(3)); |
168 expect(merged.totalShards, equals(10)); | 176 expect(merged.totalShards, equals(10)); |
169 expect(merged.packageRoot, equals("boot")); | 177 expect(merged.packageRoot, equals("boot")); |
170 expect(merged.dart2jsPath, equals("../dart2js")); | 178 expect(merged.dart2jsPath, equals("../dart2js")); |
171 expect(merged.precompiledPath, equals("../js")); | 179 expect(merged.precompiledPath, equals("../js")); |
172 expect(merged.reporter, equals("compact")); | 180 expect(merged.reporter, equals("compact")); |
173 expect(merged.pubServeUrl.port, equals(5678)); | 181 expect(merged.pubServeUrl.port, equals(5678)); |
174 expect(merged.platforms, equals([TestPlatform.dartium])); | 182 expect(merged.platforms, equals([TestPlatform.dartium])); |
(...skipping 301 matching lines...) Loading... |
476 .merge(new Configuration()); | 484 .merge(new Configuration()); |
477 | 485 |
478 expect(configuration.presets, isEmpty); | 486 expect(configuration.presets, isEmpty); |
479 expect(configuration.chosenPresets, equals(["foo"])); | 487 expect(configuration.chosenPresets, equals(["foo"])); |
480 expect(configuration.knownPresets, equals(["foo"])); | 488 expect(configuration.knownPresets, equals(["foo"])); |
481 expect(configuration.verboseTrace, isTrue); | 489 expect(configuration.verboseTrace, isTrue); |
482 }); | 490 }); |
483 }); | 491 }); |
484 }); | 492 }); |
485 } | 493 } |
OLD | NEW |