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

Unified Diff: tests/compiler/dart2js/kernel/compile_from_dill_test_helper.dart

Issue 2959683002: Add compile_from_dill_fast_startup_test (Closed)
Patch Set: Cleanup. Created 3 years, 6 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 | « tests/compiler/dart2js/kernel/compile_from_dill_test.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/compiler/dart2js/kernel/compile_from_dill_test_helper.dart
diff --git a/tests/compiler/dart2js/kernel/compile_from_dill_test.dart b/tests/compiler/dart2js/kernel/compile_from_dill_test_helper.dart
similarity index 81%
copy from tests/compiler/dart2js/kernel/compile_from_dill_test.dart
copy to tests/compiler/dart2js/kernel/compile_from_dill_test_helper.dart
index 22bd53a8605f772a129ff61869c8660c81805c7a..8f781d4784591942b8b8c9f8279f088a0b8cefc2 100644
--- a/tests/compiler/dart2js/kernel/compile_from_dill_test.dart
+++ b/tests/compiler/dart2js/kernel/compile_from_dill_test_helper.dart
@@ -2,14 +2,13 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// Partial test that the closed world computed from [WorldImpact]s derived from
-// kernel is equivalent to the original computed from resolution.
-library dart2js.kernel.compile_from_dill_test;
+// Helper to test compilation equivalence between source and .dill based
+// compilation.
+library dart2js.kernel.compile_from_dill_test_helper;
import 'dart:async';
import 'dart:io';
-import 'package:async_helper/async_helper.dart';
import 'package:compiler/compiler_new.dart';
import 'package:compiler/src/commandline_options.dart';
import 'package:compiler/src/common.dart';
@@ -26,59 +25,18 @@ import 'package:expect/expect.dart';
import '../memory_compiler.dart';
import '../equivalence/check_functions.dart';
import '../equivalence/check_helpers.dart';
-import '../serialization/helper.dart';
import 'test_helpers.dart';
import 'compiler_helper.dart';
-const SOURCE = const {
- 'main.dart': '''
-foo({named}) => 1;
-bar(a) => !a;
-class Class {
- var field;
- static var staticField;
- Class(this.field);
-}
-main() {
- foo();
- bar(true);
- [];
- {};
- new Object();
- new Class('');
- Class.staticField;
- var x = null;
- for (int i = 0; i < 10; i++) {
- x = i;
- if (i == 5) break;
- }
- return x;
-}
-'''
-};
-
-main(List<String> args) {
- asyncTest(() async {
- await mainInternal(args);
- });
-}
-
enum ResultKind { crashes, errors, warnings, success, failure }
-Future<ResultKind> mainInternal(List<String> args,
- {bool skipWarnings: false, bool skipErrors: false}) async {
- Arguments arguments = new Arguments.from(args);
- Uri entryPoint;
- Map<String, String> memorySourceFiles;
- if (arguments.uri != null) {
- entryPoint = arguments.uri;
- memorySourceFiles = const <String, String>{};
- } else {
- entryPoint = Uri.parse('memory:main.dart');
- memorySourceFiles = SOURCE;
- }
-
+Future<ResultKind> runTest(
+ Uri entryPoint, Map<String, String> memorySourceFiles,
+ {bool skipWarnings: false,
+ bool skipErrors: false,
+ bool verbose: false,
+ List<String> options: const <String>[]}) async {
enableDebugMode();
EnumCreator.matchKernelRepresentationForTesting = true;
Elements.usePatchedDart2jsSdkSorting = true;
@@ -101,7 +59,7 @@ Future<ResultKind> mainInternal(List<String> args,
Flags.disableTypeInference,
Flags.disableInlining,
Flags.enableAssertMessage
- ]);
+ ]..addAll(options));
ElementResolutionWorldBuilder.useInstantiationMap = true;
compiler1.resolution.retainCachesForTesting = true;
await compiler1.run(entryPoint);
@@ -129,7 +87,7 @@ Future<ResultKind> mainInternal(List<String> args,
Flags.disableTypeInference,
Flags.disableInlining,
Flags.enableAssertMessage
- ],
+ ]..addAll(options),
printSteps: true,
compilerOutput: collector2);
@@ -154,12 +112,12 @@ Future<ResultKind> mainInternal(List<String> args,
return equivalence.typeEquivalence(unalias(a), b);
},
elementFilter: elementFilter,
- verbose: arguments.verbose);
+ verbose: verbose);
print('--- checking closed worlds -----------------------------------------');
checkClosedWorlds(closedWorld1, closedWorld2,
strategy: equivalence.defaultStrategy,
- verbose: arguments.verbose,
+ verbose: verbose,
// TODO(johnniwinther,efortuna): Require closure class equivalence when
// these are supported.
allowMissingClosureClasses: true);
@@ -175,14 +133,14 @@ Future<ResultKind> mainInternal(List<String> args,
return equivalence.typeEquivalence(unalias(a), b);
},
elementFilter: elementFilter,
- verbose: arguments.verbose);
+ verbose: verbose);
checkEmitters(compiler1.backend.emitter, compiler2.backend.emitter,
elementEquivalence: (a, b) => equivalence.entityEquivalence(a, b),
typeEquivalence: (DartType a, DartType b) {
return equivalence.typeEquivalence(unalias(a), b);
},
- verbose: arguments.verbose);
+ verbose: verbose);
print('--- checking output------- -----------------------------------------');
collector1.outputMap
« no previous file with comments | « tests/compiler/dart2js/kernel/compile_from_dill_test.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698