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

Side by Side Diff: pkg/analyzer/test/stress/for_git_repository.dart

Issue 2242853002: Deprecate DirectoryBasedDartSdk and transition existing uses to the new API (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 4 years, 4 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 file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library analyzer.test.stress.limited_invalidation; 5 library analyzer.test.stress.limited_invalidation;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:io'; 8 import 'dart:io';
9 9
10 import 'package:analyzer/dart/ast/ast.dart'; 10 import 'package:analyzer/dart/ast/ast.dart';
11 import 'package:analyzer/dart/element/element.dart'; 11 import 'package:analyzer/dart/element/element.dart';
12 import 'package:analyzer/dart/element/type.dart'; 12 import 'package:analyzer/dart/element/type.dart';
13 import 'package:analyzer/file_system/file_system.dart' as fs; 13 import 'package:analyzer/file_system/file_system.dart' as fs;
14 import 'package:analyzer/file_system/physical_file_system.dart'; 14 import 'package:analyzer/file_system/physical_file_system.dart';
15 import 'package:analyzer/src/context/builder.dart'; 15 import 'package:analyzer/src/context/builder.dart';
16 import 'package:analyzer/src/context/cache.dart'; 16 import 'package:analyzer/src/context/cache.dart';
17 import 'package:analyzer/src/context/context.dart'; 17 import 'package:analyzer/src/context/context.dart';
18 import 'package:analyzer/src/dart/ast/utilities.dart'; 18 import 'package:analyzer/src/dart/ast/utilities.dart';
19 import 'package:analyzer/src/dart/element/member.dart'; 19 import 'package:analyzer/src/dart/element/member.dart';
20 import 'package:analyzer/src/dart/sdk/sdk.dart';
20 import 'package:analyzer/src/generated/engine.dart'; 21 import 'package:analyzer/src/generated/engine.dart';
21 import 'package:analyzer/src/generated/error.dart'; 22 import 'package:analyzer/src/generated/error.dart';
22 import 'package:analyzer/src/generated/sdk.dart'; 23 import 'package:analyzer/src/generated/sdk.dart';
23 import 'package:analyzer/src/generated/sdk_io.dart';
24 import 'package:analyzer/src/generated/source.dart'; 24 import 'package:analyzer/src/generated/source.dart';
25 import 'package:analyzer/src/generated/utilities_collection.dart'; 25 import 'package:analyzer/src/generated/utilities_collection.dart';
26 import 'package:analyzer/src/task/dart.dart'; 26 import 'package:analyzer/src/task/dart.dart';
27 import 'package:analyzer/task/general.dart'; 27 import 'package:analyzer/task/general.dart';
28 import 'package:analyzer/task/model.dart'; 28 import 'package:analyzer/task/model.dart';
29 import 'package:path/path.dart' as path; 29 import 'package:path/path.dart' as path;
30 import 'package:unittest/unittest.dart'; 30 import 'package:unittest/unittest.dart';
31 31
32 main() { 32 main() {
33 new StressTest().run(); 33 new StressTest().run();
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 } 92 }
93 93
94 FolderDiff diff(FolderInfo oldFolder) { 94 FolderDiff diff(FolderInfo oldFolder) {
95 Map<String, FileInfo> toMap(FolderInfo folder) { 95 Map<String, FileInfo> toMap(FolderInfo folder) {
96 Map<String, FileInfo> map = <String, FileInfo>{}; 96 Map<String, FileInfo> map = <String, FileInfo>{};
97 folder.files.forEach((file) { 97 folder.files.forEach((file) {
98 map[file.path] = file; 98 map[file.path] = file;
99 }); 99 });
100 return map; 100 return map;
101 } 101 }
102
102 Map<String, FileInfo> newFiles = toMap(this); 103 Map<String, FileInfo> newFiles = toMap(this);
103 Map<String, FileInfo> oldFiles = toMap(oldFolder); 104 Map<String, FileInfo> oldFiles = toMap(oldFolder);
104 Set<String> addedPaths = newFiles.keys.toSet()..removeAll(oldFiles.keys); 105 Set<String> addedPaths = newFiles.keys.toSet()..removeAll(oldFiles.keys);
105 Set<String> removedPaths = oldFiles.keys.toSet()..removeAll(newFiles.keys); 106 Set<String> removedPaths = oldFiles.keys.toSet()..removeAll(newFiles.keys);
106 List<String> changedPaths = <String>[]; 107 List<String> changedPaths = <String>[];
107 newFiles.forEach((path, newFile) { 108 newFiles.forEach((path, newFile) {
108 FileInfo oldFile = oldFiles[path]; 109 FileInfo oldFile = oldFiles[path];
109 if (oldFile != null && oldFile.modification != newFile.modification) { 110 if (oldFile != null && oldFile.modification != newFile.modification) {
110 changedPaths.add(path); 111 changedPaths.add(path);
111 } 112 }
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 AnalysisContextImpl expectedContext; 235 AnalysisContextImpl expectedContext;
235 AnalysisContextImpl actualContext; 236 AnalysisContextImpl actualContext;
236 237
237 Set<Element> currentRevisionValidatedElements = new Set<Element>(); 238 Set<Element> currentRevisionValidatedElements = new Set<Element>();
238 239
239 void createContexts() { 240 void createContexts() {
240 assert(expectedContext == null); 241 assert(expectedContext == null);
241 assert(actualContext == null); 242 assert(actualContext == null);
242 resourceProvider = PhysicalResourceProvider.INSTANCE; 243 resourceProvider = PhysicalResourceProvider.INSTANCE;
243 pathContext = resourceProvider.pathContext; 244 pathContext = resourceProvider.pathContext;
244 sdkManager = new DartSdkManager( 245 fs.Folder sdkDirectory =
245 DirectoryBasedDartSdk.defaultSdkDirectory.getAbsolutePath(), 246 FolderBasedDartSdk.defaultSdkDirectory(resourceProvider);
246 false, 247 sdkManager = new DartSdkManager(sdkDirectory.path, false,
247 (_) => DirectoryBasedDartSdk.defaultSdk); 248 (_) => new FolderBasedDartSdk(resourceProvider, sdkDirectory));
248 contentCache = new ContentCache(); 249 contentCache = new ContentCache();
249 ContextBuilder builder = 250 ContextBuilder builder =
250 new ContextBuilder(resourceProvider, sdkManager, contentCache); 251 new ContextBuilder(resourceProvider, sdkManager, contentCache);
251 builder.defaultOptions = new AnalysisOptionsImpl(); 252 builder.defaultOptions = new AnalysisOptionsImpl();
252 expectedContext = builder.buildContext(folderPath); 253 expectedContext = builder.buildContext(folderPath);
253 actualContext = builder.buildContext(folderPath); 254 actualContext = builder.buildContext(folderPath);
254 expectedContext.analysisOptions = 255 expectedContext.analysisOptions =
255 new AnalysisOptionsImpl.from(expectedContext.analysisOptions) 256 new AnalysisOptionsImpl.from(expectedContext.analysisOptions)
256 ..incremental = true; 257 ..incremental = true;
257 actualContext.analysisOptions = 258 actualContext.analysisOptions =
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
402 List<Element> sortElements(List<Element> elements) { 403 List<Element> sortElements(List<Element> elements) {
403 elements = elements.toList(); 404 elements = elements.toList();
404 elements.sort((a, b) { 405 elements.sort((a, b) {
405 if (a.nameOffset != b.nameOffset) { 406 if (a.nameOffset != b.nameOffset) {
406 return a.nameOffset - b.nameOffset; 407 return a.nameOffset - b.nameOffset;
407 } 408 }
408 return a.name.compareTo(b.name); 409 return a.name.compareTo(b.name);
409 }); 410 });
410 return elements; 411 return elements;
411 } 412 }
413
412 void validateSortedElements( 414 void validateSortedElements(
413 List<Element> actualElements, List<Element> expectedElements) { 415 List<Element> actualElements, List<Element> expectedElements) {
414 expect(actualElements, hasLength(expectedElements.length)); 416 expect(actualElements, hasLength(expectedElements.length));
415 actualElements = sortElements(actualElements); 417 actualElements = sortElements(actualElements);
416 expectedElements = sortElements(expectedElements); 418 expectedElements = sortElements(expectedElements);
417 for (int i = 0; i < expectedElements.length; i++) { 419 for (int i = 0; i < expectedElements.length; i++) {
418 _validateElements(actualElements[i], expectedElements[i], visited); 420 _validateElements(actualElements[i], expectedElements[i], visited);
419 } 421 }
420 } 422 }
423
421 expect(actualValue?.runtimeType, expectedValue?.runtimeType); 424 expect(actualValue?.runtimeType, expectedValue?.runtimeType);
422 expect(actualValue.nameOffset, expectedValue.nameOffset); 425 expect(actualValue.nameOffset, expectedValue.nameOffset);
423 expect(actualValue.name, expectedValue.name); 426 expect(actualValue.name, expectedValue.name);
424 if (expectedValue is ClassElement) { 427 if (expectedValue is ClassElement) {
425 var actualElement = actualValue as ClassElement; 428 var actualElement = actualValue as ClassElement;
426 validateSortedElements(actualElement.accessors, expectedValue.accessors); 429 validateSortedElements(actualElement.accessors, expectedValue.accessors);
427 validateSortedElements( 430 validateSortedElements(
428 actualElement.constructors, expectedValue.constructors); 431 actualElement.constructors, expectedValue.constructors);
429 validateSortedElements(actualElement.fields, expectedValue.fields); 432 validateSortedElements(actualElement.fields, expectedValue.fields);
430 validateSortedElements(actualElement.methods, expectedValue.methods); 433 validateSortedElements(actualElement.methods, expectedValue.methods);
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
625 pairwiseCompare(expectedArguments, (a, b) { 628 pairwiseCompare(expectedArguments, (a, b) {
626 _verifyTypes(a, b, '$desc typeArguments'); 629 _verifyTypes(a, b, '$desc typeArguments');
627 return true; 630 return true;
628 }, 'elements')); 631 }, 'elements'));
629 } else { 632 } else {
630 _failTypeMismatch(actual, expected); 633 _failTypeMismatch(actual, expected);
631 } 634 }
632 } 635 }
633 } 636 }
634 } 637 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698