X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=tests%2Fregression%2Fust%2Ftype-declarations%2Ftest_type_declarations.py;h=0d74dee0e35b7042bd4aa4e0c4cecde24261eb86;hb=6a871bbe6177568f748d1a9f580fa981bc75171c;hp=da2f57987f7aa40818fb25b5de66b111730b34f0;hpb=4881bba88a421d8e7f41d58feb88b4ca459af87d;p=lttng-tools.git diff --git a/tests/regression/ust/type-declarations/test_type_declarations.py b/tests/regression/ust/type-declarations/test_type_declarations.py index da2f57987..0d74dee0e 100644 --- a/tests/regression/ust/type-declarations/test_type_declarations.py +++ b/tests/regression/ust/type-declarations/test_type_declarations.py @@ -1,19 +1,8 @@ #!/usr/bin/env python3 # -# Copyright (C) - 2014 Geneviève Bastien +# Copyright (C) 2014 Geneviève Bastien # -# 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 @@ -35,7 +24,9 @@ print("1..{0}".format(NR_TESTS)) # 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 with the \"run\" shell script and verify that the lttng tools are properly installed.") + bail( + 'No sessiond running. Please make sure you are running this test with the "run" shell script and verify that the lttng tools are properly installed.' + ) session_info = create_session() enable_ust_tracepoint_event(session_info, "ust_tests_td*") @@ -44,67 +35,116 @@ start_session(session_info) test_env = os.environ.copy() test_env["LTTNG_UST_REGISTER_TIMEOUT"] = "-1" -td_process = subprocess.Popen(test_path + "type-declarations", stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=test_env) +td_process = subprocess.Popen( + test_path + "type-declarations", + stdout=subprocess.DEVNULL, + stderr=subprocess.DEVNULL, + env=test_env, +) td_process.wait() -print_test_result(td_process.returncode == 0, current_test, "Test application exited normally") +print_test_result( + td_process.returncode == 0, current_test, "Test application exited normally" +) current_test += 1 stop_session(session_info) # Check event fields using type declarations are present 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: - bail("Could not open babeltrace. Please make sure it is installed.") + bail("Could not open {}. Please make sure it is installed.".format(BABELTRACE_BIN)) event_lines = [] for event_line in babeltrace_process.stdout: - event_line = event_line.decode('utf-8').replace("\n", "") + event_line = event_line.decode("utf-8").replace("\n", "") event_lines.append(event_line) 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 if babeltrace_process.returncode != 0: bail("Unreadable trace; can't proceed with analysis.") -print_test_result(len(event_lines) == 5, current_test, "Correct number of events found in resulting trace") +print_test_result( + len(event_lines) == 5, + current_test, + "Correct number of events found in resulting trace", +) current_test += 1 if len(event_lines) != 5: - bail("Unexpected number of events found in resulting trace (" + session_info.trace_path + ")." ) - -match = re.search(r".*ust_tests_td:(.*):.*enumfield = \( \"(.*)\" :.*enumfield_bis = \( \"(.*)\" :.*enumfield_third = .*:.*", event_lines[0]) -print_test_result(match is not None and match.group(1) == "tptest", current_test,\ - "First tracepoint is present") + bail( + "Unexpected number of events found in resulting trace (" + + session_info.trace_path + + ")." + ) + +match = re.search( + r".*ust_tests_td:(.*):.*enumfield = \( \"(.*)\" :.*enumfield_bis = \( \"(.*)\" :.*enumfield_third = .*:.*", + event_lines[0], +) +print_test_result( + match is not None and match.group(1) == "tptest", + current_test, + "First tracepoint is present", +) current_test += 1 -print_test_result(match is not None and match.group(2) == "zero", current_test,\ - "First tracepoint's enum value maps to zero") +print_test_result( + match is not None and match.group(2) == "zero", + current_test, + "First tracepoint's enum value maps to zero", +) current_test += 1 -print_test_result(match is not None and match.group(3) == "one", current_test,\ - "First tracepoint's second enum value maps to one") +print_test_result( + match is not None and match.group(3) == "one", + current_test, + "First tracepoint's second enum value maps to one", +) current_test += 1 match = re.search(r".*ust_tests_td:(.*):.*enumfield = \( \"(.*)\" :.*", event_lines[1]) -print_test_result(match is not None and match.group(1) == "tptest_bis", current_test,\ - "Second tracepoint is present") +print_test_result( + match is not None and match.group(1) == "tptest_bis", + current_test, + "Second tracepoint is present", +) current_test += 1 -print_test_result(match is not None and match.group(2) == "zero", current_test,\ - "Second tracepoint's enum value maps to zero") +print_test_result( + match is not None and match.group(2) == "zero", + current_test, + "Second tracepoint's enum value maps to zero", +) current_test += 1 -match = re.search(r".*ust_tests_td:(.*):.*enumfield = \( \"(.*)\" :.*enumfield_bis = \( \"(.*)\" .*", event_lines[2]) +match = re.search( + r".*ust_tests_td:(.*):.*enumfield = \( \"(.*)\" :.*enumfield_bis = \( \"(.*)\" .*", + event_lines[2], +) -print_test_result(match is not None and match.group(2) == "one", current_test,\ - "Third tracepoint's enum value maps to one") +print_test_result( + match is not None and match.group(2) == "one", + current_test, + "Third tracepoint's enum value maps to one", +) current_test += 1 -print_test_result('{ zero = ( "zero" : container = 0 ), two = ( "two" : container = 2 ), three = ( "three" : container = 3 ), fifteen = ( "ten_to_twenty" : container = 15 ), twenty_one = ( "twenty_one" : container = 21 ) }' in event_lines[4], - current_test, 'Auto-incrementing enum values are correct') +print_test_result( + '{ zero = ( "zero" : container = 0 ), two = ( "two" : container = 2 ), three = ( "three" : container = 3 ), fifteen = ( "ten_to_twenty" : container = 15 ), twenty_one = ( "twenty_one" : container = 21 ) }' + in event_lines[4], + current_test, + "Auto-incrementing enum values are correct", +) shutil.rmtree(session_info.tmp_directory)