From f4b76305d57dfdc34bb878a1e914a27b51a06459 Mon Sep 17 00:00:00 2001
From: Nicholas Verne <nverne@chromium.org>
Date: Wed, 27 Jan 2021 04:08:05 +0000
Subject: [PATCH] Split out tast_control so we can watch changes to
 tast_disabled_tests.

Bug: 1157356
Change-Id: Ic6762bfa9c1e3f1978ff0a8197f0f80f4800eec2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2643678
Reviewed-by: Ryo Hashimoto <hashimoto@chromium.org>
Reviewed-by: Ben Pastene <bpastene@chromium.org>
Reviewed-by: Shuhei Takahashi <nya@chromium.org>
Commit-Queue: Nicholas Verne <nverne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#847490}
---
 WATCHLISTS                              |  5 +++
 chromeos/BUILD.gn                       | 39 +++-------------------
 chromeos/OWNERS                         |  2 ++
 chromeos/tast_control.gni               | 43 +++++++++++++++++++++++++
 docs/testing/chromeos_debugging_tips.md |  2 +-
 5 files changed, 56 insertions(+), 35 deletions(-)
 create mode 100644 chromeos/tast_control.gni

diff --git a/WATCHLISTS b/WATCHLISTS
index d1e7dc167f65f..49f74cfcdcd4c 100644
--- a/WATCHLISTS
+++ b/WATCHLISTS
@@ -807,6 +807,9 @@
                   'ui/chromeos/network/|'\
                   'ui/webui/resources/cr_components/chromeos/network/'
     },
+    'chromeos_tast_control': {
+      'filepath': 'chromeos/tast_control.gni',
+    },
     'chromeos_timezone': {
       'filepath': 'chromeos/timezone/',
     },
@@ -2409,6 +2412,8 @@
                      'jonmann+watch-network@chromium.org',
                      'stevenjb+watch-network@chromium.org',
                      'vecore+watch-network@google.com'],
