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

Side by Side Diff: pkg/testing/lib/src/run_tests.dart

Issue 2743423009: Run dartfmt on remaining unformated pkg packages (Closed)
Patch Set: Run dartfmt on remaining unformated pkg packages Created 3 years, 9 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 | « pkg/testing/lib/src/run.dart ('k') | pkg/testing/lib/src/stdio_process.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.md file. 3 // BSD-style license that can be found in the LICENSE.md file.
4 4
5 library testing.run_tests; 5 library testing.run_tests;
6 6
7 import 'dart:async' show 7 import 'dart:async' show Future;
8 Future;
9 8
10 import 'dart:io' show 9 import 'dart:io' show Directory, File, FileSystemEntity;
11 Directory,
12 File,
13 FileSystemEntity;
14 10
15 import 'dart:io' as io show 11 import 'dart:io' as io show exitCode;
16 exitCode;
17 12
18 import 'dart:isolate' show 13 import 'dart:isolate' show Isolate;
19 Isolate;
20 14
21 import 'error_handling.dart' show 15 import 'error_handling.dart' show withErrorHandling;
22 withErrorHandling;
23 16
24 import 'test_root.dart' show 17 import 'test_root.dart' show TestRoot;
25 TestRoot;
26 18
27 import 'zone_helper.dart' show 19 import 'zone_helper.dart' show runGuarded;
28 runGuarded;
29 20
30 import 'log.dart' show 21 import 'log.dart'
31 enableVerboseOutput, 22 show
32 isVerbose, 23 enableVerboseOutput,
33 logMessage, 24 isVerbose,
34 logSuiteComplete, 25 logMessage,
35 logTestComplete; 26 logSuiteComplete,
27 logTestComplete;
36 28
37 import 'run.dart' show 29 import 'run.dart' show SuiteRunner, runProgram;
38 SuiteRunner,
39 runProgram;
40 30
41 class CommandLine { 31 class CommandLine {
42 final Set<String> options; 32 final Set<String> options;
43 final List<String> arguments; 33 final List<String> arguments;
44 34
45 CommandLine(this.options, this.arguments); 35 CommandLine(this.options, this.arguments);
46 36
47 bool get verbose => options.contains("--verbose") || options.contains("-v"); 37 bool get verbose => options.contains("--verbose") || options.contains("-v");
48 38
49 Set<String> get skip => commaSeparated("--skip="); 39 Set<String> get skip => commaSeparated("--skip=");
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 return fail("Only one --config option is supported"); 80 return fail("Only one --config option is supported");
91 } 81 }
92 String configurationPath; 82 String configurationPath;
93 if (configurationPaths.length == 1) { 83 if (configurationPaths.length == 1) {
94 configurationPath = configurationPaths.single; 84 configurationPath = configurationPaths.single;
95 } else { 85 } else {
96 configurationPath = "testing.json"; 86 configurationPath = "testing.json";
97 if (!await new File(configurationPath).exists()) { 87 if (!await new File(configurationPath).exists()) {
98 Directory test = new Directory("test"); 88 Directory test = new Directory("test");
99 if (await test.exists()) { 89 if (await test.exists()) {
100 List<FileSystemEntity> candiates = 90 List<FileSystemEntity> candiates = await test
101 await test.list(recursive: true, followLinks: false) 91 .list(recursive: true, followLinks: false)
102 .where((FileSystemEntity entity) { 92 .where((FileSystemEntity entity) {
103 return entity is File && 93 return entity is File && entity.uri.path.endsWith("/testing.json");
104 entity.uri.path.endsWith("/testing.json"); 94 }).toList();
105 }).toList();
106 switch (candiates.length) { 95 switch (candiates.length) {
107 case 0: 96 case 0:
108 return fail("Couldn't locate: '$configurationPath'."); 97 return fail("Couldn't locate: '$configurationPath'.");
109 98
110 case 1: 99 case 1:
111 configurationPath = candiates.single.path; 100 configurationPath = candiates.single.path;
112 break; 101 break;
113 102
114 default: 103 default:
115 return fail( 104 return fail(
(...skipping 14 matching lines...) Expand all
130 return configuration; 119 return configuration;
131 } 120 }
132 121
133 static CommandLine parse(List<String> arguments) { 122 static CommandLine parse(List<String> arguments) {
134 int index = arguments.indexOf("--"); 123 int index = arguments.indexOf("--");
135 Set<String> options; 124 Set<String> options;
136 if (index != -1) { 125 if (index != -1) {
137 options = new Set<String>.from(arguments.getRange(0, index - 1)); 126 options = new Set<String>.from(arguments.getRange(0, index - 1));
138 arguments = arguments.sublist(index + 1); 127 arguments = arguments.sublist(index + 1);
139 } else { 128 } else {
140 options = 129 options = arguments.where((argument) => argument.startsWith("-")).toSet();
141 arguments.where((argument) => argument.startsWith("-")).toSet();
142 arguments = 130 arguments =
143 arguments.where((argument) => !argument.startsWith("-")).toList(); 131 arguments.where((argument) => !argument.startsWith("-")).toList();
144 } 132 }
145 return new CommandLine(options, arguments); 133 return new CommandLine(options, arguments);
146 } 134 }
147 } 135 }
148 136
149 fail(String message) { 137 fail(String message) {
150 print(message); 138 print(message);
151 io.exitCode = 1; 139 io.exitCode = 1;
152 return null; 140 return null;
153 } 141 }
154 142
155 main(List<String> arguments) => withErrorHandling(() async { 143 main(List<String> arguments) => withErrorHandling(() async {
156 CommandLine cl = CommandLine.parse(arguments); 144 CommandLine cl = CommandLine.parse(arguments);
157 if (cl.verbose) { 145 if (cl.verbose) {
158 enableVerboseOutput(); 146 enableVerboseOutput();
159 } 147 }
160 Map<String, String> environment = cl.environment; 148 Map<String, String> environment = cl.environment;
161 Uri configuration = await cl.configuration; 149 Uri configuration = await cl.configuration;
162 if (configuration == null) return; 150 if (configuration == null) return;
163 if (!isVerbose) { 151 if (!isVerbose) {
164 print("Use --verbose to display more details."); 152 print("Use --verbose to display more details.");
165 } 153 }
166 TestRoot root = await TestRoot.fromUri(configuration); 154 TestRoot root = await TestRoot.fromUri(configuration);
167 SuiteRunner runner = new SuiteRunner(root.suites, environment, cl.selectors, 155 SuiteRunner runner = new SuiteRunner(
168 cl.selectedSuites, cl.skip); 156 root.suites, environment, cl.selectors, cl.selectedSuites, cl.skip);
169 String program = await runner.generateDartProgram(); 157 String program = await runner.generateDartProgram();
170 bool hasAnalyzerSuites = await runner.analyze(root.packages); 158 bool hasAnalyzerSuites = await runner.analyze(root.packages);
171 Stopwatch sw = new Stopwatch()..start(); 159 Stopwatch sw = new Stopwatch()..start();
172 if (program == null) { 160 if (program == null) {
173 if (!hasAnalyzerSuites) { 161 if (!hasAnalyzerSuites) {
174 fail("No tests configured."); 162 fail("No tests configured.");
175 } 163 }
176 } else { 164 } else {
177 await runProgram(program, root.packages); 165 await runProgram(program, root.packages);
178 } 166 }
179 print("Running tests took: ${sw.elapsed}."); 167 print("Running tests took: ${sw.elapsed}.");
180 }); 168 });
181 169
182 Future<Null> runTests(Map<String, Function> tests) => 170 Future<Null> runTests(Map<String, Function> tests) =>
183 withErrorHandling(() async { 171 withErrorHandling(() async {
184 int completed = 0; 172 int completed = 0;
185 for (String name in tests.keys) { 173 for (String name in tests.keys) {
186 StringBuffer sb = new StringBuffer(); 174 StringBuffer sb = new StringBuffer();
187 try { 175 try {
188 await runGuarded(() { 176 await runGuarded(() {
189 print("Running test $name"); 177 print("Running test $name");
190 return tests[name](); 178 return tests[name]();
191 }, printLineOnStdout: sb.writeln); 179 }, printLineOnStdout: sb.writeln);
192 logMessage(sb); 180 logMessage(sb);
193 } catch (e) { 181 } catch (e) {
194 print(sb); 182 print(sb);
195 rethrow; 183 rethrow;
196 } 184 }
197 logTestComplete(++completed, 0, tests.length, null, null); 185 logTestComplete(++completed, 0, tests.length, null, null);
198 } 186 }
199 logSuiteComplete(); 187 logSuiteComplete();
200 }); 188 });
OLDNEW
« no previous file with comments | « pkg/testing/lib/src/run.dart ('k') | pkg/testing/lib/src/stdio_process.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698