| 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 |