# Copyright (c) 2011 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 = "Chrome OS Team"
NAME = "BVT"
TIME = "SHORT"
TEST_CATEGORY = "Functional"
TEST_CLASS = "suite"
TEST_TYPE = "server"

DOC = """
This test suite runs automated tests that should all pass and that verify
that a build has some minimal functionality.  These are meant to run quickly
in less than 30 minutes and should maximize coverage.
"""

TESTS = [
  ('platform_AccurateTime', {}),
  ('platform_FilePerms', {}),
  ('platform_HighResTimers', {}),
  ('platform_KernelVersion', {}),
  ('platform_OSLimits', {}),
  ('platform_PartitionCheck', {}),
  ('platform_RootPartitionsNotMounted', {}),
  ('build_RootFilesystemSize', {}),
  ('desktopui_UrlFetch', {'live': False, 'tag': 'not-live'}),
  ('desktopui_FlashSanityCheck', {}),
  ('desktopui_KillRestart', {'binary': '^chrome$',
                             'tag': 'chrome'}),
  ('desktopui_KillRestart', {'binary': '^session_manager$',
                             'tag': 'session'}),
  ('desktopui_ScreenLocker', {}),
  ('graphics_WindowManagerGraphicsCapture', {}),
  ('logging_CrashSender', {}),
  ('logging_UserCrash', {}),
  ('login_BadAuthentication', {}),
  ('login_CryptohomeIncognitoMounted', {}),
  ('login_CryptohomeMounted', {}),
  ('login_CryptohomeUnmounted', {}),
  ('login_CryptohomeIncognitoUnmounted', {}),
  ('login_LoginSuccess', {}),
  ('login_OwnershipApi', {}),
  ('login_RemoteLogin', {}),
  ('network_DisableInterface', {'iface_name': 'wifi_only',
                                'tag': 'wifi_only'}),
  ('network_Ping', {}),
  ('power_Resume', {}, {'exclude': ['has_resume_bug']}),
  ('platform_Shutdown', {}, {'attributes': ['reboot_before']}),
  ('security_ProfilePermissions', {'creds': '$default', 'tag': 'login'}),
  ('security_ProfilePermissions', {'creds': None, 'tag': 'BWSI'}),
]

job.distribute_across_machines(TESTS, machines)
