Home | History | Annotate | Download | only in audio_lab
      1 # /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.
     16 """
     17 Test script to automate the Bluetooth Audio Funhaus.
     18 """
     19 import time
     20 
     21 from acts.test_decorators import test_tracker_info
     22 from acts.test_utils.bt.BtFunhausBaseTest import BtFunhausBaseTest
     23 
     24 
     25 class BtFunhausTest(BtFunhausBaseTest):
     26     music_file_to_play = ""
     27     device_fails_to_connect_list = []
     28 
     29     def __init__(self, controllers):
     30         BtFunhausBaseTest.__init__(self, controllers)
     31 
     32     @test_tracker_info(uuid='80a4cc4c-7c2a-428d-9eaf-46239a7926df')
     33     def test_run_bt_audio_12_hours(self):
     34         """Test audio quality over 12 hours.
     35 
     36         This test is designed to run Bluetooth audio for 12 hours
     37         and collect relevant logs. If all devices disconnect during
     38         the test or Bluetooth is off on all devices, then fail the
     39         test.
     40 
     41         Steps:
     42         1. For each Android device connected run steps 2-5.
     43         2. Open and play media file of music pushed to device
     44         3. Set media to loop indefinitely.
     45         4. After 12 hours collect bluetooth_manager dumpsys information
     46         5. Stop media player
     47 
     48         Expected Result:
     49         Audio plays for 12 hours over Bluetooth
     50 
     51         Returns:
     52           Pass if True
     53           Fail if False
     54 
     55         TAGS: Classic, A2DP
     56         Priority: 1
     57         """
     58         self.start_playing_music_on_all_devices()
     59 
     60         sleep_interval = 120
     61         #twelve_hours_in_seconds = 43200
     62         #one_hour_in_seconds = 3600
     63         one_min_in_sec = 60
     64         end_time = time.time() + one_min_in_sec
     65         if not self.monitor_music_play_util_deadline(end_time, sleep_interval):
     66             return False
     67         self._collect_bluetooth_manager_dumpsys_logs(self.android_devices)
     68         self.ad.droid.mediaPlayStopAll()
     69         self.collect_bluetooth_manager_metrics_logs(self.android_devices)
     70         return True
     71