Update time tools
Change-Id: I52b8e5f8fc0dbbfb2c10a80929e52ec1e043427f
This commit is contained in:
parent
0b7446dc64
commit
8915ded3da
@ -84,10 +84,10 @@ get_operation_name = _operation.get_operation_name
|
||||
operation_config = _operation.operation_config
|
||||
|
||||
retry = _retry.retry
|
||||
Retry = _retry.Retry
|
||||
retry_attempt = _retry.retry_attempt
|
||||
retry_on_exception = _retry.retry_on_exception
|
||||
retry_test_case = _retry.retry_test_case
|
||||
Retry = _retry.Retry
|
||||
RetryAttempt = _retry.RetryAttempt
|
||||
RetryCountLimitError = _retry.RetryCountLimitError
|
||||
RetryLimitError = _retry.RetryLimitError
|
||||
@ -110,12 +110,15 @@ pop_test_case = _testcase.pop_test_case
|
||||
push_test_case = _testcase.push_test_case
|
||||
TestCasesManager = _testcase.TestCasesManager
|
||||
|
||||
min_seconds = _time.min_seconds
|
||||
max_seconds = _time.max_seconds
|
||||
Seconds = _time.Seconds
|
||||
SecondsValueError = _time.SecondsValueError
|
||||
sleep = _time.sleep
|
||||
time = _time.time
|
||||
to_seconds = _time.to_seconds
|
||||
to_seconds_float = _time.to_seconds_float
|
||||
true_seconds = _time.true_seconds
|
||||
|
||||
get_short_hostname = _utils.get_short_hostname
|
||||
|
||||
|
@ -46,3 +46,28 @@ def time() -> float:
|
||||
|
||||
def sleep(seconds: Seconds):
|
||||
_time.sleep(to_seconds_float(seconds))
|
||||
|
||||
|
||||
def true_seconds(*seconds: Seconds) -> typing.List[float]:
|
||||
result = []
|
||||
for value in seconds:
|
||||
value = to_seconds(value)
|
||||
if value is not None:
|
||||
result.append(value)
|
||||
return result
|
||||
|
||||
|
||||
def min_seconds(*seconds: Seconds) -> Seconds:
|
||||
values = true_seconds(*seconds)
|
||||
if values:
|
||||
return min(values)
|
||||
else:
|
||||
return None
|
||||
|
||||
|
||||
def max_seconds(*seconds: Seconds) -> Seconds:
|
||||
values = true_seconds(*seconds)
|
||||
if values:
|
||||
return max(values)
|
||||
else:
|
||||
return None
|
||||
|
@ -128,3 +128,23 @@ class TimeTest(unit.TobikoUnitTest):
|
||||
result = tobiko.to_seconds_float(seconds)
|
||||
expected = seconds and max(0., float(seconds)) or 0.
|
||||
self.assertEqual(expected, result)
|
||||
|
||||
def test_true_seconds(self):
|
||||
self.assertEqual([], tobiko.true_seconds())
|
||||
self.assertEqual([], tobiko.true_seconds(None))
|
||||
self.assertEqual([], tobiko.true_seconds(None, None))
|
||||
self.assertEqual([1., 2., 3., 4.],
|
||||
tobiko.true_seconds(None, 1, None, 2., '3', None, 4,
|
||||
None))
|
||||
|
||||
def test_min_seconds(self):
|
||||
self.assertIsNone(tobiko.min_seconds())
|
||||
self.assertIsNone(tobiko.min_seconds(None))
|
||||
self.assertIsNone(tobiko.min_seconds(None, None))
|
||||
self.assertEqual(1.5, tobiko.min_seconds(3, 2., '1.5'))
|
||||
|
||||
def test_max_seconds(self):
|
||||
self.assertIsNone(tobiko.max_seconds())
|
||||
self.assertIsNone(tobiko.max_seconds(None))
|
||||
self.assertIsNone(tobiko.max_seconds(None, None))
|
||||
self.assertEqual(3., tobiko.max_seconds(2., 3, '1.5'))
|
||||
|
Loading…
x
Reference in New Issue
Block a user