# Copyright 2020 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 = "Chromium OS Team"
NAME = "logging_GenerateCrashFiles.RENDER"
PURPOSE = "Verify that Chome browser crash files are generated."
TIME = "SHORT"
TEST_CATEGORY = "Functional"
TEST_CLASS = "logging"
TEST_TYPE = "server"
ATTRIBUTES = "suite:usb_detect"

DOC = """
Crash Chrome and confirm log files are generated.
"""

def run(machine):
    host = hosts.create_host(machine)
    crash_cmd = "chrome://crash"
    crash_files = ["core", "dmp", "meta", "log", "proclog"]
    prefix = "chrome"
    job.run_test("logging_GenerateCrashFiles", host=host,
                 crash_cmd=crash_cmd, crash_files=crash_files,
                 prefix=prefix, tag="RENDER")

parallel_simple(run, machines)

