From a954e47b33de846810bb6d74d14bc3a3a23c1901 Mon Sep 17 00:00:00 2001 From: Katarzyna Treder Date: Tue, 10 Dec 2024 13:57:18 +0100 Subject: [PATCH] Move linux command and wait method to common tools Signed-off-by: Katarzyna Treder --- storage_devices/disk.py | 2 +- test_tools/common/__init__.py | 0 .../common}/linux_command.py | 0 test_tools/common/wait.py | 20 +++++++++++++++++++ test_tools/dd.py | 2 +- test_tools/ddrescue.py | 2 +- test_tools/device_mapper.py | 2 +- test_tools/fio/fio_param.py | 2 +- test_utils/os_utils.py | 14 +------------ 9 files changed, 26 insertions(+), 18 deletions(-) create mode 100644 test_tools/common/__init__.py rename {test_utils => test_tools/common}/linux_command.py (100%) create mode 100644 test_tools/common/wait.py diff --git a/storage_devices/disk.py b/storage_devices/disk.py index 8a1dc6c..59b60ff 100644 --- a/storage_devices/disk.py +++ b/storage_devices/disk.py @@ -14,7 +14,7 @@ from core.test_run import TestRun from storage_devices.device import Device from test_tools import disk_utils, fs_utils, nvme_cli from test_utils import disk_finder -from test_utils.os_utils import wait +from test_tools.common.wait import wait from connection.utils.output import Output from types.size import Unit diff --git a/test_tools/common/__init__.py b/test_tools/common/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/test_utils/linux_command.py b/test_tools/common/linux_command.py similarity index 100% rename from test_utils/linux_command.py rename to test_tools/common/linux_command.py diff --git a/test_tools/common/wait.py b/test_tools/common/wait.py new file mode 100644 index 0000000..ca7d9f5 --- /dev/null +++ b/test_tools/common/wait.py @@ -0,0 +1,20 @@ +# +# Copyright(c) 2019-2022 Intel Corporation +# Copyright(c) 2024 Huawei Technologies Co., Ltd. +# SPDX-License-Identifier: BSD-3-Clause +# + +import time +from datetime import timedelta, datetime + + +def wait(predicate, timeout: timedelta, interval: timedelta = None): + start_time = datetime.now() + result = False + while start_time + timeout > datetime.now(): + result = predicate() + if result: + break + if interval is not None: + time.sleep(interval.total_seconds()) + return result diff --git a/test_tools/dd.py b/test_tools/dd.py index e61d255..e798281 100644 --- a/test_tools/dd.py +++ b/test_tools/dd.py @@ -3,7 +3,7 @@ # SPDX-License-Identifier: BSD-3-Clause # -import test_utils.linux_command as linux_comm +import test_tools.common.linux_command as linux_comm import types.size as size from core.test_run import TestRun diff --git a/test_tools/ddrescue.py b/test_tools/ddrescue.py index 799bde5..c7da56e 100644 --- a/test_tools/ddrescue.py +++ b/test_tools/ddrescue.py @@ -3,7 +3,7 @@ # SPDX-License-Identifier: BSD-3-Clause # -import test_utils.linux_command as linux_comm +import test_tools.common.linux_command as linux_comm import types.size as size from core.test_run import TestRun diff --git a/test_tools/device_mapper.py b/test_tools/device_mapper.py index c2cf0cf..920022f 100644 --- a/test_tools/device_mapper.py +++ b/test_tools/device_mapper.py @@ -8,7 +8,7 @@ from enum import Enum from core.test_run import TestRun from storage_devices.device import Device -from test_utils.linux_command import LinuxCommand +from test_tools.common.linux_command import LinuxCommand from types.size import Size, Unit diff --git a/test_tools/fio/fio_param.py b/test_tools/fio/fio_param.py index ff8409f..8a14489 100644 --- a/test_tools/fio/fio_param.py +++ b/test_tools/fio/fio_param.py @@ -13,7 +13,7 @@ from connection.base_executor import BaseExecutor from core.test_run import TestRun from storage_devices.device import Device from test_tools.fio.fio_result import FioResult -from test_utils.linux_command import LinuxCommand +from test_tools.common.linux_command import LinuxCommand from types.size import Size diff --git a/test_utils/os_utils.py b/test_utils/os_utils.py index 61dc2c3..992ab25 100644 --- a/test_utils/os_utils.py +++ b/test_utils/os_utils.py @@ -9,7 +9,7 @@ import posixpath import re import time -from datetime import timedelta, datetime +from datetime import timedelta from enum import IntFlag, Enum, IntEnum, StrEnum from packaging import version from typing import List @@ -422,18 +422,6 @@ def kill_all_io(graceful=True): raise Exception(f"Failed to stop vdbench!") -def wait(predicate, timeout: timedelta, interval: timedelta = None): - start_time = datetime.now() - result = False - while start_time + timeout > datetime.now(): - result = predicate() - if result: - break - if interval is not None: - time.sleep(interval.total_seconds()) - return result - - def sync(): TestRun.executor.run_expect_success("sync")