X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=tests%2Futils%2Ftest_utils.py;h=2cae263c43db60dddeac144ac893175851dadb14;hb=6a871bbe6177568f748d1a9f580fa981bc75171c;hp=9b124e3a124ba243964655dd93c4dbd7628841e5;hpb=f7169e41979bb8a57ecf2ff3683fefa74e05179b;p=lttng-tools.git diff --git a/tests/utils/test_utils.py b/tests/utils/test_utils.py index 9b124e3a1..2cae263c4 100644 --- a/tests/utils/test_utils.py +++ b/tests/utils/test_utils.py @@ -24,18 +24,27 @@ 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" or sys.version_info < (3,3,0): +if os.getenv("LTTNG_TESTS_TAP_AUTOTIME", "1") == "0": _time_tests = False + 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 + # 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" +BABELTRACE_BIN = "babeltrace2" + class SessionInfo: def __init__(self, handle, session_name, tmp_directory, channel_name): @@ -45,7 +54,8 @@ class SessionInfo: self.trace_path = tmp_directory + "/" + session_name self.channel_name = channel_name -def bail(diag, session_info = None): + +def bail(diag, session_info=None): print("Bail out!") print("#", diag) @@ -56,6 +66,7 @@ def bail(diag, session_info = None): shutil.rmtree(session_info.tmp_directory) exit(-1) + def print_automatic_test_timing(): global _time_tests global _last_time @@ -65,6 +76,7 @@ def print_automatic_test_timing(): 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 if result is True: @@ -76,10 +88,12 @@ def print_test_result(result, number, description): print(result_string) print_automatic_test_timing() + def skip_test(number, description): - print('ok {} # skip {}'.format(number, description)) + print("ok {} # skip {}".format(number, description)) print_automatic_test_timing() + def enable_ust_tracepoint_event(session_info, event_name): event = Event() event.name = event_name @@ -89,6 +103,7 @@ def enable_ust_tracepoint_event(session_info, event_name): if res < 0: bail("Failed to enable userspace event " + event_name, session_info) + def create_session(): dom = Domain() dom.type = DOMAIN_UST @@ -113,17 +128,23 @@ def create_session(): bail("Failed to enable channel " + channel.name, session_info) return session_info + def start_session(session_info): start(session_info.name) -def stop_session(session_info, bailing = False): + +def stop_session(session_info, bailing=False): # Workaround lttng-ctl outputing directly to stdout by spawning a subprocess. lttng_binary_path = os.path.dirname(os.path.abspath(__file__)) + "/" for i in range(3): lttng_binary_path = os.path.dirname(lttng_binary_path) lttng_binary_path = lttng_binary_path + "/src/bin/lttng/lttng" - retcode = subprocess.call([lttng_binary_path, "stop", session_info.name], stdout=subprocess.PIPE, stderr=subprocess.PIPE) + retcode = subprocess.call( + [lttng_binary_path, "stop", session_info.name], + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + ) if retcode != 0 and not bailing: bail("Unable to stop session " + session_info.name, session_info) destroy(session_info.name)