tast: Deprecate "chrome_login" software dependency.

The distinction between the "chrome" and "chrome_login"
software dependencies is unclear. Update "chrome" to be
defined as "!chromeless_tty && !rialto" (the same as
"chrome_login") and remove references to "chrome_login" from
documentation. "chrome_login" can be deleted later after all
tests have been updated to depend on "chrome" instead.

BUG=chromium:963618
TEST=ran unit tests

Change-Id: I0212f65a593bcf0842aa590dd2df9708d5dff3af
Reviewed-on: https://chromium-review.googlesource.com/1613744
Commit-Ready: Dan Erat <[email protected]>
Tested-by: Dan Erat <[email protected]>
Reviewed-by: Keiichi Watanabe <[email protected]>
Reviewed-by: Shuhei Takahashi <[email protected]>
diff --git a/docs/running_tests.md b/docs/running_tests.md
index 22d5984..d3248cf 100644
--- a/docs/running_tests.md
+++ b/docs/running_tests.md
@@ -39,13 +39,12 @@
 *   If no arguments are supplied, all tests are selected.
 *   If a single argument surrounded by parentheses is supplied, it is
     interpreted as a boolean expression consisting of test attributes. For
-    example, the expression `(("dep:chrome" || "dep:chrome_login") && !flaky &&
-    !disabled)` matches all tests with a `dep:chrome` or `dep:chrome_login`
-    attribute but not a `flaky` or `disabled` attribute. Attributes that don't
-    consist of a letter or underscore followed by letters, digits, and
-    underscores must be double-quoted. '*' characters in quoted strings are
-    interpreted as wildcards. See [chromiumos/tast/expr] for details about
-    expression syntax.
+    example, the expression `(("dep:chrome" || "dep:android") && !flaky &&
+    !disabled)` matches all tests with a `dep:chrome` or `dep:android` attribute
+    but not a `flaky` or `disabled` attribute. Attributes that don't consist of
+    a letter or underscore followed by letters, digits, and underscores must be
+    double-quoted. '*' characters in quoted strings are interpreted as
+    wildcards. See [chromiumos/tast/expr] for details about expression syntax.
 *   Otherwise, the argument(s) are interpreted as wildcard patterns matching
     test names. For example, `ui.*` matches all tests with names prefixed by
     `ui.`. Multiple patterns can be supplied: passing `example.Pass` and
diff --git a/docs/test_dependencies.md b/docs/test_dependencies.md
index 5cf0f24..6e8cbd8 100644
--- a/docs/test_dependencies.md
+++ b/docs/test_dependencies.md
@@ -28,11 +28,12 @@
 *   `audio_record` - The ability to record audio.
 *   `autotest-capability:foo` - An [Autotest capability] named `foo`. See below.
 *   `camera_720p` - The ability to capture video with frame size 1280x720.
-*   `chrome` - A Chrome process.
+*   `chrome` - Support for performing user login via Chrome (i.e. using
+    `session_manager` and `cryptohome`). This also implies that the
+    [chromeos-chrome] Portage package is installed (which also installs Chrome
+    binary tests), and that the `ui` Upstart job is present.
 *   `chrome_internal` - Functionality that is only available in internal builds
     of Chrome (e.g. official branding and proprietary codecs like H.264).
-*   `chrome_login` - Implies `chrome` with the further requirement that user
-    login (i.e. using `session_manager` and `cryptohome`) is supported.
 *   `cros_config` - `cros_config` utility is available.
 *   `cros_internal` - Functionality that is only available in internal builds of
     Chrome OS (i.e. ones built using `chromeos-overlay`).
@@ -78,6 +79,7 @@
 [Camera HAL3]: https://source.android.com/devices/camera/camera3
 [AddressSanitizer]: https://github.com/google/sanitizers/wiki/AddressSanitizer
 [Autotest capability]: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/master/chromeos-base/autotest-capability-default/
+[chromeos-chrome]: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/master/chromeos-base/chromeos-chrome/chromeos-chrome-9999.ebuild
 [Diagnostic utilities]: https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/diagnostics/README.md
 [Downloadable Content]: https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/dlcservice
 [video hardware overlays]: https://en.wikipedia.org/wiki/Hardware_overlay
diff --git a/docs/test_validation.md b/docs/test_validation.md
index fdf224e..b73af5c 100644
--- a/docs/test_validation.md
+++ b/docs/test_validation.md
@@ -124,10 +124,10 @@
 ### Unit tests
 
 Some validation is test-specific. For example, all [ARC] tests should depend on
-the `android` and `chrome_login` [software features] and have a
-sufficiently-long timeout. These sorts of checks can be performed by a unit test
-that inspects test metadata after tests are registered. For the above ARC
-example, see [registration_test.go] and the [testcheck] package.
+the `android` and `chrome` [software features] and have a sufficiently-long
+timeout. These sorts of checks can be performed by a unit test that inspects
+test metadata after tests are registered. For the above ARC example, see
+[registration_test.go] and the [testcheck] package.
 
 You can use `fast_build.sh` to run unit tests in the `tast` and `tast-tests`
 repositories. The script's usage is described in the [Modifying Tast] document.
diff --git a/docs/writing_tests.md b/docs/writing_tests.md
index 8f233a8..49a9cd7 100644
--- a/docs/writing_tests.md
+++ b/docs/writing_tests.md
@@ -65,7 +65,7 @@
 		Desc:         "Does X to verify Y",
 		Contacts:     []string{"[email protected]"},
 		Attr:         []string{"informational"},
-		SoftwareDeps: []string{"chrome_login"},
+		SoftwareDeps: []string{"chrome"},
 	})
 }
 
@@ -399,7 +399,7 @@
 func init() {
     testing.AddTest(&testing.Test{
         Func: CheckCamera,
-        SoftwareDeps: []string{"camera_720p", "chrome_login"},
+        SoftwareDeps: []string{"camera_720p", "chrome"},
         // ...
     })
 }
diff --git a/src/chromiumos/cmd/local_test_runner/main.go b/src/chromiumos/cmd/local_test_runner/main.go
index cf5c3e0..3e559e7 100644
--- a/src/chromiumos/cmd/local_test_runner/main.go
+++ b/src/chromiumos/cmd/local_test_runner/main.go
@@ -69,10 +69,10 @@
 			// we should remove grunt after hardware encoding supported.
 			// daisy variants' cameras don't support 1280x720.
 			"camera_720p":             "!snow && !skate && !spring && !grunt",
-			"chrome":                  "!chromeless_tty",
+			"chrome":                  "!chromeless_tty && !rialto",
 			"chrome_internal":         "chrome_internal",
-			"chrome_login":            "!chromeless_tty && !rialto",
 			"cros_config":             "unibuild",
+			"chrome_login":            "!chromeless_tty && !rialto", // TODO(derat): Delete this: https://crbug.com/963618
 			"cros_internal":           "internal",
 			"cups":                    "cups",
 			"diagnostics":             "diagnostics",