DAS: Add a test-directory-specific analysis options file

Change-Id: I9504497b6604986f6e7daae9fc46b63287ea023c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/365984
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
diff --git a/pkg/analysis_server/analysis_options.yaml b/pkg/analysis_server/analysis_options.yaml
index 5b88700..86fca43 100644
--- a/pkg/analysis_server/analysis_options.yaml
+++ b/pkg/analysis_server/analysis_options.yaml
@@ -4,8 +4,6 @@
   language:
     strict-casts: true
     strict-raw-types: true
-  exclude:
-    - test/mock_packages/**
   errors:
     # Increase the severity of the unused_import hint.
     unused_import: warning
@@ -14,15 +12,15 @@
     # require some work to reach compliance.
     # See: https://github.com/dart-lang/sdk/issues/48785
 
-    # We have some long test class names which include one or more underscores
-    # to improve readability.
-    camel_case_types: ignore
+    # A fair amount of lib/ code (especially protocol-related code) does not
+    # comply.
     constant_identifier_names: ignore
-    file_names: ignore
     # This package imports much of the implementation libraries of the
     # 'analyzer' (and sometimes the '_fe_analyzer_shared' package), because it
     # is tightly integrated. This will not likely change any time soon.
     implementation_imports: ignore
+    # There are just over 100 violations of this, which can likely be ignored
+    # on a case-by-case or file-by-file basis.
     non_constant_identifier_names: ignore
     overridden_fields: ignore
     todo: ignore
diff --git a/pkg/analysis_server/lib/src/computer/computer_closingLabels.dart b/pkg/analysis_server/lib/src/computer/computer_closing_labels.dart
similarity index 100%
rename from pkg/analysis_server/lib/src/computer/computer_closingLabels.dart
rename to pkg/analysis_server/lib/src/computer/computer_closing_labels.dart
diff --git a/pkg/analysis_server/lib/src/lsp/lsp_analysis_server.dart b/pkg/analysis_server/lib/src/lsp/lsp_analysis_server.dart
index a3d40df..48fdce4 100644
--- a/pkg/analysis_server/lib/src/lsp/lsp_analysis_server.dart
+++ b/pkg/analysis_server/lib/src/lsp/lsp_analysis_server.dart
@@ -7,7 +7,7 @@
 import 'package:analysis_server/lsp_protocol/protocol.dart' hide MessageType;
 import 'package:analysis_server/src/analysis_server.dart';
 import 'package:analysis_server/src/analytics/analytics_manager.dart';
-import 'package:analysis_server/src/computer/computer_closingLabels.dart';
+import 'package:analysis_server/src/computer/computer_closing_labels.dart';
 import 'package:analysis_server/src/computer/computer_outline.dart';
 import 'package:analysis_server/src/flutter/flutter_outline_computer.dart';
 import 'package:analysis_server/src/legacy_analysis_server.dart';
diff --git a/pkg/analysis_server/lib/src/operation/operation_analysis.dart b/pkg/analysis_server/lib/src/operation/operation_analysis.dart
index d24f06b..15cef69 100644
--- a/pkg/analysis_server/lib/src/operation/operation_analysis.dart
+++ b/pkg/analysis_server/lib/src/operation/operation_analysis.dart
@@ -2,7 +2,7 @@
 // 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:analysis_server/src/computer/computer_closingLabels.dart';
+import 'package:analysis_server/src/computer/computer_closing_labels.dart';
 import 'package:analysis_server/src/computer/computer_folding.dart';
 import 'package:analysis_server/src/computer/computer_outline.dart';
 import 'package:analysis_server/src/computer/computer_overrides.dart';
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/replace_Null_with_void.dart b/pkg/analysis_server/lib/src/services/correction/dart/replace_Null_with_void.dart
index 6735bed..8cf33b5 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/replace_Null_with_void.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/replace_Null_with_void.dart
@@ -2,6 +2,9 @@
 // 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.
 
+// We use 'Null' in the file name to distinguish from 'null'.
+// ignore_for_file: file_names
+
 import 'package:analysis_server/src/services/correction/dart/abstract_producer.dart';
 import 'package:analysis_server/src/services/correction/fix.dart';
 import 'package:analyzer/error/error.dart';
diff --git a/pkg/analysis_server/test/analysis_options.yaml b/pkg/analysis_server/test/analysis_options.yaml
new file mode 100644
index 0000000..43c176d
--- /dev/null
+++ b/pkg/analysis_server/test/analysis_options.yaml
@@ -0,0 +1,10 @@
+include: ../analysis_options.yaml
+
+analyzer:
+  exclude:
+    - mock_packages/**
+  errors:
+    # We have some long test class names which include one or more underscores
+    # to improve readability.
+    camel_case_types: ignore
+
diff --git a/pkg/analysis_server/test/src/computer/closing_labels_computer_test.dart b/pkg/analysis_server/test/src/computer/closing_labels_computer_test.dart
index 12a8aa9..328144d 100644
--- a/pkg/analysis_server/test/src/computer/closing_labels_computer_test.dart
+++ b/pkg/analysis_server/test/src/computer/closing_labels_computer_test.dart
@@ -3,7 +3,7 @@
 // BSD-style license that can be found in the LICENSE file.
 
 import 'package:analysis_server/protocol/protocol_generated.dart';
-import 'package:analysis_server/src/computer/computer_closingLabels.dart';
+import 'package:analysis_server/src/computer/computer_closing_labels.dart';
 import 'package:test/test.dart';
 import 'package:test_reflective_loader/test_reflective_loader.dart';
 
diff --git a/pkg/analysis_server/test/src/services/correction/fix/replace_Null_with_void_test.dart b/pkg/analysis_server/test/src/services/correction/fix/replace_Null_with_void_test.dart
index 871972b..adcf6f9 100644
--- a/pkg/analysis_server/test/src/services/correction/fix/replace_Null_with_void_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/fix/replace_Null_with_void_test.dart
@@ -2,6 +2,9 @@
 // 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.
 
+// We use 'Null' in the file name to distinguish from 'null'.
+// ignore_for_file: file_names
+
 import 'package:analysis_server/src/services/correction/fix.dart';
 import 'package:analysis_server/src/services/linter/lint_names.dart';
 import 'package:analyzer_plugin/utilities/fixes/fixes.dart';