+    'chromeos_tast_control': ['chromeos-engprod+watch@google.com',
+                              'bpastene+watch@chromium.org'],
     'chromeos_timezone': ['alemate+watch@chromium.org'],
     'chromeos_webui': ['alemate+watch@chromium.org'],
     'chromeos_wifi_sync': ['jonmann+watch@chromium.org',
diff --git a/chromeos/BUILD.gn b/chromeos/BUILD.gn
index 2d5dbcb5c9ed9..506979b61e86a 100644
--- a/chromeos/BUILD.gn
+++ b/chromeos/BUILD.gn
@@ -8,6 +8,7 @@ import("//build/config/ui.gni")
 import("//testing/libfuzzer/fuzzer_test.gni")
 import("//testing/test.gni")
 import("//third_party/protobuf/proto_library.gni")
+import("./tast_control.gni")
 
 assert(is_chromeos, "Non-Chrome-OS builds must not depend on //chromeos")
 
@@ -260,40 +261,10 @@ if (is_chromeos_device) {
   # Tast test sources live in the Chromium OS repository.
   # To diagnose tast failures or disable tests, see go/tast-failures
   tast_test("chrome_all_tast_tests") {
-    # To disable a specific test, add it the following list and cite a bug.
-    tast_disabled_tests = [
-      # crbug.com/1162346
-      "ui.WindowControl",
-
-      # crbug.com/1167243
-      "ui.ChromeLogin",
-
-      # crbug.com/1115622
-      "ui.ChromeLoginGAIA",
-
-      # crbug.com/1099695
-      "platform.Drivefs",
-
-      # crbug.com/1131496
-      "apps.LaunchHelpApp.clamshell_oobe_stable",
-      "apps.LaunchHelpApp.tablet_oobe_stable",
-
-      # crbug.com/1148036
-      "ui.ExistingUserLogin",
-      "ui.SigninProfileExtension",
-
-      # crbug.com/1154794
-      "policy.DefaultGeolocationSetting",
-
-      # crbug.com/1115622
-      "inputs.VirtualKeyboardOOBE",
-
-      # crbug.com/1156006
-      "filemanager.DragDrop",
-
-      # crbug.com/1158051
-      "policy.AllowDinosaurEasterEgg",
-    ]
+    # To disable a specific test, add it to the
+    # tast_disabled_tests_from_chrome_all list in "tast_control.gni" and cite
+    # a bug.
+    tast_disabled_tests = tast_disabled_tests_from_chrome_all
   }
 
   tast_test("chrome_all_tast_tests_informational") {
diff --git a/chromeos/OWNERS b/chromeos/OWNERS
index 7d3e7d3b4126b..8b07334e577ad 100644
--- a/chromeos/OWNERS
+++ b/chromeos/OWNERS
@@ -8,6 +8,8 @@ per-file BUILD.gn=*
 per-file *.xtb=file://tools/translation/TRANSLATION_OWNERS
 # Strings
 per-file chromeos_strings.grd=*
+# Tast test control
+per-file tast_control.gni=*
 
 # PST
 achuith@chromium.org
diff --git a/chromeos/tast_control.gni b/chromeos/tast_control.gni
new file mode 100644
index 0000000000000..2e08319979cd9
--- /dev/null
+++ b/chromeos/tast_control.gni
@@ -0,0 +1,43 @@
+# Copyright 2021 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# WARNING: if you wish to disable a tast test that runs in a ChromeOS SDK
+# build, this is the wrong file to edit. You need to mark those tests as
+# "informational" in their source .go files.
+
+# To disable a specific test in chrome_all_tast_tests, add it the following
+# list and cite a bug.
+tast_disabled_tests_from_chrome_all = [
+  # crbug.com/1162346
+  "ui.WindowControl",
+
+  # crbug.com/1167243
+  "ui.ChromeLogin",
+
+  # crbug.com/1115622
+  "ui.ChromeLoginGAIA",
+
+  # crbug.com/1099695
+  "platform.Drivefs",
+
+  # crbug.com/1131496
+  "apps.LaunchHelpApp.clamshell_oobe_stable",
+  "apps.LaunchHelpApp.tablet_oobe_stable",
+
+  # crbug.com/1148036
+  "ui.ExistingUserLogin",
+  "ui.SigninProfileExtension",
+
+  # crbug.com/1154794
+  "policy.DefaultGeolocationSetting",
+
+  # crbug.com/1115622
+  "inputs.VirtualKeyboardOOBE",
+
+  # crbug.com/1156006
+  "filemanager.DragDrop",
+
+  # crbug.com/1158051
+  "policy.AllowDinosaurEasterEgg",
+]
diff --git a/docs/testing/chromeos_debugging_tips.md b/docs/testing/chromeos_debugging_tips.md
index 1d0ff56839657..9cc3892acc8f0 100644
--- a/docs/testing/chromeos_debugging_tips.md
+++ b/docs/testing/chromeos_debugging_tips.md
@@ -123,7 +123,7 @@ To run a Tast test the same way it's ran on Chrome's builders:
 [tests/ui.WindowControl/messages]: https://isolateserver.appspot.com/browse?namespace=default-gzip&digest=baefbcfd24c02b3ada4617d259dc6b4220b413b9&as=messages
 [system_logs/chrome/chrome_20201029-195153]: https://isolateserver.appspot.com/browse?namespace=default-gzip&digest=272166c85f190c336a9885f0267cbdea912e31da&as=chrome_20201029-195153
 [Tast attributes]: https://chromium.googlesource.com/chromiumos/platform/tast/+/HEAD/docs/test_attributes.md
-[this list]: https://codesearch.chromium.org/chromium/src/chromeos/BUILD.gn?rcl=7b0393a9091fd02edc9ae773739124f7be5a0782&l=242
+[this list]: https://codesearch.chromium.org/chromium/src/chromeos/tast_control.gni
 [Simple Chrome]: https://chromium.googlesource.com/chromiumos/docs/+/master/simple_chrome_workflow.md
 [deploy_chrome.py]: https://chromium.googlesource.com/chromiumos/docs/+/master/simple_chrome_workflow.md#Deploying-Chrome-to-the-device
 [here]: https://chromium.googlesource.com/chromiumos/docs/+/master/cros_vm.md#in-simple-chrome