X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=tests%2Fplugins%2Fflt.lttng-utils.debug-info%2Ftest_succeed;h=3825b8987fda5e71007a07f8bfa80910f18c8928;hb=5ce9818ba4e76858b2ef12c81ba75c1306f195d3;hp=b57b7a785029a34eb54ae80580d628aa85f49240;hpb=d3765576bcdab2fff6360fffc0b77f1021d1a771;p=babeltrace.git diff --git a/tests/plugins/flt.lttng-utils.debug-info/test_succeed b/tests/plugins/flt.lttng-utils.debug-info/test_succeed index b57b7a78..3825b898 100755 --- a/tests/plugins/flt.lttng-utils.debug-info/test_succeed +++ b/tests/plugins/flt.lttng-utils.debug-info/test_succeed @@ -1,21 +1,10 @@ #!/bin/bash # +# SPDX-License-Identifier: GPL-2.0-only +# # Copyright (C) 2019 Philippe Proulx # Copyright (C) 2019 Francis Deslauriers # -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; only version 2 -# of the License. -# -# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # This test validates that a `src.ctf.fs` component successfully reads # specific CTF traces and creates the expected messages. @@ -31,14 +20,14 @@ else UTILSSH="$(dirname "$0")/../../utils/utils.sh" fi -# shellcheck source=../../../utils/utils.sh +# shellcheck source=../../utils/utils.sh source "$UTILSSH" this_dir_relative="plugins/flt.lttng-utils.debug-info" -this_dir_build="$BT_TESTS_BUILDDIR/$this_dir_relative" succeed_trace_dir="$BT_CTF_TRACES_PATH/succeed" expect_dir="$BT_TESTS_DATADIR/$this_dir_relative" binary_artefact_dir="$BT_TESTS_DATADIR/$this_dir_relative" +data_dir="$BT_TESTS_DATADIR/$this_dir_relative" test_debug_info() { local name="$1" @@ -54,6 +43,71 @@ test_debug_info() { ok $? "Trace '$name' gives the expected output" } -plan_tests 1 +test_compare_to_ctf_fs() { + # Compare the `sink.text.details` output of a graph with and without a + # `flt.lttng-utils.debug-info` component. Both should be identical for + # traces without LTTng debugging fields. + local test_name=$1 + shift 1 + local cli_args=("$@") + local debug_info_cli_args=("-c" "flt.lttng-utils.debug-info") + local details_cli_args=( + "-c" "sink.text.details" + "--params" "with-trace-name=false,with-stream-name=false,with-uuid=false" + ) + local actual_stdout + local actual_stderr + local expected_stdout + local expected_stderr + local ret=0 + + actual_stdout=$(mktemp -t test_debug_info_stdout_actual.XXXXXX) + actual_stderr=$(mktemp -t test_debug_info_stderr_actual.XXXXXX) + expected_stdout=$(mktemp -t test_debug_info_stdout_expected.XXXXXX) + expected_stderr=$(mktemp -t test_debug_info_stderr_expected.XXXXXX) + + # Create expected files using a graph without a `debug-info` component. + bt_cli "$expected_stdout" "$expected_stderr" "${cli_args[@]}" \ + "${details_cli_args[@]}" + + # Read the same trace with a `debug-info` component in the graph. + bt_cli "$actual_stdout" "$actual_stderr" "${cli_args[@]}" \ + "${details_cli_args[@]}" "${debug_info_cli_args[@]}" + + bt_diff "$expected_stdout" "$actual_stdout" + ok $? "Input '$test_name' gives the expected stdout" + + bt_diff "$expected_stderr" "$actual_stderr" + ok $? "Input '$test_name' gives the expected stderr" + + rm -f "$actual_stdout" + rm -f "$actual_stderr" + rm -f "$expected_stdout" + rm -f "$expected_stderr" +} + +test_compare_ctf_src_trace() { + local trace_name=$1 + local trace_path="$succeed_trace_dir/$trace_name" + local cli_args=("$trace_path") + + diag "Comparing output with and without 'flt.lttng-utils.debug-info' on '$trace_name'" + test_compare_to_ctf_fs "src.ctf.fs with $trace_name trace" "${cli_args[@]}" +} + +test_compare_complete_src_trace() { + + local source_name="src.test_debug_info.CompleteSrc" + local cli_args=("--plugin-path=$data_dir" "-c" "$source_name") + test_compare_to_ctf_fs "$source_name" "${cli_args[@]}" +} + +plan_tests 9 test_debug_info debug-info + +test_compare_ctf_src_trace smalltrace +test_compare_ctf_src_trace 2packets +test_compare_ctf_src_trace session-rotation + +test_compare_complete_src_trace