autotest: Add desktopui_MusLogin to bvt-perbuild.

Add a new test desktopui_MusLogin to the informational bvt-perbuild.
This test is similar to desktopui_MashLogin except it tests "./chrome
--mus" instead of "./chrome --mash."

BUG=chromium:708737
TEST=Ran autotest on board link.

Change-Id: I18b8da2a1f7e81584d43a3f66d78e067a8dad394
Reviewed-on: https://chromium-review.googlesource.com/497907
Reviewed-by: Ilja H. Friedel <ihf@chromium.org>
Tested-by: Kyle Charbonneau <kylechar@chromium.org>
Commit-Queue: Kyle Charbonneau <kylechar@chromium.org>
diff --git a/client/site_tests/desktopui_MusLogin/control b/client/site_tests/desktopui_MusLogin/control
new file mode 100644
index 0000000..5fd550e
--- /dev/null
+++ b/client/site_tests/desktopui_MusLogin/control
@@ -0,0 +1,29 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+AUTHOR = "kylechar@chromium.org, mustash-team@google.com"
+NAME = "desktopui_MusLogin"
+PURPOSE = "Verify chrome --mus (for mushrome) starts and logs in."
+CRITERIA = "Fails if chrome --mus does not start."
+ATTRIBUTES = "suite:bvt-perbuild"
+# TODO(kylechar): add JOB_RETRIES = 2 when adding to bvt-cq
+JOB_RETRIES = 0
+TIME = "SHORT"
+TEST_CATEGORY = "Functional"
+TEST_CLASS = "desktopui"
+TEST_TYPE = "client"
+BUG_TEMPLATE = {
+  'components': ['Internals>Mus'],
+  'labels': ['Proj-Mustash'],
+  'cc': ['mustash-autotest-bugs@google.com'],
+}
+
+DOC = """
+chrome --mus has significant differences in its initialization vs. regular
+chrome on device, mustash on device and chrome on Linux desktop. This test
+verifies chrome can start up and log in. If it fails, please contact
+mustash-team@google.com.
+"""
+
+job.run_test('desktopui_MusLogin')
diff --git a/client/site_tests/desktopui_MusLogin/desktopui_MusLogin.py b/client/site_tests/desktopui_MusLogin/desktopui_MusLogin.py
new file mode 100644
index 0000000..88c3b77
--- /dev/null
+++ b/client/site_tests/desktopui_MusLogin/desktopui_MusLogin.py
@@ -0,0 +1,39 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import logging
+
+from autotest_lib.client.bin import test, utils
+from autotest_lib.client.common_lib.cros import chrome
+
+
+class desktopui_MusLogin(test.test):
+    """Verifies chrome --mus starts up and logs in correctly."""
+    version = 1
+
+
+    def run_once(self):
+        """Entry point of this test."""
+
+        # The test is sometimes flaky on these boards. Mus doesn't target
+        # hardware this old, so skip the test. http://crbug.com/679213
+        boards_to_skip = ['x86-mario', 'x86-alex', 'x86-alex_he', 'x86-zgb',
+                          'x86-zgb_he']
+        if utils.get_current_board() in boards_to_skip:
+          logging.warning('Skipping test run on this board.')
+          return
+
+        # GPU info collection via devtools SystemInfo.getInfo does not work
+        # under mus due to differences in how the GPU process is configured.
+        # http://crbug.com/669965
+        mus_browser_args = ['--mus', '--gpu-no-complete-info-collection']
+
+        logging.info('Testing Chrome --mus startup.')
+        with chrome.Chrome(auto_login=False,
+                           extra_browser_args=mus_browser_args):
+            logging.info('Chrome --mus started and loaded OOBE.')
+
+        logging.info('Testing Chrome --mus login.')
+        with chrome.Chrome(extra_browser_args=mus_browser_args):
+            logging.info('Chrome login with --mus succeeded.')