# 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.

DEPENDENCIES = "board:peach_pit"
NAME = "desktopui_MashLogin.peach_pit"
AUTHOR = "jamescook@chromium.org, mustash-team@google.com"
PURPOSE = "Verify chrome --mash (for mustash) starts and logs in."
CRITERIA = "Fails if chrome --mash does not start."
# Part of bvt-cq so it runs on the Chrome ToT informational builders.
# Most failures are due to bad chrome CLs. If you need to disable this
# test please put it back in bvt-perbuild so we can tell from the nightly
# builds when chrome is good again.
ATTRIBUTES = "suite:bvt-cq"
JOB_RETRIES = 2
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 --mash has significant differences in its initialization vs.
both regular chrome on devices 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_MashLogin')
