Files
sdk/pkg/analysis_server/test/verify_tests_test.dart
T
Danny Tuppeny ea790e901c [analysis_server]/[analyzer] Change package_path alias -> path
Change-Id: Ia4848e6b87433401be95a4e74c7681a1c983c12f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/313568
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2023-07-17 16:48:36 +00:00

55 lines
2.0 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_utilities/package_root.dart' as package_root;
import 'package:analyzer_utilities/verify_tests.dart';
import 'package:path/path.dart' as path;
void main() {
var provider = PhysicalResourceProvider.INSTANCE;
var packageRoot = provider.pathContext.normalize(package_root.packageRoot);
var pathToAnalyze = provider.pathContext.join(packageRoot, 'analysis_server');
var testDirPath = provider.pathContext.join(pathToAnalyze, 'test');
_VerifyTests(testDirPath, excludedPaths: [
provider.pathContext.join(testDirPath, 'mock_packages')
]).build();
}
class _VerifyTests extends VerifyTests {
_VerifyTests(super.testDirPath, {super.excludedPaths});
@override
bool isExpensive(Resource resource) => resource.shortName == 'integration';
@override
bool isOkAsAdditionalTestAllImport(Folder folder, String uri) {
final pathContext = folder.provider.pathContext;
if (folder.path == pathContext.join(testDirPath, 'lsp') &&
uri == '../src/lsp/lsp_packet_transformer_test.dart') {
// `lsp/test_all.dart` also runs this one test in `lsp/src` for
// convenience.
return true;
}
if (folder.path == testDirPath &&
uri == '../tool/spec/check_all_test.dart') {
// The topmost `test_all.dart` also runs this one test in `tool` for
// convenience.
return true;
}
// Allow for updating textual expectations.
if (path.url.basename(uri) == 'text_expectations.dart') {
if (folder.path ==
pathContext.join(testDirPath, 'services', 'completion', 'dart')) {
return true;
}
}
return super.isOkAsAdditionalTestAllImport(folder, uri);
}
}