Chromium Code Reviews| Index: pkg/kernel/test/closures/suite.dart |
| diff --git a/pkg/kernel/test/closures/suite.dart b/pkg/kernel/test/closures/suite.dart |
| index fdafe6327d28445b22c2f349abf2e8c02befb3a4..3e50e09da40c7015ccabff5372e033eaebca6a57 100644 |
| --- a/pkg/kernel/test/closures/suite.dart |
| +++ b/pkg/kernel/test/closures/suite.dart |
| @@ -6,9 +6,12 @@ library test.kernel.closures.suite; |
| import 'dart:async' show Future; |
| +import 'dart:io' show File; |
| + |
| import 'package:analyzer/src/generated/sdk.dart' show DartSdk; |
| -import 'package:analyzer/src/kernel/loader.dart' show DartLoader; |
| +import 'package:analyzer/src/kernel/loader.dart' |
| + show DartLoader, DartOptions, createDartSdk; |
| import 'package:testing/testing.dart' |
| show Chain, Result, Step, TestDescription, runMe; |
| @@ -21,7 +24,7 @@ import 'package:kernel/transformations/closure_conversion.dart' |
| import 'package:kernel/target/targets.dart' show Target, TargetFlags, getTarget; |
| import 'package:front_end/src/fasta/testing/kernel_chain.dart' |
| - show TestContext, Print, MatchExpectation, WriteDill, ReadDill, Verify; |
| + show Print, MatchExpectation, WriteDill, ReadDill, Verify; |
| import 'package:front_end/src/fasta/ticker.dart' show Ticker; |
| @@ -34,16 +37,41 @@ import 'package:front_end/src/fasta/translate_uri.dart' show TranslateUri; |
| import 'package:front_end/src/fasta/errors.dart' show InputError; |
| -class ClosureConversionContext extends TestContext { |
| +import 'package:testing/testing.dart' show Result, StdioProcess, Step; |
| + |
| +import 'package:kernel/ast.dart' show Program; |
| + |
| +import 'package:testing/testing.dart' |
| + show Chain, ChainContext, Result, StdioProcess, Step, TestDescription; |
| + |
| +import 'package:package_config/discovery.dart' show loadPackagesFile; |
| + |
| +import 'package:front_end/src/fasta/patched_sdk_location.dart'; |
| + |
| +const String STRONG_MODE = " strong mode "; |
| + |
| +class ClosureConversionContext extends ChainContext { |
| + final Uri vm; |
| + |
| + final Uri packages; |
| + |
| + final DartOptions options; |
| + |
| + final DartSdk dartSdk; |
| + |
| final TranslateUri uriTranslator; |
| final List<Step> steps; |
| Future<Program> platform; |
| - ClosureConversionContext(Uri sdk, Uri vm, Uri packages, bool strongMode, |
| - DartSdk dartSdk, bool updateExpectations, this.uriTranslator) |
| - : steps = <Step>[ |
| + ClosureConversionContext(Uri sdk, this.vm, this.packages, bool strongMode, |
| + this.dartSdk, bool updateExpectations, this.uriTranslator) |
| + : options = new DartOptions( |
| + strongMode: strongMode, |
| + sdk: sdk.toFilePath(), |
| + packagePath: packages.toFilePath()), |
| + steps = <Step>[ |
| const FastaCompile(), |
| const Print(), |
| const Verify(true), |
| @@ -54,10 +82,14 @@ class ClosureConversionContext extends TestContext { |
| updateExpectations: updateExpectations), |
| const WriteDill(), |
| const ReadDill(), |
| - // TODO(29143): uncomment this when Vectors are added to VM. |
| - //const Run(), |
| - ], |
| - super(sdk, vm, packages, strongMode, dartSdk); |
| + // TODO(29143): add `Run` step when Vectors are added to VM. |
| + ]; |
| + |
| + Future<DartLoader> createLoader() async { |
| + Program program = new Program(); |
| + return new DartLoader(program, options, await loadPackagesFile(packages), |
| + ignoreRedirectingFactories: false, dartSdk: dartSdk); |
| + } |
| Future<Program> createPlatform() { |
| return new Future<Program>(() async { |
| @@ -83,18 +115,15 @@ class ClosureConversionContext extends TestContext { |
| static Future<ClosureConversionContext> create( |
| Chain suite, Map<String, String> environment) async { |
| - return TestContext.create(suite, environment, (Chain suite, |
| - Map<String, String> environment, |
| - Uri sdk, |
| - Uri vm, |
| - Uri packages, |
| - bool strongMode, |
| - DartSdk dartSdk, |
| - bool updateExpectations) async { |
| - TranslateUri uriTranslator = await TranslateUri.parse(packages); |
| - return new ClosureConversionContext(sdk, vm, packages, strongMode, |
| - dartSdk, updateExpectations, uriTranslator); |
| - }); |
| + Uri sdk = await computePatchedSdk(); |
|
Siggi Cherem (dart-lang)
2017/04/19 20:46:18
The changes in this file (and mainly these lines h
|
| + Uri vm = computeDartVm(sdk); |
| + Uri packages = Uri.base.resolve(".packages"); |
| + bool strongMode = environment.containsKey(STRONG_MODE); |
| + DartSdk dartSdk = createDartSdk(sdk.toFilePath(), strongMode: strongMode); |
| + bool updateExpectations = environment["updateExpectations"] == "true"; |
| + TranslateUri uriTranslator = await TranslateUri.parse(packages); |
| + return new ClosureConversionContext(sdk, vm, packages, strongMode, dartSdk, |
| + updateExpectations, uriTranslator); |
| } |
| } |
| @@ -119,8 +148,8 @@ class FastaCompile |
| dillTarget.loader |
| ..input = Uri.parse("org.dartlang:platform") // Make up a name. |
| ..setProgram(platform); |
| - KernelTarget sourceTarget = |
| - new KernelTarget(dillTarget, context.uriTranslator); |
| + KernelTarget sourceTarget = new KernelTarget( |
| + dillTarget, context.uriTranslator, context.options.strongMode); |
| Program p; |
| try { |