Tests: lttngtest: confusing comment regarding supported python versions
[lttng-tools.git] / tests / utils / test_utils.py
index 8980cc8d13a3ebf7c0d785627049d80f810ca17c..30c057bddd53dfcca865e7d28b0c56fdb608acc9 100644 (file)
@@ -24,9 +24,24 @@ sys.path.append(lttng_bindings_libs_path)
 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"
 
@@ -54,9 +69,9 @@ def print_automatic_test_timing():
     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
This page took 0.027324 seconds and 4 git commands to generate.