[CQ] [testing] mock support for `test_reflective_loader`

Change-Id: I6db62d6adb03576763f65157a45227b884937b17
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/412804
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Auto-Submit: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
diff --git a/pkg/analyzer_utilities/lib/test/mock_packages/mock_packages.dart b/pkg/analyzer_utilities/lib/test/mock_packages/mock_packages.dart
index 298d26e..709c744 100644
--- a/pkg/analyzer_utilities/lib/test/mock_packages/mock_packages.dart
+++ b/pkg/analyzer_utilities/lib/test/mock_packages/mock_packages.dart
@@ -139,6 +139,11 @@
     return packageFolder.getChildAssumingFolder('lib');
   }
 
+  Folder addTestReflectiveLoader() {
+    var packageFolder = _addFiles('test_reflective_loader');
+    return packageFolder.getChildAssumingFolder('lib');
+  }
+
   Folder addUI() {
     var packageFolder = _addFiles('ui');
     return packageFolder.getChildAssumingFolder('lib');
diff --git a/pkg/analyzer_utilities/lib/test/mock_packages/package_content/test_reflective_loader/lib/test_reflective_loader.dart b/pkg/analyzer_utilities/lib/test/mock_packages/package_content/test_reflective_loader/lib/test_reflective_loader.dart
new file mode 100644
index 0000000..66d69a1
--- /dev/null
+++ b/pkg/analyzer_utilities/lib/test/mock_packages/package_content/test_reflective_loader/lib/test_reflective_loader.dart
@@ -0,0 +1,17 @@
+library test_reflective_loader;
+
+const Object reflectiveTest = _ReflectiveTest();
+const Object skippedTest = SkippedTest();
+const Object soloTest = _SoloTest();
+
+class SkippedTest {
+  const SkippedTest({String? issue, String? reason});
+}
+
+class _ReflectiveTest {
+  const _ReflectiveTest();
+}
+
+class _SoloTest {
+  const _SoloTest();
+}
diff --git a/pkg/analyzer_utilities/lib/test/mock_packages/package_content/test_reflective_loader/pubspec.yaml b/pkg/analyzer_utilities/lib/test/mock_packages/package_content/test_reflective_loader/pubspec.yaml
new file mode 100644
index 0000000..1e3f6f2
--- /dev/null
+++ b/pkg/analyzer_utilities/lib/test/mock_packages/package_content/test_reflective_loader/pubspec.yaml
@@ -0,0 +1 @@
+name: test_reflective_loader
diff --git a/pkg/linter/test/rule_test_support.dart b/pkg/linter/test/rule_test_support.dart
index 1abe8e5..f650280 100644
--- a/pkg/linter/test/rule_test_support.dart
+++ b/pkg/linter/test/rule_test_support.dart
@@ -177,7 +177,7 @@
 
   bool get addMetaPackageDep => false;
 
-  bool get addReflectiveTestLoaderPackageDep => false;
+  bool get addTestReflectiveLoaderPackageDep => false;
 
   bool get dumpAstOnFailures => true;
 
@@ -332,17 +332,8 @@
       configCopy.add(name: 'meta', rootPath: metaPath);
     }
 
-    if (addReflectiveTestLoaderPackageDep) {
-      var testReflectiveLoaderPath =
-          '$workspaceRootPath/test_reflective_loader';
-      newFile('$testReflectiveLoaderPath/lib/test_reflective_loader.dart', r'''
-library test_reflective_loader;
-
-const Object reflectiveTest = _ReflectiveTest();
-class _ReflectiveTest {
-  const _ReflectiveTest();
-}
-''');
+    if (addTestReflectiveLoaderPackageDep) {
+      var testReflectiveLoaderPath = addTestReflectiveLoader().parent.path;
       configCopy.add(
         name: 'test_reflective_loader',
         rootPath: testReflectiveLoaderPath,
diff --git a/pkg/linter/test/rules/strict_top_level_inference_test.dart b/pkg/linter/test/rules/strict_top_level_inference_test.dart
index 0be0919..d61fdbd 100644
--- a/pkg/linter/test/rules/strict_top_level_inference_test.dart
+++ b/pkg/linter/test/rules/strict_top_level_inference_test.dart
@@ -16,7 +16,7 @@
 @reflectiveTest
 class StrictTopLevelInferenceTest extends LintRuleTest {
   @override
-  bool get addReflectiveTestLoaderPackageDep => true;
+  bool get addTestReflectiveLoaderPackageDep => true;
 
   @override
   List<ErrorCode> get ignoredErrorCodes => [
diff --git a/pkg/linter/test/rules/unreachable_from_main_test.dart b/pkg/linter/test/rules/unreachable_from_main_test.dart
index efb5c86..263e6d6 100644
--- a/pkg/linter/test/rules/unreachable_from_main_test.dart
+++ b/pkg/linter/test/rules/unreachable_from_main_test.dart
@@ -18,7 +18,7 @@
   bool get addMetaPackageDep => true;
 
   @override
-  bool get addReflectiveTestLoaderPackageDep => true;
+  bool get addTestReflectiveLoaderPackageDep => true;
 
   @override
   String get lintRule => LintNames.unreachable_from_main;