OLD | NEW |
1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2017, 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 test.kernel.closures.suite; | 5 library test.kernel.closures.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 'package:front_end/physical_file_system.dart'; |
11 import 'package:testing/testing.dart' | 12 import 'package:testing/testing.dart' |
12 show Chain, ChainContext, Result, Step, TestDescription, runMe; | 13 show Chain, ChainContext, Result, Step, TestDescription, runMe; |
13 | 14 |
14 import 'package:kernel/ast.dart' show Program, Library; | 15 import 'package:kernel/ast.dart' show Program, Library; |
15 | 16 |
16 import 'package:front_end/src/fasta/testing/kernel_chain.dart' show runDiff; | 17 import 'package:front_end/src/fasta/testing/kernel_chain.dart' show runDiff; |
17 | 18 |
18 import 'package:front_end/src/fasta/ticker.dart' show Ticker; | 19 import 'package:front_end/src/fasta/ticker.dart' show Ticker; |
19 | 20 |
20 import 'package:front_end/src/fasta/dill/dill_target.dart' show DillTarget; | 21 import 'package:front_end/src/fasta/dill/dill_target.dart' show DillTarget; |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
52 | 53 |
53 Future<Program> loadPlatform() async { | 54 Future<Program> loadPlatform() async { |
54 Uri sdk = await computePatchedSdk(); | 55 Uri sdk = await computePatchedSdk(); |
55 return loadProgramFromBinary(sdk.resolve('platform.dill').toFilePath()); | 56 return loadProgramFromBinary(sdk.resolve('platform.dill').toFilePath()); |
56 } | 57 } |
57 | 58 |
58 static Future<InterpreterContext> create( | 59 static Future<InterpreterContext> create( |
59 Chain suite, Map<String, String> environment) async { | 60 Chain suite, Map<String, String> environment) async { |
60 Uri packages = Uri.base.resolve(".packages"); | 61 Uri packages = Uri.base.resolve(".packages"); |
61 bool strongMode = environment.containsKey(STRONG_MODE); | 62 bool strongMode = environment.containsKey(STRONG_MODE); |
62 TranslateUri uriTranslator = await TranslateUri.parse(packages); | 63 TranslateUri uriTranslator = |
| 64 await TranslateUri.parse(PhysicalFileSystem.instance, packages); |
63 return new InterpreterContext(strongMode, uriTranslator); | 65 return new InterpreterContext(strongMode, uriTranslator); |
64 } | 66 } |
65 } | 67 } |
66 | 68 |
67 class FastaCompile extends Step<TestDescription, Program, InterpreterContext> { | 69 class FastaCompile extends Step<TestDescription, Program, InterpreterContext> { |
68 const FastaCompile(); | 70 const FastaCompile(); |
69 | 71 |
70 String get name => "fasta compile"; | 72 String get name => "fasta compile"; |
71 | 73 |
72 Future<Result<Program>> run( | 74 Future<Result<Program>> run( |
73 TestDescription description, InterpreterContext context) async { | 75 TestDescription description, InterpreterContext context) async { |
74 Program platform = await context.loadPlatform(); | 76 Program platform = await context.loadPlatform(); |
75 Ticker ticker = new Ticker(); | 77 Ticker ticker = new Ticker(); |
76 DillTarget dillTarget = new DillTarget(ticker, context.uriTranslator); | 78 DillTarget dillTarget = new DillTarget(ticker, context.uriTranslator); |
77 dillTarget.loader | 79 dillTarget.loader |
78 ..input = Uri.parse("org.dartlang:platform") // Make up a name. | 80 ..input = Uri.parse("org.dartlang:platform") // Make up a name. |
79 ..setProgram(platform); | 81 ..setProgram(platform); |
80 KernelTarget sourceTarget = | 82 KernelTarget sourceTarget = new KernelTarget(PhysicalFileSystem.instance, |
81 new KernelTarget(dillTarget, context.uriTranslator, context.strongMode); | 83 dillTarget, context.uriTranslator, context.strongMode); |
82 | 84 |
83 Program p; | 85 Program p; |
84 try { | 86 try { |
85 sourceTarget.read(description.uri); | 87 sourceTarget.read(description.uri); |
86 await dillTarget.writeOutline(null); | 88 await dillTarget.writeOutline(null); |
87 await sourceTarget.writeOutline(null); | 89 await sourceTarget.writeOutline(null); |
88 p = await sourceTarget.writeProgram(null); | 90 p = await sourceTarget.writeProgram(null); |
89 } on InputError catch (e, s) { | 91 } on InputError catch (e, s) { |
90 return fail(null, e.error, s); | 92 return fail(null, e.error, s); |
91 } | 93 } |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
147 final Uri uri; | 149 final Uri uri; |
148 | 150 |
149 /// Evaluated program log. | 151 /// Evaluated program log. |
150 final String log; | 152 final String log; |
151 | 153 |
152 EvaluationLog(this.uri, this.log); | 154 EvaluationLog(this.uri, this.log); |
153 } | 155 } |
154 | 156 |
155 main(List<String> arguments) => | 157 main(List<String> arguments) => |
156 runMe(arguments, InterpreterContext.create, "testing.json"); | 158 runMe(arguments, InterpreterContext.create, "testing.json"); |
OLD | NEW |