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

Side by Side Diff: tests/compiler/dart2js/kernel/compile_from_dill_test.dart

Issue 2942863002: Compile and run Hello World! (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 unified diff | Download patch
OLDNEW
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 file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 // Partial test that the closed world computed from [WorldImpact]s derived from 5 // Partial test that the closed world computed from [WorldImpact]s derived from
6 // kernel is equivalent to the original computed from resolution. 6 // kernel is equivalent to the original computed from resolution.
7 library dart2js.kernel.compile_from_dill_test; 7 library dart2js.kernel.compile_from_dill_test;
8 8
9 import 'dart:async'; 9 import 'dart:async';
10 import 'dart:io'; 10 import 'dart:io';
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 Expect.isFalse(compiler2.compilationFailed); 134 Expect.isFalse(compiler2.compilationFailed);
135 135
136 KernelEquivalence equivalence = new KernelEquivalence(elementMap); 136 KernelEquivalence equivalence = new KernelEquivalence(elementMap);
137 137
138 ClosedWorld closedWorld2 = 138 ClosedWorld closedWorld2 =
139 compiler2.resolutionWorldBuilder.closedWorldForTesting; 139 compiler2.resolutionWorldBuilder.closedWorldForTesting;
140 140
141 checkBackendUsage(closedWorld1.backendUsage, closedWorld2.backendUsage, 141 checkBackendUsage(closedWorld1.backendUsage, closedWorld2.backendUsage,
142 equivalence.defaultStrategy); 142 equivalence.defaultStrategy);
143 143
144 print('--- checking resolution enqueuers ----------------------------------');
144 checkResolutionEnqueuers(closedWorld1.backendUsage, closedWorld2.backendUsage, 145 checkResolutionEnqueuers(closedWorld1.backendUsage, closedWorld2.backendUsage,
145 compiler1.enqueuer.resolution, compiler2.enqueuer.resolution, 146 compiler1.enqueuer.resolution, compiler2.enqueuer.resolution,
146 elementEquivalence: equivalence.entityEquivalence, 147 elementEquivalence: equivalence.entityEquivalence,
147 typeEquivalence: (ResolutionDartType a, DartType b) { 148 typeEquivalence: (ResolutionDartType a, DartType b) {
148 return equivalence.typeEquivalence(unalias(a), b); 149 return equivalence.typeEquivalence(unalias(a), b);
149 }, elementFilter: elementFilter, verbose: arguments.verbose); 150 }, elementFilter: elementFilter, verbose: arguments.verbose);
150 151
152 print('--- checking closed worlds -----------------------------------------');
151 checkClosedWorlds(closedWorld1, closedWorld2, 153 checkClosedWorlds(closedWorld1, closedWorld2,
152 strategy: equivalence.defaultStrategy, 154 strategy: equivalence.defaultStrategy,
153 verbose: arguments.verbose, 155 verbose: arguments.verbose,
154 // TODO(johnniwinther,efortuna): Require closure class equivalence when 156 // TODO(johnniwinther,efortuna): Require closure class equivalence when
155 // these are supported. 157 // these are supported.
156 allowMissingClosureClasses: true); 158 allowMissingClosureClasses: true);
157 159
158 // TODO(johnniwinther): Perform equivalence tests on the model: codegen world 160 // TODO(johnniwinther): Perform equivalence tests on the model: codegen world
159 // impacts, program model, etc. 161 // impacts, program model, etc.
160 162
163 print('--- checking codegen enqueuers--------------------------------------');
161 checkCodegenEnqueuers(compiler1.enqueuer.codegenEnqueuerForTesting, 164 checkCodegenEnqueuers(compiler1.enqueuer.codegenEnqueuerForTesting,
162 compiler2.enqueuer.codegenEnqueuerForTesting, 165 compiler2.enqueuer.codegenEnqueuerForTesting,
163 elementEquivalence: equivalence.entityEquivalence, 166 elementEquivalence: equivalence.entityEquivalence,
164 typeEquivalence: (ResolutionDartType a, DartType b) { 167 typeEquivalence: (ResolutionDartType a, DartType b) {
165 return equivalence.typeEquivalence(unalias(a), b); 168 return equivalence.typeEquivalence(unalias(a), b);
166 }, elementFilter: elementFilter, verbose: arguments.verbose); 169 }, elementFilter: elementFilter, verbose: arguments.verbose);
167 170
171 print('--- checking output------- -----------------------------------------');
168 collector1.outputMap 172 collector1.outputMap
169 .forEach((OutputType outputType, Map<String, BufferedOutputSink> map1) { 173 .forEach((OutputType outputType, Map<String, BufferedOutputSink> map1) {
170 if (outputType == OutputType.sourceMap) { 174 if (outputType == OutputType.sourceMap) {
171 // TODO(johnniwinther): Support source map from .dill. 175 // TODO(johnniwinther): Support source map from .dill.
172 return; 176 return;
173 } 177 }
174 Map<String, BufferedOutputSink> map2 = collector2.outputMap[outputType]; 178 Map<String, BufferedOutputSink> map2 = collector2.outputMap[outputType];
175 checkSets(map1.keys, map2.keys, 'output', equality); 179 checkSets(map1.keys, map2.keys, 'output', equality);
176 map1.forEach((String name, BufferedOutputSink output1) { 180 map1.forEach((String name, BufferedOutputSink output1) {
177 BufferedOutputSink output2 = map2[name]; 181 BufferedOutputSink output2 = map2[name];
178 Expect.stringEquals(output1.text, output2.text); 182 Expect.stringEquals(output1.text, output2.text);
179 }); 183 });
180 }); 184 });
181 return ResultKind.success; 185 return ResultKind.success;
182 } 186 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698