15ba71b47Sopenharmony_ci#!/usr/bin/env python3
25ba71b47Sopenharmony_ci#-*- coding: utf-8 -*-
35ba71b47Sopenharmony_ci
45ba71b47Sopenharmony_ci# Copyright (c) 2024 Huawei Device Co., Ltd.
55ba71b47Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
65ba71b47Sopenharmony_ci# you may not use this file except in compliance with the License.
75ba71b47Sopenharmony_ci# You may obtain a copy of the License at
85ba71b47Sopenharmony_ci#
95ba71b47Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
105ba71b47Sopenharmony_ci#
115ba71b47Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
125ba71b47Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
135ba71b47Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
145ba71b47Sopenharmony_ci# See the License for the specific language governing permissions and
155ba71b47Sopenharmony_ci# limitations under the License.
165ba71b47Sopenharmony_ci
175ba71b47Sopenharmony_ciimport time
185ba71b47Sopenharmony_cifrom devicetest.core.test_case import TestCase, CheckPoint
195ba71b47Sopenharmony_cifrom hypium import UiDriver
205ba71b47Sopenharmony_cifrom tools.get_source_path import get_source_path
215ba71b47Sopenharmony_cifrom tools.push_remove_source import push_source, remove_source
225ba71b47Sopenharmony_ci
235ba71b47Sopenharmony_ci
245ba71b47Sopenharmony_ciclass case11_delay_time003(TestCase):
255ba71b47Sopenharmony_ci
265ba71b47Sopenharmony_ci    def __init__(self, configs):
275ba71b47Sopenharmony_ci        self.TAG = self.__class__.__name__
285ba71b47Sopenharmony_ci        TestCase.__init__(self, self.TAG, configs)
295ba71b47Sopenharmony_ci        self.tests = [
305ba71b47Sopenharmony_ci            "test_step"
315ba71b47Sopenharmony_ci        ]
325ba71b47Sopenharmony_ci        self.driver = UiDriver(self.device1)
335ba71b47Sopenharmony_ci        self.sn = self.device1.device_sn
345ba71b47Sopenharmony_ci        self.source_path = {}
355ba71b47Sopenharmony_ci
365ba71b47Sopenharmony_ci    def setup(self):
375ba71b47Sopenharmony_ci        self.log.info("case11_delay_time003 start")
385ba71b47Sopenharmony_ci        need_source = {"cfg": True, "fwk": False, "listen_test": True, "audio_ability": True, "ondemand": True,
395ba71b47Sopenharmony_ci                       "proxy": True, "para": False}
405ba71b47Sopenharmony_ci        self.source_path = get_source_path(need_source=need_source, casename="level0/case11_delay_time003")
415ba71b47Sopenharmony_ci        push_source(source_path=self.source_path, driver=self.driver, sn=self.sn)
425ba71b47Sopenharmony_ci
435ba71b47Sopenharmony_ci    def test_step(self):
445ba71b47Sopenharmony_ci        driver = self.driver
455ba71b47Sopenharmony_ci        driver.Screen.wake_up()
465ba71b47Sopenharmony_ci        result = driver.System.execute_command("hidumper -ls")
475ba71b47Sopenharmony_ci        max_wait_time = 5
485ba71b47Sopenharmony_ci        wait_time = 0
495ba71b47Sopenharmony_ci        while (("1494" not in result or "1499" not in result) and wait_time <= max_wait_time):
505ba71b47Sopenharmony_ci            wait_time += 1
515ba71b47Sopenharmony_ci            time.sleep(1)
525ba71b47Sopenharmony_ci            result = driver.System.execute_command("hidumper -ls")
535ba71b47Sopenharmony_ci        CheckPoint("1494 and 1499 load successfully when the screen is turned on")
545ba71b47Sopenharmony_ci        assert "1494" and "1499" in result
555ba71b47Sopenharmony_ci
565ba71b47Sopenharmony_ci        driver.Screen.close()
575ba71b47Sopenharmony_ci        CheckPoint(
585ba71b47Sopenharmony_ci            "The unload setting time exceeds the limit. By default, 1494 and 1499 will be unloaded after 5 minutes")
595ba71b47Sopenharmony_ci        time.sleep(300)
605ba71b47Sopenharmony_ci        result = driver.System.execute_command("hidumper -ls")
615ba71b47Sopenharmony_ci        max_wait_time = 60
625ba71b47Sopenharmony_ci        wait_time = 0
635ba71b47Sopenharmony_ci        while (("1494" in result or "1499" in result) and wait_time <= max_wait_time):
645ba71b47Sopenharmony_ci            wait_time += 2
655ba71b47Sopenharmony_ci            time.sleep(2)
665ba71b47Sopenharmony_ci            result = driver.System.execute_command("hidumper -ls")
675ba71b47Sopenharmony_ci        assert "1494" and "1499" not in result
685ba71b47Sopenharmony_ci
695ba71b47Sopenharmony_ci    def teardown(self):
705ba71b47Sopenharmony_ci        remove_source(source_path=self.source_path, driver=self.driver, sn=self.sn)
715ba71b47Sopenharmony_ci        self.log.info("case11_delay_time003 down")
72