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.testing.suite; | 5 library fasta.testing.suite; |
6 | 6 |
7 import 'dart:async' show Future; | 7 import 'dart:async' show Future; |
8 | 8 |
9 import 'dart:io' show File; | 9 import 'dart:io' show File; |
10 | 10 |
11 import 'dart:convert' show JSON; | 11 import 'dart:convert' show JSON; |
12 | 12 |
13 import 'package:front_end/physical_file_system.dart' show PhysicalFileSystem; | 13 import 'package:front_end/physical_file_system.dart' show PhysicalFileSystem; |
14 | 14 |
15 import 'package:front_end/src/fasta/compiler_command_line.dart'; | |
16 | |
17 import 'package:front_end/src/fasta/testing/validating_instrumentation.dart' | 15 import 'package:front_end/src/fasta/testing/validating_instrumentation.dart' |
18 show ValidatingInstrumentation; | 16 show ValidatingInstrumentation; |
19 | 17 |
20 import 'package:front_end/src/fasta/testing/patched_sdk_location.dart' | 18 import 'package:front_end/src/fasta/testing/patched_sdk_location.dart' |
21 show computeDartVm, computePatchedSdk; | 19 show computeDartVm, computePatchedSdk; |
22 import 'package:front_end/src/fasta/uri_translator_impl.dart'; | 20 import 'package:front_end/src/fasta/uri_translator_impl.dart'; |
23 | 21 |
24 import 'package:kernel/ast.dart' show Library, Program; | 22 import 'package:kernel/ast.dart' show Library, Program; |
25 | 23 |
26 import 'package:testing/testing.dart' | 24 import 'package:testing/testing.dart' |
27 show | 25 show |
28 Chain, | 26 Chain, |
29 ChainContext, | 27 ChainContext, |
30 ExpectationSet, | 28 ExpectationSet, |
31 Result, | 29 Result, |
32 Step, | 30 Step, |
33 TestDescription, | 31 TestDescription, |
34 StdioProcess; | 32 StdioProcess; |
35 | 33 |
| 34 import 'package:front_end/compiler_options.dart' show CompilerOptions; |
| 35 |
| 36 import 'package:front_end/src/base/processed_options.dart' |
| 37 show ProcessedOptions; |
| 38 |
36 import 'package:front_end/src/fasta/compiler_context.dart' show CompilerContext; | 39 import 'package:front_end/src/fasta/compiler_context.dart' show CompilerContext; |
37 | 40 |
38 import 'package:front_end/src/fasta/deprecated_problems.dart' | 41 import 'package:front_end/src/fasta/deprecated_problems.dart' |
39 show deprecated_InputError; | 42 show deprecated_InputError; |
40 | 43 |
41 import 'package:front_end/src/fasta/testing/kernel_chain.dart' | 44 import 'package:front_end/src/fasta/testing/kernel_chain.dart' |
42 show MatchExpectation, Print, Verify, WriteDill; | 45 show MatchExpectation, Print, Verify, WriteDill; |
43 | 46 |
44 import 'package:front_end/src/fasta/ticker.dart' show Ticker; | 47 import 'package:front_end/src/fasta/ticker.dart' show Ticker; |
45 | 48 |
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
217 final bool updateComments; | 220 final bool updateComments; |
218 | 221 |
219 String get name { | 222 String get name { |
220 return fullCompile ? "${astKind} compile" : "outline"; | 223 return fullCompile ? "${astKind} compile" : "outline"; |
221 } | 224 } |
222 | 225 |
223 bool get isCompiler => fullCompile; | 226 bool get isCompiler => fullCompile; |
224 | 227 |
225 Future<Result<Program>> run( | 228 Future<Result<Program>> run( |
226 TestDescription description, FastaContext context) async { | 229 TestDescription description, FastaContext context) async { |
227 return await CompilerCommandLine.withGlobalOptions("", [""], (_) async { | 230 var options = |
| 231 new ProcessedOptions(new CompilerOptions()..throwOnErrors = false); |
| 232 return await CompilerContext.runWithOptions(options, (_) async { |
228 // Disable colors to ensure that expectation files are the same across | 233 // Disable colors to ensure that expectation files are the same across |
229 // platforms and independent of stdin/stderr. | 234 // platforms and independent of stdin/stderr. |
230 CompilerContext.current.disableColors(); | 235 CompilerContext.current.disableColors(); |
231 Program platformOutline = await context.loadPlatformOutline(); | 236 Program platformOutline = await context.loadPlatformOutline(); |
232 Ticker ticker = new Ticker(); | 237 Ticker ticker = new Ticker(); |
233 DillTarget dillTarget = new DillTarget(ticker, context.uriTranslator, | 238 DillTarget dillTarget = new DillTarget(ticker, context.uriTranslator, |
234 new TestVmFastaTarget(new TargetFlags(strongMode: strongMode))); | 239 new TestVmFastaTarget(new TargetFlags(strongMode: strongMode))); |
235 platformOutline.unbindCanonicalNames(); | 240 platformOutline.unbindCanonicalNames(); |
236 dillTarget.loader.appendLibraries(platformOutline); | 241 dillTarget.loader.appendLibraries(platformOutline); |
237 // We create a new URI translator to avoid reading platform libraries from | 242 // We create a new URI translator to avoid reading platform libraries from |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
315 } | 320 } |
316 } | 321 } |
317 | 322 |
318 void performGlobalTransformations(CoreTypes coreTypes, Program program, | 323 void performGlobalTransformations(CoreTypes coreTypes, Program program, |
319 {void logger(String msg)}) { | 324 {void logger(String msg)}) { |
320 if (enabled) { | 325 if (enabled) { |
321 super.performGlobalTransformations(coreTypes, program, logger: logger); | 326 super.performGlobalTransformations(coreTypes, program, logger: logger); |
322 } | 327 } |
323 } | 328 } |
324 } | 329 } |
OLD | NEW |