Version 2.14.0-11.0.dev

Merge commit 'f4d136eb14e5baf1b8724d206b9ed897c44bcd64' into 'dev'
diff --git a/pkg/analyzer/lib/src/error/best_practices_verifier.dart b/pkg/analyzer/lib/src/error/best_practices_verifier.dart
index c2c568d..21460b7 100644
--- a/pkg/analyzer/lib/src/error/best_practices_verifier.dart
+++ b/pkg/analyzer/lib/src/error/best_practices_verifier.dart
@@ -367,7 +367,9 @@
 
   @override
   void visitExpressionFunctionBody(ExpressionFunctionBody node) {
-    _checkForReturnOfDoNotStore(node.expression);
+    if (!_invalidAccessVerifier._inTestDirectory) {
+      _checkForReturnOfDoNotStore(node.expression);
+    }
     super.visitExpressionFunctionBody(node);
   }
 
@@ -406,8 +408,9 @@
               field.name,
               [field.name, overriddenElement!.enclosingElement.name]);
         }
-
-        _checkForAssignmentOfDoNotStore(field.initializer);
+        if (!_invalidAccessVerifier._inTestDirectory) {
+          _checkForAssignmentOfDoNotStore(field.initializer);
+        }
       }
     } finally {
       _deprecatedVerifier.popInDeprecated();
@@ -678,8 +681,10 @@
   void visitTopLevelVariableDeclaration(TopLevelVariableDeclaration node) {
     _deprecatedVerifier.pushInDeprecatedMetadata(node.metadata);
 
-    for (var decl in node.variables.variables) {
-      _checkForAssignmentOfDoNotStore(decl.initializer);
+    if (!_invalidAccessVerifier._inTestDirectory) {
+      for (var decl in node.variables.variables) {
+        _checkForAssignmentOfDoNotStore(decl.initializer);
+      }
     }
 
     try {
diff --git a/pkg/analyzer/test/src/diagnostics/assignment_of_do_not_store_test.dart b/pkg/analyzer/test/src/diagnostics/assignment_of_do_not_store_test.dart
index 27f94c8..56b086d 100644
--- a/pkg/analyzer/test/src/diagnostics/assignment_of_do_not_store_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/assignment_of_do_not_store_test.dart
@@ -10,11 +10,45 @@
 main() {
   defineReflectiveSuite(() {
     defineReflectiveTests(AssignmentOfDoNotStoreTest);
+    defineReflectiveTests(AssignmentOfDoNotStoreInTestsTest);
   });
 }
 
 @reflectiveTest
+class AssignmentOfDoNotStoreInTestsTest extends PubPackageResolutionTest {
+  @override
+  void setUp() {
+    super.setUp();
+    writeTestPackageConfigWithMeta();
+  }
+
+  test_noHintsInTestDir() async {
+    // Code that is in a test dir (the default for PubPackageResolutionTests)
+    // should not trigger the hint.
+    // (See:https://github.com/dart-lang/sdk/issues/45594)
+    await assertNoErrorsInCode(
+      '''
+import 'package:meta/meta.dart';
+
+class A {
+  @doNotStore
+  String get v => '';
+}
+
+class B {
+  String f = A().v;
+}
+''',
+    );
+  }
+}
+
+@reflectiveTest
 class AssignmentOfDoNotStoreTest extends PubPackageResolutionTest {
+  /// Override the default which is in .../test and should not trigger hints.
+  @override
+  String get testPackageRootPath => '$workspaceRootPath/test_project';
+
   @override
   void setUp() {
     super.setUp();
diff --git a/pkg/analyzer/test/src/diagnostics/return_of_do_not_store_test.dart b/pkg/analyzer/test/src/diagnostics/return_of_do_not_store_test.dart
index ec72a74..4ec91f6 100644
--- a/pkg/analyzer/test/src/diagnostics/return_of_do_not_store_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/return_of_do_not_store_test.dart
@@ -10,11 +10,44 @@
 main() {
   defineReflectiveSuite(() {
     defineReflectiveTests(ReturnOfDoNotStoreTest);
+    defineReflectiveTests(ReturnOfDoNotStoreInTestsTest);
   });
 }
 
 @reflectiveTest
+class ReturnOfDoNotStoreInTestsTest extends PubPackageResolutionTest {
+  @override
+  void setUp() {
+    super.setUp();
+    writeTestPackageConfigWithMeta();
+  }
+
+  test_noHintsInTestDir() async {
+    // Code that is in a test dir (the default for PubPackageResolutionTests)
+    // should not trigger the hint.
+    // (See:https://github.com/dart-lang/sdk/issues/45594)
+    await assertNoErrorsInCode(
+      '''
+import 'package:meta/meta.dart';
+
+@doNotStore
+String _v = '';
+
+String f() {
+  var v = () => _v;
+  return v();
+}
+''',
+    );
+  }
+}
+
+@reflectiveTest
 class ReturnOfDoNotStoreTest extends PubPackageResolutionTest {
+  /// Override the default which is in .../test and should not trigger hints.
+  @override
+  String get testPackageRootPath => '$workspaceRootPath/test_project';
+
   @override
   void setUp() {
     super.setUp();
diff --git a/tools/VERSION b/tools/VERSION
index bcb0d00..2c09787e 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 14
 PATCH 0
-PRERELEASE 10
+PRERELEASE 11
 PRERELEASE_PATCH 0
\ No newline at end of file