# Copyright (c) 2013 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 = 'keybuk@chromium.org'
NAME = 'bluetooth_Sanity_ValidAddress'
ATTRIBUTES = "suite:bluetooth, suite:bluetooth_sanity"
SUITE = 'bluetooth,bluetooth_sanity'
TIME = 'SHORT'
TEST_CLASS = 'bluetooth'
TEST_TYPE = 'Server'
DEPENDENCIES = 'bluetooth,wificell'

DOC = """
Verify that the device's Bluetooth adapter has a valid address.

This is a useful sanity check because an address of 00:00:00:00:00:00 often
indicates a problem with the host subsystem, stack or driver.
"""

def run(machine):
    device_host = hosts.create_host(machine)
    job.run_test('bluetooth_Sanity_ValidAddress',
                 device_host=device_host,
                 tester_host=None,
                 interactive=False)


parallel_simple(run, machines)
