blob: 49031afcd09e877af78b53a3daf8d73c6dce26fb [file] [log] [blame]
Sanket Agarwalc96b9cc2016-08-18 12:01:04 -07001#/usr/bin/env python3.4
2#
3# Copyright (C) 2016 The Android Open Source Project
4#
5# Licensed under the Apache License, Version 2.0 (the "License"); you may not
6# use this file except in compliance with the License. You may obtain a copy of
7# the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14# License for the specific language governing permissions and limitations under
15# the License.
Sanket Agarwalc96b9cc2016-08-18 12:01:04 -070016"""
17Test script to execute Bluetooth basic functionality test cases relevant to car.
18"""
19
20import time
21
22from queue import Empty
23from acts.test_utils.bt.BluetoothBaseTest import BluetoothBaseTest
24from acts.test_utils.bt.BtEnum import BluetoothScanModeType
25from acts.test_utils.bt.bt_test_utils import check_device_supported_profiles
26from acts.test_utils.bt.bt_test_utils import log_energy_info
27from acts.test_utils.bt.bt_test_utils import reset_bluetooth
28from acts.test_utils.bt.bt_test_utils import set_device_name
29from acts.test_utils.bt.bt_test_utils import set_bt_scan_mode
30from acts.test_utils.bt.bt_test_utils import setup_multiple_devices_for_bt_test
31from acts.test_utils.bt.bt_test_utils import take_btsnoop_logs
32
33
34class BtCarBasicFunctionalityTest(BluetoothBaseTest):
35 default_timeout = 10
36 scan_discovery_time = 5
37
38 def __init__(self, controllers):
39 BluetoothBaseTest.__init__(self, controllers)
tturneye3934a22016-10-20 15:47:34 -070040 self.car_ad = self.android_devices[0]
Sanket Agarwalc96b9cc2016-08-18 12:01:04 -070041
42 def setup_class(self):
43 return setup_multiple_devices_for_bt_test(self.android_devices)
44
Phillip Walker827112a2016-09-08 16:27:19 -070045 #@BluetoothTest(UUID=b52a032a-3438-4b84-863f-c46a969882a4)
Sanket Agarwalc96b9cc2016-08-18 12:01:04 -070046 @BluetoothBaseTest.bt_test_wrap
47 def test_if_support_a2dp_sink_profile(self):
48 """ Test that a single device can support A2DP SNK profile.
49 Steps
50 1. Initialize one android devices
51 2. Check devices support profiles and return a dictionary
52 3. Check the value of key 'a2dp_sink'
53 :return: test_result: bool
54 """
tturneye3934a22016-10-20 15:47:34 -070055 profiles = check_device_supported_profiles(self.car_ad.droid)
Sanket Agarwalc96b9cc2016-08-18 12:01:04 -070056 if not profiles['a2dp_sink']:
tturney34ee54d2016-11-16 15:29:02 -080057 self.car_ad.log.debug(
58 "Android device do not support A2DP SNK profile.")
Sanket Agarwalc96b9cc2016-08-18 12:01:04 -070059 return False
60 return True
61
Phillip Walker827112a2016-09-08 16:27:19 -070062 #@BluetoothTest(UUID=3c2cb613-6c8a-4ed7-8783-37fb47bff5f2)
Sanket Agarwalc96b9cc2016-08-18 12:01:04 -070063 @BluetoothBaseTest.bt_test_wrap
64 def test_if_support_hfp_client_profile(self):
65 """ Test that a single device can support HFP HF profile.
66 Steps
67 1. Initialize one android devices
68 2. Check devices support profiles and return a dictionary
69 3. Check the value of key 'hfp_client'
70 :return: test_result: bool
71 """
tturneye3934a22016-10-20 15:47:34 -070072 profiles = check_device_supported_profiles(self.car_ad.droid)
Sanket Agarwalc96b9cc2016-08-18 12:01:04 -070073 if not profiles['hfp_client']:
tturney34ee54d2016-11-16 15:29:02 -080074 self.car_ad.log.debug(
75 "Android device do not support HFP Client profile.")
Sanket Agarwalc96b9cc2016-08-18 12:01:04 -070076 return False
77 return True
78
Phillip Walker827112a2016-09-08 16:27:19 -070079 #@BluetoothTest(UUID=c3854e74-33da-4e4d-a9cb-4f5170ef7d10)
Sanket Agarwalc96b9cc2016-08-18 12:01:04 -070080 @BluetoothBaseTest.bt_test_wrap
81 def test_if_support_pbap_client_profile(self):
82 """ Test that a single device can support PBAP PCE profile.
83 Steps
84 1. Initialize one android devices
85 2. Check devices support profiles and return a dictionary
86 3. Check the value of key 'pbap_client'
87 :return: test_result: bool
88 """
tturneye3934a22016-10-20 15:47:34 -070089 profiles = check_device_supported_profiles(self.car_ad.droid)
Sanket Agarwalc96b9cc2016-08-18 12:01:04 -070090 if not profiles['pbap_client']:
tturney34ee54d2016-11-16 15:29:02 -080091 self.car_ad.log.debug(
tturneye3934a22016-10-20 15:47:34 -070092 "Android device do not support PBAP Client profile.")
Sanket Agarwalc96b9cc2016-08-18 12:01:04 -070093 return False
94 return True