tests: Make test_per_application_leaks more robust
[lttng-tools.git] / tests / regression / ust / baddr-statedump / test_baddr-statedump.py
index 308eff4296a713dc7c49f791c4b9d7f67d77916a..f785289a7f8d4c1de7fae9703cef28d158d1a390 100644 (file)
@@ -1,20 +1,9 @@
 #!/usr/bin/env python3
 #
 #!/usr/bin/env python3
 #
-# Copyright (C) 2013 Jérémie Galarneau <jeremie.galarneau@efficios.com>
-# Copyright (C) 2015 Antoine Busque <abusque@efficios.com>
+# Copyright (C) 2013 Jérémie Galarneau <jeremie.galarneau@efficios.com>
+# Copyright (C) 2015 Antoine Busque <abusque@efficios.com>
 #
 #
-# This program is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License, version 2 only, as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
-# more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this program; if not, write to the Free Software Foundation, Inc., 51
-# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+# SPDX-License-Identifier: GPL-2.0-only
 
 import os
 import subprocess
 
 import os
 import subprocess
@@ -37,52 +26,63 @@ print("1..{0}".format(NR_TESTS))
 
 # Check if a sessiond is running... bail out if none found.
 if session_daemon_alive() == 0:
 
 # Check if a sessiond is running... bail out if none found.
 if session_daemon_alive() == 0:
-    bail("""No sessiond running. Please make sure you are running this test
+    bail(
+        """No sessiond running. Please make sure you are running this test
     with the "run" shell script and verify that the lttng tools are
     with the "run" shell script and verify that the lttng tools are
-    properly installed.""")
+    properly installed."""
+    )
 
 session_info = create_session()
 enable_ust_tracepoint_event(session_info, "*")
 start_session(session_info)
 
 
 session_info = create_session()
 enable_ust_tracepoint_event(session_info, "*")
 start_session(session_info)
 
-test_process = subprocess.Popen(test_path + "prog", stdout=subprocess.PIPE, stderr=subprocess.PIPE)
-if sys.version_info >= (3, 3):
-    try:
-        test_process.wait(5)
-    except subprocess.TimeoutExpired:
-        test_process.kill()
-        bail("Failed to run ust baddr-statedump test application.", session_info)
-else:
-    test_process.wait()
-
-print_test_result(test_process.returncode == 0, current_test, "Test application exited normally")
+test_process = subprocess.Popen(
+    test_path + "prog.strip", stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL
+)
+test_process.wait()
+
+print_test_result(
+    test_process.returncode == 0, current_test, "Test application exited normally"
+)
 current_test += 1
 
 stop_session(session_info)
 
 # Check for statedump events in the resulting trace
 try:
 current_test += 1
 
 stop_session(session_info)
 
 # Check for statedump events in the resulting trace
 try:
-    babeltrace_process = subprocess.Popen(["babeltrace", session_info.trace_path], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+    babeltrace_process = subprocess.Popen(
+        [BABELTRACE_BIN, session_info.trace_path],
+        stdout=subprocess.PIPE,
+        stderr=subprocess.PIPE,
+    )
 except FileNotFoundError:
 except FileNotFoundError:
-    bail("Could not open babeltrace. Please make sure it is installed.", session_info)
+    bail(
+        "Could not open {}. Please make sure it is installed.".format(BABELTRACE_BIN),
+        session_info,
+    )
 
 start_event_found = False
 
 start_event_found = False
-soinfo_event_found = False
+bin_info_event_found = False
 build_id_event_found = False
 debug_link_event_found = False
 end_event_found = False
 
 for event_line in babeltrace_process.stdout:
     # Let babeltrace finish to get the return code
 build_id_event_found = False
 debug_link_event_found = False
 end_event_found = False
 
 for event_line in babeltrace_process.stdout:
     # Let babeltrace finish to get the return code
-    if start_event_found and soinfo_event_found and build_id_event_found and \
-       debug_link_event_found and end_event_found:
+    if (
+        start_event_found
+        and bin_info_event_found
+        and build_id_event_found
+        and debug_link_event_found
+        and end_event_found
+    ):
         continue
 
         continue
 
-    event_line = event_line.decode('utf-8').replace("\n", "")
+    event_line = event_line.decode("utf-8").replace("\n", "")
     if re.search(r".*lttng_ust_statedump:start.*", event_line) is not None:
         start_event_found = True
     if re.search(r".*lttng_ust_statedump:start.*", event_line) is not None:
         start_event_found = True
-    elif re.search(r".*lttng_ust_statedump:soinfo.*", event_line) is not None:
-        soinfo_event_found = True
+    elif re.search(r".*lttng_ust_statedump:bin_info.*", event_line) is not None:
+        bin_info_event_found = True
     elif re.search(r".*lttng_ust_statedump:build_id.*", event_line) is not None:
         build_id_event_found = True
     elif re.search(r".*lttng_ust_statedump:debug_link.*", event_line) is not None:
     elif re.search(r".*lttng_ust_statedump:build_id.*", event_line) is not None:
         build_id_event_found = True
     elif re.search(r".*lttng_ust_statedump:debug_link.*", event_line) is not None:
@@ -92,22 +92,44 @@ for event_line in babeltrace_process.stdout:
 
 babeltrace_process.wait()
 
 
 babeltrace_process.wait()
 
-print_test_result(babeltrace_process.returncode == 0, current_test, "Resulting trace is readable")
+print_test_result(
+    babeltrace_process.returncode == 0, current_test, "Resulting trace is readable"
+)
 current_test += 1
 
 current_test += 1
 
-print_test_result(start_event_found, current_test, "lttng_ust_statedump:start event found in resulting trace")
+print_test_result(
+    start_event_found,
+    current_test,
+    "lttng_ust_statedump:start event found in resulting trace",
+)
 current_test += 1
 
 current_test += 1
 
-print_test_result(soinfo_event_found, current_test, "lttng_ust_statedump:soinfo event found in resulting trace")
+print_test_result(
+    bin_info_event_found,
+    current_test,
+    "lttng_ust_statedump:bin_info event found in resulting trace",
+)
 current_test += 1
 
 current_test += 1
 
-print_test_result(build_id_event_found, current_test, "lttng_ust_statedump:build_id event found in resulting trace")
+print_test_result(
+    build_id_event_found,
+    current_test,
+    "lttng_ust_statedump:build_id event found in resulting trace",
+)
 current_test += 1
 
 current_test += 1
 
-print_test_result(debug_link_event_found, current_test, "lttng_ust_statedump:debug_link event found in resulting trace")
+print_test_result(
+    debug_link_event_found,
+    current_test,
+    "lttng_ust_statedump:debug_link event found in resulting trace",
+)
 current_test += 1
 
 current_test += 1
 
-print_test_result(end_event_found, current_test, "lttng_ust_statedump:end event found in resulting trace")
+print_test_result(
+    end_event_found,
+    current_test,
+    "lttng_ust_statedump:end event found in resulting trace",
+)
 current_test += 1
 
 shutil.rmtree(session_info.tmp_directory)
 current_test += 1
 
 shutil.rmtree(session_info.tmp_directory)
This page took 0.025256 seconds and 4 git commands to generate.