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.md file. | 3 // BSD-style license that can be found in the LICENSE.md file. |
4 | 4 |
5 library fasta.run; | 5 library fasta.run; |
6 | 6 |
7 import 'dart:async' show | 7 import 'dart:async' show |
8 Future; | 8 Future; |
9 | 9 |
10 import 'dart:io' show | 10 import 'dart:io' show |
11 stdout; | 11 stdout; |
12 | 12 |
13 import 'package:testing/testing.dart' show | 13 import 'package:testing/testing.dart' show |
14 StdioProcess; | 14 StdioProcess; |
15 | 15 |
16 import 'testing/kernel_chain.dart' show | 16 import 'testing/kernel_chain.dart' show |
17 TestContext; | 17 computeDartVm, |
| 18 computePatchedSdk; |
18 | 19 |
19 import 'compiler_command_line.dart' show | 20 import 'compiler_command_line.dart' show |
20 CompilerCommandLine; | 21 CompilerCommandLine; |
21 | 22 |
22 Future<int> run(Uri uri, CompilerCommandLine cl) async { | 23 Future<int> run(Uri uri, CompilerCommandLine cl) async { |
23 Uri dartVm; | 24 Uri sdk = await computePatchedSdk(); |
24 | 25 Uri dartVm = computeDartVm(sdk); |
25 Future<TestContext> constructor( | |
26 suite, Map<String, String> environment, String sdk, Uri vm, | |
27 Uri packages, bool strongMode, dartSdk, bool updateExpectations) { | |
28 dartVm = vm; | |
29 return null; | |
30 } | |
31 // TODO(ahe): Using [TestContext] to compute a value for [dartVm]. Make the | |
32 // API simpler. | |
33 await TestContext.create(null, <String, String>{}, constructor); | |
34 List<String> arguments = <String>["${uri.toFilePath()}"] | 26 List<String> arguments = <String>["${uri.toFilePath()}"] |
35 ..addAll(cl.arguments.skip(1)); | 27 ..addAll(cl.arguments.skip(1)); |
36 if (cl.verbose) { | 28 if (cl.verbose) { |
37 print("Running ${dartVm.toFilePath()} ${arguments.join(' ')}"); | 29 print("Running ${dartVm.toFilePath()} ${arguments.join(' ')}"); |
38 } | 30 } |
39 StdioProcess result = await StdioProcess.run(dartVm.toFilePath(), arguments); | 31 StdioProcess result = await StdioProcess.run(dartVm.toFilePath(), arguments); |
40 stdout.write(result.output); | 32 stdout.write(result.output); |
41 return result.exitCode; | 33 return result.exitCode; |
42 } | 34 } |
OLD | NEW |