2022-07-08 16:47:18 +08:00
|
|
|
import time
|
|
|
|
|
|
|
|
|
2023-12-21 03:03:06 +08:00
|
|
|
def mg_sleep_and_assert(expected_value, function_to_retrieve_data, max_duration=20, time_between_attempt=0.2):
|
2022-07-08 16:47:18 +08:00
|
|
|
result = function_to_retrieve_data()
|
|
|
|
start_time = time.time()
|
|
|
|
while result != expected_value:
|
2023-12-21 03:03:06 +08:00
|
|
|
duration = time.time() - start_time
|
2022-07-08 16:47:18 +08:00
|
|
|
if duration > max_duration:
|
2022-08-09 17:29:55 +08:00
|
|
|
assert (
|
|
|
|
False
|
|
|
|
), f" mg_sleep_and_assert has tried for too long and did not get the expected result! Last result was: {result}"
|
2022-07-08 16:47:18 +08:00
|
|
|
|
|
|
|
time.sleep(time_between_attempt)
|
|
|
|
result = function_to_retrieve_data()
|
|
|
|
|
|
|
|
return result
|