# Copyright 2014 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 = "dpursell"
NAME = "debugd_DevTools"
PURPOSE = "Debug daemon dev tools test"
CRITERIA = "This test will fail if any tool or query fails to respond properly"
TIME = "SHORT"
TEST_CATEGORY = "Functional"
TEST_CLASS = "platform"
TEST_TYPE = "server"

DOC = """
This test check debugd dev tools functionality. Currently this test must be run
manually on a machine that is already in dev mode and does not yet have an
owner, otherwise the test will throw a TestNAError and stop. Additionally, if
the device rootfs is verified, this test will disable verification and reboot.

To automate this test for use in the lab, the following should be implemented:
  - Dev mode control
    - Verify tools are unavailable when not in dev mode.
    - Transition to dev mode before running tests on the tools.
    - Return to original dev mode state after the test completes.
  - Login control
    - Verify tools are unavailable after user login.
    - Wipe the login record before running tests on the tools.
    - Return to original login state after the test completes.
  - Restore rootfs verification
    - May require installing a fresh test image.
TODO(dpursell): Implement the remaining features, see crbug.com/428971.
"""

job.run_test("debugd_DevTools", host=hosts.create_host(machines[0]))
