X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=tests%2Fregression%2Fust%2Fust-dl%2Ftest_ust-dl.py;h=e60a65a9331e8771cc8be9f832e51493d032ea4e;hp=7117ca1b343ed8f9568c63f410defbe8d66e2616;hb=d8ed06afceb2d0517633814f7f2a04f69ac71da6;hpb=d1e2f4ebd1c8894756d7a595593055883962b58f diff --git a/tests/regression/ust/ust-dl/test_ust-dl.py b/tests/regression/ust/ust-dl/test_ust-dl.py index 7117ca1b3..e60a65a93 100644 --- a/tests/regression/ust/ust-dl/test_ust-dl.py +++ b/tests/regression/ust/ust-dl/test_ust-dl.py @@ -31,7 +31,7 @@ sys.path.append(test_utils_path) from test_utils import * -NR_TESTS = 6 +NR_TESTS = 11 current_test = 1 print("1..{0}".format(NR_TESTS)) @@ -46,20 +46,12 @@ enable_ust_tracepoint_event(session_info, "*") start_session(session_info) test_env = os.environ.copy() -test_env["LD_PRELOAD"] += ":liblttng-ust-dl.so" -test_env["LD_LIBRARY_PATH"] += ":" + test_path +test_env["LD_PRELOAD"] = test_env.get("LD_PRELOAD", "") + ":liblttng-ust-dl.so" +test_env["LD_LIBRARY_PATH"] = test_env.get("LD_LIBRARY_PATH", "") + ":" + test_path test_process = subprocess.Popen(test_path + "prog", stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=test_env) - -if sys.version_info >= (3, 3): - try: - test_process.wait(5) - except subprocess.TimeoutExpired: - test_process.kill() - bail("Failed to run ust-dl test application.", session_info) -else: - test_process.wait() +test_process.wait() print_test_result(test_process.returncode == 0, current_test, "Test application exited normally") current_test += 1 @@ -72,42 +64,86 @@ try: except FileNotFoundError: bail("Could not open babeltrace. Please make sure it is installed.", session_info) -dlopen_event_found = False -build_id_event_found = False -debug_link_event_found = False -dlclose_event_found = False +dlopen_event_found = 0 +dlmopen_event_found = 0 +build_id_event_found = 0 +debug_link_event_found = 0 +dlclose_event_found = 0 +load_event_found = 0 +load_build_id_event_found = 0 +load_debug_link_event_found = 0 +unload_event_found = 0 +load_libfoo_found = 0 +load_libbar_found = 0 +load_libzzz_found = 0 for event_line in babeltrace_process.stdout: - # Let babeltrace finish to get the return code - if dlopen_event_found and build_id_event_found and \ - debug_link_event_found and dlclose_event_found: - continue event_line = event_line.decode('utf-8').replace("\n", "") if re.search(r".*lttng_ust_dl:dlopen.*", event_line) is not None: - dlopen_event_found = True + dlopen_event_found += 1 + elif re.search(r".*lttng_ust_dl:dlmopen.*", event_line) is not None: + dlmopen_event_found += 1 elif re.search(r".*lttng_ust_dl:build_id.*", event_line) is not None: - build_id_event_found = True + build_id_event_found += 1 elif re.search(r".*lttng_ust_dl:debug_link.*", event_line) is not None: - debug_link_event_found = True + debug_link_event_found += 1 elif re.search(r".*lttng_ust_dl:dlclose.*", event_line) is not None: - dlclose_event_found = True + dlclose_event_found += 1 + elif re.search(r".*lttng_ust_lib:build_id.*", event_line) is not None: + load_build_id_event_found += 1 + elif re.search(r".*lttng_ust_lib:debug_link.*", event_line) is not None: + load_debug_link_event_found += 1 + elif re.search(r".*lttng_ust_lib:unload.*", event_line) is not None: + unload_event_found += 1 + elif re.search(r".*lttng_ust_lib:load.*", event_line) is not None: + load_event_found += 1 + if re.search(r".*lttng_ust_lib:load.*libfoo.*", event_line) is not None: + load_libfoo_found += 1 + elif re.search(r".*lttng_ust_lib:load.*libbar.*", event_line) is not None: + load_libbar_found += 1 + elif re.search(r".*lttng_ust_lib:load.*libzzz.*", event_line) is not None: + load_libzzz_found += 1 babeltrace_process.wait() print_test_result(babeltrace_process.returncode == 0, current_test, "Resulting trace is readable") current_test += 1 -print_test_result(dlopen_event_found, current_test, "lttng_ust_dl:dlopen event found in resulting trace") +print_test_result(dlopen_event_found > 0, current_test, "lttng_ust_dl:dlopen event found in resulting trace") +current_test += 1 + +print_test_result(dlmopen_event_found > 0, current_test, "lttng_ust_dl:dlmopen event found in resulting trace") +current_test += 1 + +print_test_result(build_id_event_found > 0, current_test, "lttng_ust_dl:build_id event found in resulting trace") +current_test += 1 + +print_test_result(debug_link_event_found > 0, current_test, "lttng_ust_dl:debug_link event found in resulting trace") +current_test += 1 + +print_test_result(dlclose_event_found > 0, current_test, "lttng_ust_dl:dlclose event found in resulting trace") +current_test += 1 + +print_test_result(load_event_found > 0, current_test, "lttng_ust_lib:load event found in resulting trace") +current_test += 1 + +print_test_result(load_build_id_event_found > 0, current_test, "lttng_ust_lib:build_id event found in resulting trace") +current_test += 1 + +print_test_result(load_debug_link_event_found > 0, current_test, "lttng_ust_lib:debug_link event found in resulting trace") +current_test += 1 + +print_test_result(unload_event_found == 3, current_test, "lttng_ust_lib:unload event found 3 times in resulting trace") current_test += 1 -print_test_result(build_id_event_found, current_test, "lttng_ust_dl:build_id event found in resulting trace") +print_test_result(load_libfoo_found == 1, current_test, "lttng_ust_lib:load libfoo.so event found once in resulting trace") current_test += 1 -print_test_result(debug_link_event_found, current_test, "lttng_ust_dl:debug_link event found in resulting trace") +print_test_result(load_libbar_found == 1, current_test, "lttng_ust_lib:load libbar.so event found once in resulting trace") current_test += 1 -print_test_result(dlclose_event_found, current_test, "lttng_ust_dl:dlclose event found in resulting trace") +print_test_result(load_libzzz_found == 1, current_test, "lttng_ust_lib:load libzzz.so event found once in resulting trace") current_test += 1 shutil.rmtree(session_info.tmp_directory)