| // Copyright (c) 2017, 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. |
| |
| import 'package:test/test.dart'; |
| import 'package:test_reflective_loader/test_reflective_loader.dart'; |
| |
| import 'driver_test.dart'; |
| |
| main() { |
| defineReflectiveSuite(() { |
| defineReflectiveTests(AnalysisDriverTest_Kernel); |
| }); |
| } |
| |
| /// Tests marked with this annotations fail because we either have not triaged |
| /// them, or know that this is an analyzer problem. |
| const potentialAnalyzerProblem = const Object(); |
| |
| /// Wrapper around the test package's `fail` function. |
| /// |
| /// Unlike the test package's `fail` function, this function is not annotated |
| /// with @alwaysThrows, so we can call it at the top of a test method without |
| /// causing the rest of the method to be flagged as dead code. |
| void _fail(String message) { |
| fail(message); |
| } |
| |
| @reflectiveTest |
| class AnalysisDriverTest_Kernel extends AnalysisDriverTest { |
| @override |
| bool get useCFE => true; |
| |
| @override |
| test_asyncChangesDuringAnalysis_getErrors() async { |
| // TODO(brianwilkerson) Re-enable this test. It was disabled because it |
| // appears to be flaky (possibly OS specific). |
| // Unexpected exceptions: |
| // Path: /test/lib/test.dart |
| // Exception: NoSuchMethodError: The getter 'iterator' was called on null. |
| // Receiver: null |
| // Tried calling: iterator |
| // #0 Object.noSuchMethod (dart:core-patch/dart:core/object_patch.dart:46) |
| // #1 _LibraryWalker.evaluateScc (package:front_end/src/incremental/file_state.dart:581:35) |
| // #2 _LibraryWalker.evaluate (package:front_end/src/incremental/file_state.dart:571:5) |
| // #3 DependencyWalker.walk.strongConnect (package:front_end/src/dependency_walker.dart:149:13) |
| // #4 DependencyWalker.walk (package:front_end/src/dependency_walker.dart:168:18) |
| // #5 FileState.topologicalOrder (package:front_end/src/incremental/file_state.dart:147:19) |
| // #6 KernelDriver.getKernelSequence.<anonymous closure>.<anonymous closure> (package:front_end/src/incremental/kernel_driver.dart:282:50) |
| // #7 PerformanceLog.run (package:front_end/src/base/performance_logger.dart:34:15) |
| // #8 KernelDriver.getKernelSequence.<anonymous closure> (package:front_end/src/incremental/kernel_driver.dart:281:43) |
| // await super.test_asyncChangesDuringAnalysis_getErrors(); |
| } |
| |
| @override |
| @failingTest |
| @potentialAnalyzerProblem |
| test_const_annotation_notConstConstructor() async { |
| await super.test_const_annotation_notConstConstructor(); |
| } |
| |
| @failingTest |
| @potentialAnalyzerProblem |
| @override |
| test_const_annotation_withArgs() async { |
| await super.test_const_annotation_withArgs(); |
| } |
| |
| @override |
| @failingTest |
| @potentialAnalyzerProblem |
| test_const_annotation_withoutArgs() async { |
| await super.test_const_annotation_withoutArgs(); |
| } |
| |
| @override |
| @failingTest |
| @potentialAnalyzerProblem |
| test_const_circular_reference() async { |
| await super.test_const_circular_reference(); |
| } |
| |
| @override |
| @failingTest |
| @potentialAnalyzerProblem |
| test_const_dependency_sameUnit() async { |
| await super.test_const_dependency_sameUnit(); |
| } |
| |
| @failingTest |
| @potentialAnalyzerProblem |
| @override |
| test_const_externalConstFactory() async { |
| await super.test_const_externalConstFactory(); |
| } |
| |
| @override |
| @failingTest |
| test_const_implicitCreation() { |
| // Bad state: No data for () at 69 |
| return super.test_const_implicitCreation(); |
| } |
| |
| @failingTest |
| @FastaProblem('https://github.com/dart-lang/sdk/issues/31555') |
| @override |
| test_const_implicitSuperConstructorInvocation() async { |
| await super.test_const_implicitSuperConstructorInvocation(); |
| } |
| |
| @override |
| @failingTest |
| @potentialAnalyzerProblem |
| test_const_simple_topLevelVariable() async { |
| await super.test_const_simple_topLevelVariable(); |
| } |
| |
| @failingTest |
| @potentialAnalyzerProblem |
| @override |
| test_errors_uriDoesNotExist_export() async { |
| await super.test_errors_uriDoesNotExist_export(); |
| } |
| |
| @failingTest |
| @potentialAnalyzerProblem |
| @override |
| test_errors_uriDoesNotExist_import() async { |
| await super.test_errors_uriDoesNotExist_import(); |
| } |
| |
| @failingTest |
| @potentialAnalyzerProblem |
| @override |
| test_errors_uriDoesNotExist_import_deferred() async { |
| await super.test_errors_uriDoesNotExist_import_deferred(); |
| } |
| |
| @failingTest |
| @potentialAnalyzerProblem |
| @override |
| test_errors_uriDoesNotExist_part() async { |
| await super.test_errors_uriDoesNotExist_part(); |
| } |
| |
| @override |
| test_externalSummaries() { |
| // Skipped by design. |
| } |
| |
| @override |
| test_externalSummaries_partReuse() { |
| // Skipped by design. |
| } |
| |
| @failingTest |
| @potentialAnalyzerProblem |
| @override |
| test_getErrors() async { |
| await super.test_getErrors(); |
| } |
| |
| @failingTest |
| @potentialAnalyzerProblem |
| @override |
| test_getResult_importLibrary_thenRemoveIt() async { |
| await super.test_getResult_importLibrary_thenRemoveIt(); |
| } |
| |
| @failingTest |
| @potentialAnalyzerProblem |
| @override |
| test_getResult_invalid_annotation_functionAsConstructor() async { |
| await super.test_getResult_invalid_annotation_functionAsConstructor(); |
| } |
| |
| @failingTest |
| @potentialAnalyzerProblem |
| @override |
| test_getResult_invalidUri() async { |
| await super.test_getResult_invalidUri(); |
| } |
| |
| @failingTest |
| @potentialAnalyzerProblem |
| @override |
| test_getResult_invalidUri_exports_dart() async { |
| await super.test_getResult_invalidUri_exports_dart(); |
| } |
| |
| @failingTest |
| @potentialAnalyzerProblem |
| @override |
| test_getResult_invalidUri_imports_dart() async { |
| await super.test_getResult_invalidUri_imports_dart(); |
| } |
| |
| @failingTest |
| @potentialAnalyzerProblem |
| @override |
| test_getResult_invalidUri_metadata() async { |
| await super.test_getResult_invalidUri_metadata(); |
| } |
| |
| @failingTest |
| @potentialAnalyzerProblem |
| @override |
| test_getResult_mix_fileAndPackageUris() async { |
| await super.test_getResult_mix_fileAndPackageUris(); |
| } |
| |
| @failingTest |
| @FastaProblem('https://github.com/dart-lang/sdk/issues/31409') |
| @override |
| test_getResult_nameConflict_local() async { |
| await super.test_getResult_nameConflict_local(); |
| } |
| |
| @failingTest |
| @FastaProblem('https://github.com/dart-lang/sdk/issues/31409') |
| @override |
| test_getResult_nameConflict_local_typeInference() async { |
| await super.test_getResult_nameConflict_local_typeInference(); |
| } |
| |
| @override |
| @failingTest |
| test_missingDartLibrary_async() { |
| // Crash when compiling package:test/test.dart, at character offset null: |
| // Class 'FutureOr' not found in library 'dart:async' |
| return super.test_missingDartLibrary_async(); |
| } |
| |
| @override |
| @failingTest |
| test_missingDartLibrary_core() { |
| // Crash when compiling package:test/test.dart, at character offset null: |
| // file:///sdk/lib/core/core.dart:1: Internal problem: Couldn't find |
| // 'Object' in 'file:///sdk/lib/core/core.dart'. |
| return super.test_missingDartLibrary_core(); |
| } |
| |
| @failingTest |
| @FastaProblem('https://github.com/dart-lang/sdk/issues/30959') |
| @override |
| test_part_getResult_noLibrary() async { |
| await super.test_part_getResult_noLibrary(); |
| } |
| |
| @failingTest |
| @FastaProblem('https://github.com/dart-lang/sdk/issues/30959') |
| @override |
| test_part_getUnitElement_noLibrary() async { |
| _fail('This test fails even with @failingTest'); |
| await super.test_part_getUnitElement_noLibrary(); |
| } |
| |
| @failingTest |
| @FastaProblem('https://github.com/dart-lang/sdk/issues/30959') |
| @override |
| test_part_results_afterLibrary() async { |
| await super.test_part_results_afterLibrary(); |
| } |
| |
| @failingTest |
| @FastaProblem('https://github.com/dart-lang/sdk/issues/30959') |
| @override |
| test_part_results_noLibrary() async { |
| await super.test_part_results_noLibrary(); |
| } |
| |
| @failingTest |
| @potentialAnalyzerProblem |
| @override |
| test_removeFile_invalidate_importers() async { |
| await super.test_removeFile_invalidate_importers(); |
| } |
| |
| @failingTest |
| @potentialAnalyzerProblem |
| @override |
| test_results_order() async { |
| await super.test_results_order(); |
| } |
| } |
| |
| /// Tests marked with this annotation fail because of a Fasta problem. |
| class FastaProblem { |
| const FastaProblem(String issueUri); |
| } |