Use shared mock packages in linter

I believe that this removes the last of the mock packages from the
linter. I went ahead and created shared mock packages for everything
supported in 'analyzer' even though the linter doesn't use all of them.

Change-Id: I83a9f83a9c9cca7c6969ffade3d0b11c1ec54fd1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/372220
Reviewed-by: Sam Rawlins <srawlins@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
This commit is contained in:
Brian Wilkerson
2024-06-19 14:07:19 +00:00
committed by Commit Queue
parent 7ed610de1d
commit 5fc437e6f2
12 changed files with 83 additions and 25 deletions
@@ -94,11 +94,36 @@ mixin MockPackagesMixin {
ResourceProvider get resourceProvider;
Folder addAngularMeta() {
var packageFolder = _addFiles('angular_meta');
return packageFolder.getChildAssumingFolder('lib');
}
Folder addFfi() {
var packageFolder = _addFiles('ffi');
return packageFolder.getChildAssumingFolder('lib');
}
Folder addFixnum() {
var packageFolder = _addFiles('fixnum');
return packageFolder.getChildAssumingFolder('lib');
}
Folder addFlutter() {
var packageFolder = _addFiles('flutter');
return packageFolder.getChildAssumingFolder('lib');
}
Folder addJs() {
var packageFolder = _addFiles('js');
return packageFolder.getChildAssumingFolder('lib');
}
Folder addKernel() {
var packageFolder = _addFiles('kernel');
return packageFolder.getChildAssumingFolder('lib');
}
Folder addMeta() {
var packageFolder = _addFiles('meta');
return packageFolder.getChildAssumingFolder('lib');
@@ -0,0 +1,14 @@
library angular.meta;
const _VisibleForTemplate visibleForTemplate = const _VisibleForTemplate();
const _VisibleOutsideTemplate visibleOutsideTemplate =
const _VisibleOutsideTemplate();
class _VisibleForTemplate {
const _VisibleForTemplate();
}
class _VisibleOutsideTemplate {
const _VisibleOutsideTemplate();
}
@@ -0,0 +1 @@
name: angular_meta
@@ -0,0 +1,20 @@
import 'dart:ffi';
const Allocator calloc = _CallocAllocator();
abstract class Allocator {
Pointer<T> allocate<T extends NativeType>(int byteCount, {int? alignment});
void free(Pointer pointer);
}
final class Utf8 extends Opaque {}
class _CallocAllocator implements Allocator {
@override
Pointer<T> allocate<T extends NativeType>(int byteCount, {int? alignment}) =>
throw '';
@override
void free(Pointer pointer) => throw '';
}
@@ -0,0 +1,5 @@
library fixnum;
class Int32 {}
class Int64 {}
@@ -0,0 +1,4 @@
library js;
// ignore: EXPORT_INTERNAL_LIBRARY
export 'dart:_js_annotations' show JS, staticInterop;
@@ -0,0 +1,7 @@
library kernel.ast;
abstract class Node {}
class DartType extends Node {}
class InterfaceType extends DartType {}
+3 -25
View File
@@ -16,7 +16,6 @@ import 'package:analyzer/src/lint/registry.dart';
import 'package:analyzer/src/lint/util.dart';
import 'package:analyzer/src/test_utilities/find_element.dart';
import 'package:analyzer/src/test_utilities/find_node.dart';
import 'package:analyzer/src/test_utilities/mock_packages.dart';
import 'package:analyzer/src/test_utilities/mock_sdk.dart';
import 'package:analyzer/src/test_utilities/resource_provider_mixin.dart';
import 'package:analyzer_utilities/test/mock_packages/mock_packages.dart';
@@ -421,10 +420,7 @@ class PubPackageResolutionTest extends _ContextResolutionTest {
);
if (addFixnumPackageDep) {
var fixnumPath = '/packages/fixnum';
addFixnumPackageFiles(
getFolder(fixnumPath),
);
var fixnumPath = addFixnum().parent.path;
configCopy.add(name: 'fixnum', rootPath: fixnumPath);
}
@@ -437,18 +433,12 @@ class PubPackageResolutionTest extends _ContextResolutionTest {
}
if (addJsPackageDep) {
var jsPath = '/packages/js';
MockPackages.addJsPackageFiles(
getFolder(jsPath),
);
var jsPath = addJs().parent.path;
configCopy.add(name: 'js', rootPath: jsPath);
}
if (addKernelPackageDep) {
var kernelPath = '/packages/kernel';
MockPackages.addKernelPackageFiles(
getFolder(kernelPath),
);
var kernelPath = addKernel().parent.path;
configCopy.add(name: 'kernel', rootPath: kernelPath);
}
@@ -497,18 +487,6 @@ class PubPackageResolutionTest extends _ContextResolutionTest {
}
return [...listener.errors];
}
/// Creates a fake 'fixnum' package that can be used by tests.
static void addFixnumPackageFiles(Folder rootFolder) {
var libFolder = rootFolder.getChildAssumingFolder('lib');
libFolder.getChildAssumingFile('fixnum.dart').writeAsStringSync(r'''
library fixnum;
class Int32 {}
class Int64 {}
''');
}
}
class PubspecYamlFileConfig {