1#!/usr/bin/env python3
2#-*- coding: utf-8 -*-
3
4# Copyright (c) 2024 Huawei Device Co., Ltd.
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of 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,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17import time
18from devicetest.core.test_case import TestCase, CheckPoint
19from hypium import UiDriver
20from tools.get_source_path import get_source_path
21from tools.push_remove_source import push_source, remove_source
22
23
24class case11_delay_time003(TestCase):
25
26    def __init__(self, configs):
27        self.TAG = self.__class__.__name__
28        TestCase.__init__(self, self.TAG, configs)
29        self.tests = [
30            "test_step"
31        ]
32        self.driver = UiDriver(self.device1)
33        self.sn = self.device1.device_sn
34        self.source_path = {}
35
36    def setup(self):
37        self.log.info("case11_delay_time003 start")
38        need_source = {"cfg": True, "fwk": False, "listen_test": True, "audio_ability": True, "ondemand": True,
39                       "proxy": True, "para": False}
40        self.source_path = get_source_path(need_source=need_source, casename="level0/case11_delay_time003")
41        push_source(source_path=self.source_path, driver=self.driver, sn=self.sn)
42
43    def test_step(self):
44        driver = self.driver
45        driver.Screen.wake_up()
46        result = driver.System.execute_command("hidumper -ls")
47        max_wait_time = 5
48        wait_time = 0
49        while (("1494" not in result or "1499" not in result) and wait_time <= max_wait_time):
50            wait_time += 1
51            time.sleep(1)
52            result = driver.System.execute_command("hidumper -ls")
53        CheckPoint("1494 and 1499 load successfully when the screen is turned on")
54        assert "1494" and "1499" in result
55
56        driver.Screen.close()
57        CheckPoint(
58            "The unload setting time exceeds the limit. By default, 1494 and 1499 will be unloaded after 5 minutes")
59        time.sleep(300)
60        result = driver.System.execute_command("hidumper -ls")
61        max_wait_time = 60
62        wait_time = 0
63        while (("1494" in result or "1499" in result) and wait_time <= max_wait_time):
64            wait_time += 2
65            time.sleep(2)
66            result = driver.System.execute_command("hidumper -ls")
67        assert "1494" and "1499" not in result
68
69    def teardown(self):
70        remove_source(source_path=self.source_path, driver=self.driver, sn=self.sn)
71        self.log.info("case11_delay_time003 down")
72