Tests: namespace TAP_AUTOTIME under LTTNG_TESTS
[lttng-tools.git] / tests / utils / lttngtest / tap_generator.py
index f87c8c88ba5f8074b29b202cbbaeff1c84013b74..75960aece6c25dcfedc51a224dc58db12ea149d6 100644 (file)
@@ -12,6 +12,19 @@ import time
 from typing import Iterator, Optional
 
 
+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)
+
+
 class InvalidTestPlan(RuntimeError):
     def __init__(self, msg):
         # type: (str) -> None
@@ -73,9 +86,9 @@ class TapGenerator:
         self._printed_plan = False  # type: bool
         self._has_failure = False  # type: bool
         self._time_tests = True  # type: bool
-        if os.getenv("TAP_AUTOTIME", "1") == "" or os.getenv("TAP_AUTOTIME", "1") == "0":
+        if os.getenv("LTTNG_TESTS_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:
@@ -129,7 +142,7 @@ class TapGenerator:
 
     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")
 
@@ -147,7 +160,7 @@ class TapGenerator:
         )
         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
This page took 0.077328 seconds and 4 git commands to generate.