summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
52eb43b)
`time.monotonic_ns()` was introduced in python 3.7. Prior to that, the
other available monotonic time function was `time.monotonic()` which was
itself introduced in python 3.3.
For python3 < 3.3, the automatic timing of TAP tests is disabled.
The use of underscores for readable integers was also only introduced in
python 3.6.
Change-Id: Ibf85669c4d108347097d2cea7ab5d28cde9d0cc6
Signed-off-by: Kienan Stewart <kstewart@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
from typing import Iterator, Optional
from typing import Iterator, Optional
+def _get_time_ns():
+ assert sys.version_info > (3, 3, 0)
+ # time.monotonic_ns is only available for python >= 3.8
+ return time.monotonic() * 1000000000
+
+
class InvalidTestPlan(RuntimeError):
def __init__(self, msg):
# type: (str) -> None
class InvalidTestPlan(RuntimeError):
def __init__(self, msg):
# type: (str) -> None
self._time_tests = True # type: bool
if os.getenv("TAP_AUTOTIME", "1") == "" or os.getenv("TAP_AUTOTIME", "1") == "0":
self._time_tests = False
self._time_tests = True # type: bool
if os.getenv("TAP_AUTOTIME", "1") == "" or os.getenv("TAP_AUTOTIME", "1") == "0":
self._time_tests = False
- self._last_time = time.monotonic_ns()
+ self._last_time = _get_time_ns()
def __del__(self):
if self.remaining_test_cases > 0:
def __del__(self):
if self.remaining_test_cases > 0:
def test(self, result, description):
# type: (bool, str) -> None
def test(self, result, description):
# type: (bool, str) -> None
- duration = (time.monotonic_ns() - self._last_time) / 1_000_000
+ duration = (_get_time_ns() - self._last_time) / 1000000
if self._last_test_case_id == self._total_test_count:
raise InvalidTestPlan("Executing too many tests")
if self._last_test_case_id == self._total_test_count:
raise InvalidTestPlan("Executing too many tests")
)
if self._time_tests:
self._print("---\n duration_ms: {}\n...\n".format(duration))
)
if self._time_tests:
self._print("---\n duration_ms: {}\n...\n".format(duration))
- self._last_time = time.monotonic_ns()
+ self._last_time = _get_time_ns()
def ok(self, description):
# type: (str) -> None
def ok(self, description):
# type: (str) -> None
from lttng import *
_time_tests = True
from lttng import *
_time_tests = True
-if os.getenv("TAP_AUTOTIME", "1") == "" or os.getenv("TAP_AUTOTIME", "1") == "0":
+if os.getenv("TAP_AUTOTIME", "1") == "" or os.getenv("TAP_AUTOTIME", "1") == "0" or sys.version_info < (3,3,0):
-_last_time = time.monotonic_ns()
+
+def _get_time_ns():
+ assert sys.version_info > (3, 3, 0)
+ # time.monotonic_ns is only available for python >= 3.8
+ return time.monotonic() * 1000000000
+
+
+_last_time = _get_time_ns()
BABELTRACE_BIN="babeltrace2"
BABELTRACE_BIN="babeltrace2"
global _last_time
if not _time_tests:
return
global _last_time
if not _time_tests:
return
- duration_ns = time.monotonic_ns() - _last_time
- print(" ---\n duration_ms: {:02f}\n ...".format(duration_ns / 1_000_000))
- _last_time = time.monotonic_ns()
+ duration_ns = _get_time_ns() - _last_time
+ print(" ---\n duration_ms: {:02f}\n ...".format(duration_ns / 1000000))
+ _last_time = _get_time_ns()
def print_test_result(result, number, description):
result_string = None
def print_test_result(result, number, description):
result_string = None