Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(237)

Unified Diff: pkg/front_end/test/fasta/shaker_test.dart

Issue 2980033004: Throw if there is no compiler context available (Closed)
Patch Set: cl comments, handle validate and deprecated_InputError Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/front_end/messages.yaml ('k') | pkg/front_end/test/fasta/testing/suite.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/front_end/test/fasta/shaker_test.dart
diff --git a/pkg/front_end/test/fasta/shaker_test.dart b/pkg/front_end/test/fasta/shaker_test.dart
index 6ba5eb8254608d28c8c5f491b9f0b52496da4f77..397b71d8b91498c033050a256d75898b49acccd7 100644
--- a/pkg/front_end/test/fasta/shaker_test.dart
+++ b/pkg/front_end/test/fasta/shaker_test.dart
@@ -21,6 +21,7 @@ import 'dart:io' show File;
export 'package:testing/testing.dart' show Chain, runMe;
import 'package:front_end/physical_file_system.dart';
+import 'package:front_end/src/fasta/compiler_command_line.dart';
import 'package:front_end/src/fasta/dill/dill_target.dart' show DillTarget;
import 'package:front_end/src/fasta/deprecated_problems.dart'
show deprecated_InputError;
@@ -97,32 +98,35 @@ class BuildProgram
String get name => "build program";
Future<Result<_IntermediateData>> run(
TestDescription description, TreeShakerContext context) async {
- try {
- var platformOutline = context.loadPlatformOutline();
- platformOutline.unbindCanonicalNames();
- var dillTarget = new DillTarget(
- new Ticker(isVerbose: false),
- context.uriTranslator,
- new VmFastaTarget(new TargetFlags(strongMode: false)));
- dillTarget.loader.appendLibraries(platformOutline);
- var sourceTarget = new KernelTarget(PhysicalFileSystem.instance, false,
- dillTarget, context.uriTranslator);
- await dillTarget.buildOutlines();
-
- var inputUri = description.uri;
- var libUri = inputUri.resolve('lib/lib.dart');
- sourceTarget.read(libUri);
- sourceTarget.read(inputUri);
- var contents = new File.fromUri(inputUri).readAsStringSync();
- var showCoreLibraries = contents.contains("@@SHOW_CORE_LIBRARIES@@");
- await sourceTarget.buildOutlines();
- var program = await sourceTarget.buildProgram();
- bool isIncluded(Uri uri) => !_isTreeShaken(uri);
- trimProgram(program, isIncluded);
- return pass(new _IntermediateData(inputUri, program, showCoreLibraries));
- } on deprecated_InputError catch (e, s) {
- return fail(null, e.error, s);
- }
+ return await CompilerCommandLine.withGlobalOptions("", [""], (_) async {
+ try {
+ var platformOutline = context.loadPlatformOutline();
+ platformOutline.unbindCanonicalNames();
+ var dillTarget = new DillTarget(
+ new Ticker(isVerbose: false),
+ context.uriTranslator,
+ new VmFastaTarget(new TargetFlags(strongMode: false)));
+ dillTarget.loader.appendLibraries(platformOutline);
+ var sourceTarget = new KernelTarget(PhysicalFileSystem.instance, false,
+ dillTarget, context.uriTranslator);
+ await dillTarget.buildOutlines();
+
+ var inputUri = description.uri;
+ var libUri = inputUri.resolve('lib/lib.dart');
+ sourceTarget.read(libUri);
+ sourceTarget.read(inputUri);
+ var contents = new File.fromUri(inputUri).readAsStringSync();
+ var showCoreLibraries = contents.contains("@@SHOW_CORE_LIBRARIES@@");
+ await sourceTarget.buildOutlines();
+ var program = await sourceTarget.buildProgram();
+ bool isIncluded(Uri uri) => !_isTreeShaken(uri);
+ trimProgram(program, isIncluded);
+ return pass(
+ new _IntermediateData(inputUri, program, showCoreLibraries));
+ } on deprecated_InputError catch (e, s) {
+ return fail(null, e.error, s);
+ }
+ });
}
}
« no previous file with comments | « pkg/front_end/messages.yaml ('k') | pkg/front_end/test/fasta/testing/suite.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698