Files
sdk/pkg/analyzer/test/verify_tests_test.dart
Sam Rawlins 4ef2725654 Add an analyzer_testing package
We intend to publish and maintain this as a set of testing-related
utilities for the analyzer packages and for analyzer plugins.

Work towards https://github.com/dart-lang/sdk/issues/55660

See the doc: https://docs.google.com/document/d/1jRtd8B1ijPAP6Pz89HRnyIZXw2VMjaZx0vRZTpoNO84/edit?tab=t.0#heading=h.2sz41a544qhi

Change-Id: I2764b1357a932fa955060b26d78038997eaa9536
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/425080
Reviewed-by: Slava Egorov <vegorov@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2025-05-02 06:58:49 -07:00

40 lines
1.4 KiB
Dart

// Copyright (c) 2019, 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:analyzer/file_system/file_system.dart';
import 'package:analyzer/file_system/physical_file_system.dart';
import 'package:analyzer_testing/package_root.dart' as package_root;
import 'package:analyzer_utilities/verify_tests.dart';
import 'package:path/path.dart' as path;
main() {
var provider = PhysicalResourceProvider.INSTANCE;
var packageRoot = provider.pathContext.normalize(package_root.packageRoot);
var pathToAnalyze = provider.pathContext.join(packageRoot, 'analyzer');
var testDirPath = provider.pathContext.join(pathToAnalyze, 'test');
_VerifyTests(testDirPath).build();
}
class _VerifyTests extends VerifyTests {
_VerifyTests(super.testDirPath);
@override
bool isExpensive(Resource resource) =>
resource.shortName.endsWith('_integration_test.dart');
@override
bool isOkAsAdditionalTestAllImport(Folder folder, String uri) {
// This is not really a test, but a helper to update expectations.
if (path.url.basename(uri) == 'node_text_expectations.dart') {
return true;
}
return super.isOkAsAdditionalTestAllImport(folder, uri);
}
@override
bool isOkForTestAllToBeMissing(Folder folder) =>
folder.shortName == 'id_tests';
}