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

Side by Side Diff: pkg/front_end/test/fasta/testing/suite.dart

Issue 2980883003: Remove code associated with the old "kompile" functionality. (Closed)
Patch Set: 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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.md file. 3 // BSD-style license that can be found in the LICENSE.md file.
4 4
5 library fasta.testing.suite; 5 library fasta.testing.suite;
6 6
7 import 'dart:async' show Future; 7 import 'dart:async' show Future;
8 8
9 import 'dart:io' show File; 9 import 'dart:io' show File;
10 10
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 import 'package:kernel/core_types.dart' show CoreTypes; 61 import 'package:kernel/core_types.dart' show CoreTypes;
62 62
63 export 'package:testing/testing.dart' show Chain, runMe; 63 export 'package:testing/testing.dart' show Chain, runMe;
64 64
65 const String STRONG_MODE = " strong mode "; 65 const String STRONG_MODE = " strong mode ";
66 66
67 const String ENABLE_FULL_COMPILE = " full compile "; 67 const String ENABLE_FULL_COMPILE = " full compile ";
68 68
69 const String AST_KIND_INDEX = " AST kind index "; 69 const String AST_KIND_INDEX = " AST kind index ";
70 70
71 const String SKIP_KERNEL_GENERATION = " skip kernel generation ";
72
73 const String SKIP_RESOLUTION = " skip resolution ";
74
75 const String EXPECTATIONS = ''' 71 const String EXPECTATIONS = '''
76 [ 72 [
77 { 73 {
78 "name": "VerificationError", 74 "name": "VerificationError",
79 "group": "Fail" 75 "group": "Fail"
80 } 76 }
81 ] 77 ]
82 '''; 78 ''';
83 79
84 String shortenAstKindName(AstKind astKind, bool strongMode) { 80 String generateExpectationName(bool strongMode) {
85 switch (astKind) { 81 return strongMode ? "strong" : "direct";
86 case AstKind.Analyzer:
87 return strongMode ? "dartk-strong" : "dartk";
88 case AstKind.Kernel:
89 return strongMode ? "strong" : "direct";
90 }
91 throw "Unknown AST kind: $astKind";
92 } 82 }
93 83
94 enum AstKind { 84 enum AstKind {
95 Analyzer, 85 Analyzer,
96 Kernel, 86 Kernel,
97 } 87 }
98 88
99 class FastaContext extends ChainContext { 89 class FastaContext extends ChainContext {
100 final UriTranslatorImpl uriTranslator; 90 final UriTranslatorImpl uriTranslator;
101 final List<Step> steps; 91 final List<Step> steps;
102 final Uri vm; 92 final Uri vm;
103 final Map<Program, KernelTarget> programToTarget = <Program, KernelTarget>{}; 93 final Map<Program, KernelTarget> programToTarget = <Program, KernelTarget>{};
104 Uri sdk; 94 Uri sdk;
105 Uri platformUri; 95 Uri platformUri;
106 Uri outlineUri; 96 Uri outlineUri;
107 Program outline; 97 Program outline;
108 98
109 final ExpectationSet expectationSet = 99 final ExpectationSet expectationSet =
110 new ExpectationSet.fromJsonList(JSON.decode(EXPECTATIONS)); 100 new ExpectationSet.fromJsonList(JSON.decode(EXPECTATIONS));
111 101
112 FastaContext( 102 FastaContext(
113 this.vm, 103 this.vm,
114 bool strongMode, 104 bool strongMode,
115 bool updateExpectations, 105 bool updateExpectations,
116 bool updateComments, 106 bool updateComments,
117 bool skipVm, 107 bool skipVm,
118 bool generateKernel,
119 bool doResolution,
120 this.uriTranslator, 108 this.uriTranslator,
121 bool fullCompile, 109 bool fullCompile,
122 AstKind astKind) 110 AstKind astKind)
123 : steps = <Step>[ 111 : steps = <Step>[
124 new Outline( 112 new Outline(fullCompile, astKind, strongMode,
125 fullCompile, astKind, strongMode, generateKernel, doResolution,
126 updateComments: updateComments), 113 updateComments: updateComments),
127 const Print(), 114 const Print(),
128 new Verify(fullCompile) 115 new Verify(fullCompile)
129 ] { 116 ] {
130 if (generateKernel) { 117 if (astKind != AstKind.Analyzer) {
131 steps.add(new MatchExpectation( 118 steps.add(new MatchExpectation(
132 fullCompile 119 fullCompile
133 ? ".${shortenAstKindName(astKind, strongMode)}.expect" 120 ? ".${generateExpectationName(strongMode)}.expect"
134 : ".outline.expect", 121 : ".outline.expect",
135 updateExpectations: updateExpectations)); 122 updateExpectations: updateExpectations));
136 if (fullCompile && !skipVm) { 123 if (fullCompile && !skipVm) {
137 steps.add(const Transform()); 124 steps.add(const Transform());
138 steps.add(const WriteDill()); 125 steps.add(const WriteDill());
139 steps.add(const Run()); 126 steps.add(const Run());
140 } 127 }
141 } 128 }
142 } 129 }
143 130
(...skipping 18 matching lines...) Expand all
162 Chain suite, Map<String, String> environment) async { 149 Chain suite, Map<String, String> environment) async {
163 Uri sdk = await computePatchedSdk(); 150 Uri sdk = await computePatchedSdk();
164 Uri vm = computeDartVm(sdk); 151 Uri vm = computeDartVm(sdk);
165 Uri packages = Uri.base.resolve(".packages"); 152 Uri packages = Uri.base.resolve(".packages");
166 UriTranslator uriTranslator = await UriTranslatorImpl 153 UriTranslator uriTranslator = await UriTranslatorImpl
167 .parse(PhysicalFileSystem.instance, sdk, packages: packages); 154 .parse(PhysicalFileSystem.instance, sdk, packages: packages);
168 bool strongMode = environment.containsKey(STRONG_MODE); 155 bool strongMode = environment.containsKey(STRONG_MODE);
169 bool updateExpectations = environment["updateExpectations"] == "true"; 156 bool updateExpectations = environment["updateExpectations"] == "true";
170 bool updateComments = environment["updateComments"] == "true"; 157 bool updateComments = environment["updateComments"] == "true";
171 bool skipVm = environment["skipVm"] == "true"; 158 bool skipVm = environment["skipVm"] == "true";
172 bool generateKernel = !environment.containsKey(SKIP_KERNEL_GENERATION);
173 bool doResolution = !environment.containsKey(SKIP_RESOLUTION);
174 String astKindString = environment[AST_KIND_INDEX]; 159 String astKindString = environment[AST_KIND_INDEX];
175 AstKind astKind = 160 AstKind astKind =
176 astKindString == null ? null : AstKind.values[int.parse(astKindString)]; 161 astKindString == null ? null : AstKind.values[int.parse(astKindString)];
177 return new FastaContext( 162 return new FastaContext(
178 vm, 163 vm,
179 strongMode, 164 strongMode,
180 updateExpectations, 165 updateExpectations,
181 updateComments, 166 updateComments,
182 skipVm, 167 skipVm,
183 generateKernel,
184 doResolution,
185 uriTranslator, 168 uriTranslator,
186 environment.containsKey(ENABLE_FULL_COMPILE), 169 environment.containsKey(ENABLE_FULL_COMPILE),
187 astKind); 170 astKind);
188 } 171 }
189 } 172 }
190 173
191 class Run extends Step<Uri, int, FastaContext> { 174 class Run extends Step<Uri, int, FastaContext> {
192 const Run(); 175 const Run();
193 176
194 String get name => "run"; 177 String get name => "run";
(...skipping 24 matching lines...) Expand all
219 } 202 }
220 } 203 }
221 204
222 class Outline extends Step<TestDescription, Program, FastaContext> { 205 class Outline extends Step<TestDescription, Program, FastaContext> {
223 final bool fullCompile; 206 final bool fullCompile;
224 207
225 final AstKind astKind; 208 final AstKind astKind;
226 209
227 final bool strongMode; 210 final bool strongMode;
228 211
229 final bool generateKernel;
230
231 final bool doResolution;
232
233 const Outline(this.fullCompile, this.astKind, this.strongMode, 212 const Outline(this.fullCompile, this.astKind, this.strongMode,
234 this.generateKernel, this.doResolution,
235 {this.updateComments: false}); 213 {this.updateComments: false});
236 214
237 final bool updateComments; 215 final bool updateComments;
238 216
239 String get name { 217 String get name {
240 return fullCompile ? "${astKind} compile" : "outline"; 218 return fullCompile ? "${astKind} compile" : "outline";
241 } 219 }
242 220
243 bool get isCompiler => fullCompile; 221 bool get isCompiler => fullCompile;
244 222
245 Future<Result<Program>> run( 223 Future<Result<Program>> run(
246 TestDescription description, FastaContext context) async { 224 TestDescription description, FastaContext context) async {
247 // Disable colors to ensure that expectation files are the same across 225 // Disable colors to ensure that expectation files are the same across
248 // platforms and independent of stdin/stderr. 226 // platforms and independent of stdin/stderr.
249 CompilerContext.current.disableColors(); 227 CompilerContext.current.disableColors();
250 Program platformOutline = await context.loadPlatformOutline(); 228 Program platformOutline = await context.loadPlatformOutline();
251 Ticker ticker = new Ticker(); 229 Ticker ticker = new Ticker();
252 DillTarget dillTarget = new DillTarget(ticker, context.uriTranslator, 230 DillTarget dillTarget = new DillTarget(ticker, context.uriTranslator,
253 new TestVmFastaTarget(new TargetFlags(strongMode: strongMode))); 231 new TestVmFastaTarget(new TargetFlags(strongMode: strongMode)));
254 platformOutline.unbindCanonicalNames(); 232 platformOutline.unbindCanonicalNames();
255 dillTarget.loader.appendLibraries(platformOutline); 233 dillTarget.loader.appendLibraries(platformOutline);
256 // We create a new URI translator to avoid reading platform libraries from 234 // We create a new URI translator to avoid reading platform libraries from
257 // file system. 235 // file system.
258 UriTranslatorImpl uriTranslator = new UriTranslatorImpl( 236 UriTranslatorImpl uriTranslator = new UriTranslatorImpl(
259 const <String, Uri>{}, 237 const <String, Uri>{},
260 const <String, List<Uri>>{}, 238 const <String, List<Uri>>{},
261 context.uriTranslator.packages); 239 context.uriTranslator.packages);
262 KernelTarget sourceTarget = astKind == AstKind.Analyzer 240 KernelTarget sourceTarget = astKind == AstKind.Analyzer
263 ? new AnalyzerTarget( 241 ? new AnalyzerTarget(dillTarget, uriTranslator, strongMode)
264 dillTarget, uriTranslator, strongMode, generateKernel, doResolution)
265 : new KernelTarget( 242 : new KernelTarget(
266 PhysicalFileSystem.instance, dillTarget, uriTranslator); 243 PhysicalFileSystem.instance, dillTarget, uriTranslator);
267 244
268 Program p; 245 Program p;
269 try { 246 try {
270 sourceTarget.read(description.uri); 247 sourceTarget.read(description.uri);
271 await dillTarget.buildOutlines(); 248 await dillTarget.buildOutlines();
272 ValidatingInstrumentation instrumentation; 249 ValidatingInstrumentation instrumentation;
273 if (strongMode) { 250 if (strongMode) {
274 instrumentation = new ValidatingInstrumentation(); 251 instrumentation = new ValidatingInstrumentation();
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
334 } 311 }
335 } 312 }
336 313
337 void performGlobalTransformations(CoreTypes coreTypes, Program program, 314 void performGlobalTransformations(CoreTypes coreTypes, Program program,
338 {void logger(String msg)}) { 315 {void logger(String msg)}) {
339 if (enabled) { 316 if (enabled) {
340 super.performGlobalTransformations(coreTypes, program, logger: logger); 317 super.performGlobalTransformations(coreTypes, program, logger: logger);
341 } 318 }
342 } 319 }
343 } 320 }
OLDNEW
« no previous file with comments | « pkg/front_end/test/fasta/ast_builder_test.dart ('k') | pkg/front_end/testcases/ast_builder.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698