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):
_time_tests = False
-_last_time = time.monotonic_ns()
+
+
+def _get_time_ns():
+ # type: () -> int
+
+ # time.monotonic is only available since Python 3.3. We don't support
+ # those older versions so we can simply assert here.
+ assert sys.version_info >= (3, 3, 0)
+
+ # time.monotonic_ns is only available for python >= 3.8,
+ # so the value is multiplied by 10^9 to maintain compatibility with
+ # older versions of the interpreter.
+ return int(time.monotonic() * 1000000000)
+
+
+_last_time = _get_time_ns()
BABELTRACE_BIN="babeltrace2"
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