Index: tests/compiler/dart2js/serialization_library_test.dart |
diff --git a/tests/compiler/dart2js/serialization_library_test.dart b/tests/compiler/dart2js/serialization_library_test.dart |
deleted file mode 100644 |
index df59fbc71c0c9ec539405f6a804cdd5940af61a2..0000000000000000000000000000000000000000 |
--- a/tests/compiler/dart2js/serialization_library_test.dart |
+++ /dev/null |
@@ -1,130 +0,0 @@ |
-// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
-// 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. |
- |
-library dart2js.serialization_library_test; |
- |
-import 'dart:io'; |
-import 'memory_compiler.dart'; |
-import 'package:async_helper/async_helper.dart'; |
-import 'package:compiler/src/commandline_options.dart'; |
-import 'package:compiler/src/common/names.dart'; |
-import 'package:compiler/src/constants/constructors.dart'; |
-import 'package:compiler/src/constants/expressions.dart'; |
-import 'package:compiler/src/dart_types.dart'; |
-import 'package:compiler/src/compiler.dart'; |
-import 'package:compiler/src/diagnostics/invariant.dart'; |
-import 'package:compiler/src/elements/elements.dart'; |
-import 'package:compiler/src/elements/visitor.dart'; |
-import 'package:compiler/src/ordered_typeset.dart'; |
-import 'package:compiler/src/serialization/element_serialization.dart'; |
-import 'package:compiler/src/serialization/json_serializer.dart'; |
-import 'package:compiler/src/serialization/serialization.dart'; |
- |
-import 'serialization_test.dart'; |
- |
-main(List<String> arguments) { |
- // Ensure that we can print out constant expressions. |
- DEBUG_MODE = true; |
- |
- Uri entryPoint; |
- String outPath; |
- int shardCount = 3; |
- bool prettyPrint = false; |
- for (String arg in arguments) { |
- if (arg.startsWith('--')) { |
- if (arg.startsWith('--out=')) { |
- outPath = arg.substring('--out='.length); |
- } else if (arg == '--pretty-print') { |
- prettyPrint = true; |
- } else if (arg.startsWith('--shards=')) { |
- shardCount = int.parse(arg.substring('--shards='.length)); |
- } else { |
- print("Unknown option $arg"); |
- } |
- } else { |
- if (entryPoint != null) { |
- print("Multiple entrypoints are not supported."); |
- } |
- entryPoint = Uri.parse(arg); |
- } |
- } |
- if (entryPoint == null) { |
- entryPoint = Uris.dart_core; |
- } |
- asyncTest(() async { |
- CompilationResult result = await runCompiler( |
- entryPoint: entryPoint, options: [Flags.analyzeAll]); |
- Compiler compiler = result.compiler; |
- testSerialization(compiler.libraryLoader.libraries, |
- outPath: outPath, |
- prettyPrint: prettyPrint, |
- shardCount: shardCount); |
- }); |
-} |
- |
-void testSerialization(Iterable<LibraryElement> libraries1, |
- {String outPath, |
- bool prettyPrint, |
- int shardCount: 3}) { |
- if (shardCount < 1 || shardCount > libraries1.length) { |
- shardCount = libraries1.length; |
- } |
- List<List<LibraryElement>> librarySplits = <List<LibraryElement>>[]; |
- int offset = 0; |
- int shardSize = (libraries1.length / shardCount).ceil(); |
- for (int shard = 0; shard < shardCount; shard++) { |
- List<LibraryElement> libraries = <LibraryElement>[]; |
- for (int index = 0; index < shardSize; index++) { |
- if (offset + index < libraries1.length) { |
- libraries.add(libraries1.elementAt(offset + index)); |
- } |
- } |
- librarySplits.add(libraries); |
- offset += shardSize; |
- } |
- print(librarySplits.join('\n')); |
- List<String> texts = <String>[]; |
- for (int shard = 0; shard < shardCount; shard++) { |
- List<LibraryElement> libraries = librarySplits[shard]; |
- Serializer serializer = new Serializer( |
- shouldInclude: (e) => libraries.contains(e.library)); |
- for (LibraryElement library in libraries) { |
- serializer.serialize(library); |
- } |
- String text = serializer.toText(const JsonSerializationEncoder()); |
- String outText = text; |
- if (prettyPrint) { |
- outText = serializer.prettyPrint(); |
- } |
- if (outPath != null) { |
- String name = outPath; |
- String ext = ''; |
- int dotPos = outPath.lastIndexOf('.'); |
- if (dotPos != -1) { |
- name = outPath.substring(0, dotPos); |
- ext = outPath.substring(dotPos); |
- } |
- new File('$name$shard$ext').writeAsStringSync(outText); |
- } else if (prettyPrint) { |
- print(outText); |
- } |
- texts.add(text); |
- } |
- DeserializationContext deserializationContext = |
- new DeserializationContext(); |
- for (int shard = 0; shard < shardCount; shard++) { |
- new Deserializer.fromText( |
- deserializationContext, texts[shard], const JsonSerializationDecoder()); |
- } |
- List<LibraryElement> libraries2 = <LibraryElement>[]; |
- for (LibraryElement library1 in libraries1) { |
- LibraryElement library2 = |
- deserializationContext.lookupLibrary(library1.canonicalUri); |
- if (library2 == null) { |
- throw new ArgumentError('No library ${library1.canonicalUri} found.'); |
- } |
- checkLibraryContent('library1', 'library2', 'library', library1, library2); |
- libraries2.add(library2); |
- } |
-} |