| Index: pkg/analyzer/test/src/dart/analysis/driver_test.dart
|
| diff --git a/pkg/analyzer/test/src/dart/analysis/driver_test.dart b/pkg/analyzer/test/src/dart/analysis/driver_test.dart
|
| index 1010176270fb49f29dc820bff0f661c5cc3e6dbd..0b49859f0bce3d599cbaa745ea6e3a05fd2ed9d0 100644
|
| --- a/pkg/analyzer/test/src/dart/analysis/driver_test.dart
|
| +++ b/pkg/analyzer/test/src/dart/analysis/driver_test.dart
|
| @@ -112,8 +112,7 @@ class AnalysisDriverSchedulerTest {
|
| AnalysisResult result = await driver2.getResult(b);
|
| expect(result.path, b);
|
|
|
| - await driver1.status.firstWhere((status) => status.isIdle);
|
| - await driver2.status.firstWhere((status) => status.isIdle);
|
| + await scheduler.status.firstWhere((status) => status.isIdle);
|
|
|
| expect(allResults, hasLength(3));
|
| expect(allResults[0].path, b);
|
| @@ -134,8 +133,7 @@ class AnalysisDriverSchedulerTest {
|
| driver1.priorityFiles = [a];
|
| driver2.priorityFiles = [a];
|
|
|
| - await driver1.status.firstWhere((status) => status.isIdle);
|
| - await driver2.status.firstWhere((status) => status.isIdle);
|
| + await scheduler.status.firstWhere((status) => status.isIdle);
|
|
|
| expect(allResults, hasLength(2));
|
| expect(allResults[0].path, a);
|
| @@ -155,8 +153,7 @@ class AnalysisDriverSchedulerTest {
|
| driver1.priorityFiles = [b];
|
| driver2.priorityFiles = [b];
|
|
|
| - await driver1.status.firstWhere((status) => status.isIdle);
|
| - await driver2.status.firstWhere((status) => status.isIdle);
|
| + await scheduler.status.firstWhere((status) => status.isIdle);
|
|
|
| expect(allResults, hasLength(2));
|
| expect(allResults[0].path, b);
|
| @@ -179,8 +176,7 @@ class AnalysisDriverSchedulerTest {
|
| driver1.priorityFiles = [a, c];
|
| driver2.priorityFiles = [a, c];
|
|
|
| - await driver1.status.firstWhere((status) => status.isIdle);
|
| - await driver2.status.firstWhere((status) => status.isIdle);
|
| + await scheduler.status.firstWhere((status) => status.isIdle);
|
|
|
| expect(allResults, hasLength(3));
|
| expect(allResults[0].path, a);
|
| @@ -291,7 +287,7 @@ import 'a.dart';
|
| }
|
|
|
| // Initial analysis, 'b' does not use 'a', so there is a hint.
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
| assertNumberOfErrorsInB(1);
|
|
|
| // Update 'b' to use 'a', no more hints.
|
| @@ -304,7 +300,7 @@ main() {
|
| }
|
| ''');
|
| driver.changeFile(b);
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
| assertNumberOfErrorsInB(0);
|
|
|
| // Change 'b' content so that it has a hint.
|
| @@ -317,7 +313,7 @@ import 'a.dart';
|
| ''');
|
| driver.removeFile(b);
|
| driver.addFile(b);
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
| assertNumberOfErrorsInB(1);
|
| }
|
|
|
| @@ -332,7 +328,7 @@ import 'a.dart';
|
| // Now remove 'a'.
|
| driver.removeFile(a);
|
|
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
|
|
| // Only 'b' has been analyzed, because 'a' was removed before we started.
|
| expect(allResults, hasLength(1));
|
| @@ -441,7 +437,7 @@ var A = B;
|
| driver.addFile(a);
|
|
|
| // We have a result only for "a".
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
| expect(allResults, hasLength(1));
|
| {
|
| AnalysisResult ar = allResults.firstWhere((r) => r.path == a);
|
| @@ -458,7 +454,7 @@ var A = B;
|
|
|
| // While "b" is not analyzed explicitly, it is analyzed implicitly.
|
| // The change causes "a" to be reanalyzed.
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
| expect(allResults, hasLength(1));
|
| {
|
| AnalysisResult ar = allResults.firstWhere((r) => r.path == a);
|
| @@ -474,14 +470,14 @@ var A = B;
|
|
|
| driver.addFile(a);
|
|
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
| allResults.clear();
|
|
|
| // Change "b" and notify.
|
| // Nothing depends on "b", so nothing is analyzed.
|
| provider.updateFile(b, 'class B2 {}');
|
| driver.changeFile(b);
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
| expect(allResults, isEmpty);
|
|
|
| // This should not add "b" to the file state.
|
| @@ -508,7 +504,7 @@ var B1 = A1;
|
| driver.priorityFiles = [a, b];
|
| driver.addFile(a);
|
| driver.addFile(b);
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
|
|
| // We have results for both "a" and "b".
|
| expect(allResults, hasLength(2));
|
| @@ -535,7 +531,7 @@ var A2 = B1;
|
|
|
| // We again get results for both "a" and "b".
|
| // The results are consistent.
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
| expect(allResults, hasLength(2));
|
| {
|
| AnalysisResult ar = allResults.firstWhere((r) => r.path == a);
|
| @@ -553,7 +549,7 @@ var A2 = B1;
|
|
|
| // Initial analysis.
|
| {
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
| expect(allResults, hasLength(1));
|
| AnalysisResult result = allResults[0];
|
| expect(result.path, testFile);
|
| @@ -576,7 +572,7 @@ var A2 = B1;
|
|
|
| // We get a new result.
|
| {
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
| expect(allResults, hasLength(1));
|
| AnalysisResult result = allResults[0];
|
| expect(result.path, testFile);
|
| @@ -671,7 +667,7 @@ bbb() {}
|
|
|
| driver.addFile(templatePath);
|
|
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
| expect(allExceptions, isEmpty);
|
| expect(allResults, isEmpty);
|
|
|
| @@ -687,7 +683,7 @@ bbb() {}
|
|
|
| driver.priorityFiles = [templatePath];
|
| driver.changeFile(templatePath);
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
| expect(allExceptions, isEmpty);
|
| expect(allResults, isEmpty);
|
|
|
| @@ -771,7 +767,7 @@ main() {
|
| expect(f.returnType.type.toString(), 'int');
|
|
|
| // The same result is also received through the stream.
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
| expect(allResults, [result]);
|
| }
|
|
|
| @@ -790,7 +786,7 @@ main() {
|
| ''');
|
| driver.addFile(a);
|
| driver.addFile(b);
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
|
|
| AnalysisResult result = await driver.getResult(b);
|
| expect(result.errors, isEmpty);
|
| @@ -848,7 +844,7 @@ class C {
|
| }
|
| ''',
|
| priority: true);
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
|
|
| AnalysisResult result = await driver.getResult(testFile);
|
| expect(_getClassFieldType(result.unit, 'C', 'f'), 'int');
|
| @@ -865,7 +861,7 @@ class B extends A {
|
| }
|
| ''',
|
| priority: true);
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
|
|
| AnalysisResult result = await driver.getResult(testFile);
|
| expect(_getClassMethodReturnType(result.unit, 'A', 'm'), 'int');
|
| @@ -1022,7 +1018,7 @@ var VC = new A<double>();
|
|
|
| driver.addFile(a);
|
| driver.addFile(b);
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
|
|
| {
|
| AnalysisResult result = await driver.getResult(b);
|
| @@ -1058,7 +1054,7 @@ var B1 = A1;
|
|
|
| driver.addFile(a);
|
| driver.addFile(b);
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
|
|
| {
|
| AnalysisResult result = await driver.getResult(a);
|
| @@ -1233,7 +1229,7 @@ main() {
|
| expect(driver.hasFilesToAnalyze, isTrue);
|
|
|
| // Wait for idle, nothing to do.
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
| expect(driver.hasFilesToAnalyze, isFalse);
|
|
|
| // Ask to analyze the file, so there is a file to analyze.
|
| @@ -1247,7 +1243,7 @@ main() {
|
| // Change a file, even if not added, it still might affect analysis.
|
| driver.changeFile(_p('/not/added.dart'));
|
| expect(driver.hasFilesToAnalyze, isTrue);
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
| expect(driver.hasFilesToAnalyze, isFalse);
|
|
|
| // Request of referenced names is not analysis of a file.
|
| @@ -1334,7 +1330,7 @@ import 'b.dart';
|
|
|
| driver.addFile(a);
|
| driver.addFile(c);
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
|
|
| expect(driver.knownFiles, contains(a));
|
| expect(driver.knownFiles, contains(b));
|
| @@ -1343,7 +1339,7 @@ import 'b.dart';
|
| // Remove a.dart and analyze.
|
| // Both a.dart and b.dart are not known now.
|
| driver.removeFile(a);
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
| expect(driver.knownFiles, isNot(contains(a)));
|
| expect(driver.knownFiles, isNot(contains(b)));
|
| expect(driver.knownFiles, contains(c));
|
| @@ -1595,7 +1591,7 @@ var b = new B();
|
| driver.addFile(c);
|
|
|
| {
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
|
|
| // c.dart was added after a.dart, so it is analyzed after a.dart,
|
| // so we know that a.dart is the library of c.dart, so no errors.
|
| @@ -1608,7 +1604,7 @@ var b = new B();
|
| {
|
| provider.updateFile(a, '// does not use c.dart anymore');
|
| driver.changeFile(a);
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
|
|
| // Now c.dart does not have a library context, so A and B cannot be
|
| // resolved, so there are errors.
|
| @@ -1646,7 +1642,7 @@ var b = new B();
|
| driver.addFile(a);
|
| driver.addFile(b);
|
|
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
|
|
| // c.dart was added before a.dart, so we attempt to analyze it before
|
| // a.dart, but we cannot find the library for it, so we delay analysis
|
| @@ -1670,7 +1666,7 @@ var b = new B();
|
|
|
| driver.addFile(c);
|
|
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
|
|
| // There is no library which c.dart is a part of, so it has unresolved
|
| // A and B references.
|
| @@ -1708,7 +1704,7 @@ var b = new B();
|
| driver.addFile(a);
|
| driver.addFile(b);
|
|
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
|
|
| // c.dart was added before a.dart, so we attempt to analyze it before
|
| // a.dart, but we cannot find the library for it, so we delay analysis
|
| @@ -1735,7 +1731,7 @@ var A = B;
|
| driver.addFile(b);
|
|
|
| // We have results for both "a" and "b".
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
| expect(allResults, hasLength(2));
|
| {
|
| AnalysisResult ar = allResults.firstWhere((r) => r.path == a);
|
| @@ -1755,7 +1751,7 @@ var A = B;
|
| // While "b" is not analyzed explicitly, it is analyzed implicitly.
|
| // We don't get a result for "b".
|
| // But the change causes "a" to be reanalyzed.
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
| expect(allResults, hasLength(1));
|
| {
|
| AnalysisResult ar = allResults.firstWhere((r) => r.path == a);
|
| @@ -1767,7 +1763,7 @@ var A = B;
|
| addTestFile('main() {}');
|
|
|
| // We have a result.
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
| expect(allResults, hasLength(1));
|
| expect(allResults[0].path, testFile);
|
| allResults.clear();
|
| @@ -1778,7 +1774,7 @@ var A = B;
|
| driver.removeFile(testFile);
|
| driver.changeFile(testFile);
|
|
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
| expect(allResults, isEmpty);
|
| }
|
|
|
| @@ -1791,7 +1787,7 @@ var A = B;
|
|
|
| driver.addFile(a);
|
| driver.addFile(b);
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
|
|
| // b.dart s clean.
|
| expect(allResults.singleWhere((r) => r.path == b).errors, isEmpty);
|
| @@ -1800,7 +1796,7 @@ var A = B;
|
| // Remove a.dart, now b.dart should be reanalyzed and has an error.
|
| provider.deleteFile(a);
|
| driver.removeFile(a);
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
| expect(allResults.singleWhere((r) => r.path == b).errors, hasLength(2));
|
| allResults.clear();
|
| }
|
| @@ -1809,7 +1805,7 @@ var A = B;
|
| String content = 'int f() => 42;';
|
| addTestFile(content, priority: true);
|
|
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
|
|
| expect(allResults, hasLength(1));
|
| AnalysisResult result = allResults.single;
|
| @@ -1837,7 +1833,7 @@ var A = B;
|
| driver.addFile(b);
|
| driver.addFile(c);
|
| driver.priorityFiles = [b];
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
|
|
| expect(allResults, hasLength(3));
|
| AnalysisResult result = allResults[0];
|
| @@ -1849,7 +1845,7 @@ var A = B;
|
| test_results_regular() async {
|
| String content = 'int f() => 42;';
|
| addTestFile(content);
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
|
|
| expect(allResults, hasLength(1));
|
| AnalysisResult result = allResults.single;
|
| @@ -1863,7 +1859,7 @@ var A = B;
|
|
|
| test_results_status() async {
|
| addTestFile('int f() => 42;');
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
|
|
| expect(allStatuses, hasLength(2));
|
| expect(allStatuses[0].isAnalyzing, isTrue);
|
| @@ -1873,16 +1869,16 @@ var A = B;
|
| }
|
|
|
| test_waitForIdle() async {
|
| - // With no analysis to do, driver.waitForIdle should complete immediately.
|
| - await driver.waitForIdle();
|
| + // With no analysis to do, scheduler.waitForIdle should complete immediately.
|
| + await scheduler.waitForIdle();
|
| // Now schedule some analysis.
|
| addTestFile('int f() => 42;');
|
| expect(allResults, isEmpty);
|
| - // driver.waitForIdle should wait for the analysis.
|
| - await driver.waitForIdle();
|
| + // scheduler.waitForIdle should wait for the analysis.
|
| + await scheduler.waitForIdle();
|
| expect(allResults, hasLength(1));
|
| // Make sure there is no more analysis pending.
|
| - await driver.waitForIdle();
|
| + await scheduler.waitForIdle();
|
| expect(allResults, hasLength(1));
|
| }
|
|
|
|
|