X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=tests%2Fregression%2Ftools%2Frotation%2Ftest_save_load_mi;h=cb205084111569eaa81de1650ed3af18a01a47a0;hb=208e4eea6509113477abee7e161ca63916bd6d73;hp=d3d6768ab1c62ff773a60a8ea176f782f5845e18;hpb=497cebb8e31c709d17d54f8a9c02dfac5d29c481;p=lttng-tools.git diff --git a/tests/regression/tools/rotation/test_save_load_mi b/tests/regression/tools/rotation/test_save_load_mi index d3d6768ab..cb2050841 100755 --- a/tests/regression/tools/rotation/test_save_load_mi +++ b/tests/regression/tools/rotation/test_save_load_mi @@ -1,19 +1,8 @@ #!/bin/bash # -# Copyright (C) - 2017 Julien Desfossez +# Copyright (C) 2017 Julien Desfossez # -# This library is free software; you can redistribute it and/or modify it under -# the terms of the GNU Lesser General Public License as published by the Free -# Software Foundation; version 2.1 of the License. -# -# This library 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 Lesser General Public License for more -# details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this library; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +# SPDX-License-Identifier: LGPL-2.1-only TEST_DESC="Rotation - Save/Load/List/MI" @@ -21,85 +10,96 @@ CURDIR=$(dirname $0)/ TESTDIR=$CURDIR/../../.. SESSION_NAME="stream" -TRACE_PATH=$(mktemp -d) - -NUM_TESTS=14 +NUM_TESTS=22 source $TESTDIR/utils/utils.sh source $CURDIR/rotate_utils.sh -#Overwrite the lttng_bin to get mi output +# Overwrite the lttng_bin to get mi output LTTNG_BIN="lttng --mi xml" -#Global declaration for simplification -LTTNG=$TESTDIR/../src/bin/lttng/$LTTNG_BIN +XSD_PATH=$TESTDIR/../src/common/mi-lttng-4.0.xsd -XSD_PATH=$TESTDIR/../src/common/mi-lttng-3.0.xsd - -XML_VALIDATE="$TESTDIR/regression/tools/mi/validate_xml $XSD_PATH" -XML_EXTRACT="$TESTDIR/regression/tools/mi/extract_xml" +XML_VALIDATE="$TESTDIR/utils/xml-utils/validate_xml $XSD_PATH" +XML_EXTRACT="$TESTDIR/utils/xml-utils/extract_xml" XPATH_CMD_OUTPUT="//lttng:command/lttng:output" XPATH_SESSION="$XPATH_CMD_OUTPUT/lttng:sessions/lttng:session" -XPATH_ROTATE_SETUP="$XPATH_CMD_OUTPUT/lttng:rotation_schedule" +XPATH_ENABLE_ROTATE_TIMER="$XPATH_CMD_OUTPUT/lttng:rotation_schedule_results/lttng:rotation_schedule_result/lttng:rotation_schedule/lttng:periodic/lttng:time_us" +XPATH_ENABLE_ROTATE_SIZE="$XPATH_CMD_OUTPUT/lttng:rotation_schedule_results/lttng:rotation_schedule_result/lttng:rotation_schedule/lttng:size_threshold/lttng:bytes" + +XPATH_LIST_ROTATE_TIMER="$XPATH_SESSION/lttng:rotation_schedules/lttng:periodic/lttng:time_us" +XPATH_LIST_ROTATE_SIZE="$XPATH_SESSION/lttng:rotation_schedules/lttng:size_threshold/lttng:bytes" -function test_save_load () +function test_save_load_mi () { - tmp_xml_output=$(mktemp -u) - tmp_save_output=$(mktemp -d) + local tmp_xml_output=$(mktemp --tmpdir -u -t "tmp.${FUNCNAME[0]}_xml_output.XXXXXX") + local tmp_save_output=$(mktemp --tmpdir -d -t "tmp.${FUNCNAME[0]}_save_output.XXXXXX") + local trace_path=$(mktemp --tmpdir -d -t "tmp.${FUNCNAME[0]}_trace_path.XXXXXX") diag "Test save/load/list/MI with rotation" - create_lttng_session_ok $SESSION_NAME $TRACE_PATH + create_lttng_session_ok $SESSION_NAME $trace_path enable_ust_lttng_event_ok $SESSION_NAME -a # Enable a rotation timer and check the MI output of the command - $LTTNG enable-rotation -s $SESSION_NAME --timer 500ms >${tmp_xml_output} + + OUTPUT_DEST=${tmp_xml_output} + lttng_enable_rotation_timer_ok $SESSION_NAME 500ms $XML_VALIDATE ${tmp_xml_output} ok $? "Valid lttng enable-rotation timer XML" - value=$($XML_EXTRACT ${tmp_xml_output} ${XPATH_ROTATE_SETUP}/lttng:rotation_schedule_timer_period) + + value=$($XML_EXTRACT ${tmp_xml_output} ${XPATH_ENABLE_ROTATE_TIMER}) test $value = 500000 ok $? "Found the right rotation timer value in XML" # Enable a rotation size and check the MI output of the command - $LTTNG enable-rotation -s $SESSION_NAME --size 500k >${tmp_xml_output} + lttng_enable_rotation_size_ok $SESSION_NAME 500k $XML_VALIDATE ${tmp_xml_output} ok $? "Valid lttng enable-rotation size XML" - value=$($XML_EXTRACT ${tmp_xml_output} ${XPATH_ROTATE_SETUP}/lttng:rotation_schedule_size) + + value=$($XML_EXTRACT ${tmp_xml_output} ${XPATH_ENABLE_ROTATE_SIZE}) test $value = 512000 ok $? "Found the right rotation size value in XML" # Check the output of lttng list with the 2 rotation parameters - $LTTNG list $SESSION_NAME >${tmp_xml_output} + list_lttng_with_opts $SESSION_NAME $XML_VALIDATE ${tmp_xml_output} ok $? "Valid lttng list XML" - value=$($XML_EXTRACT ${tmp_xml_output} ${XPATH_SESSION}/lttng:rotation_schedule_timer_period) + + value=$($XML_EXTRACT ${tmp_xml_output} ${XPATH_LIST_ROTATE_TIMER}) test $value = 500000 ok $? "Found the right rotation timer value in list XML" - value=$($XML_EXTRACT ${tmp_xml_output} ${XPATH_SESSION}/lttng:rotation_schedule_size) + + value=$($XML_EXTRACT ${tmp_xml_output} ${XPATH_LIST_ROTATE_SIZE}) test $value = 512000 ok $? "Found the right rotation size value in list XML" # save, destroy and reload the same session - $LTTNG save -o $tmp_save_output$SESSION_NAME >/dev/null - $LTTNG destroy $SESSION_NAME >/dev/null - $LTTNG load -i $tmp_save_output$SESSION_NAME >/dev/null + OUTPUT_DEST=/dev/null + lttng_save $SESSION_NAME "-o $tmp_save_output/$SESSION_NAME" + destroy_lttng_session_ok $SESSION_NAME + lttng_load_ok "-i $tmp_save_output/$SESSION_NAME" + OUTPUT_DEST=${tmp_xml_output} # Check the output of lttng list with the 2 rotation parameters after the load - $LTTNG list $SESSION_NAME >${tmp_xml_output} + list_lttng_with_opts $SESSION_NAME $XML_VALIDATE ${tmp_xml_output} ok $? "Valid lttng list XML after load" - value=$($XML_EXTRACT ${tmp_xml_output} ${XPATH_SESSION}/lttng:rotation_schedule_timer_period) + + value=$($XML_EXTRACT ${tmp_xml_output} ${XPATH_LIST_ROTATE_TIMER}) test $value = 500000 ok $? "Found the right rotation timer value in list XML after load" - value=$($XML_EXTRACT ${tmp_xml_output} ${XPATH_SESSION}/lttng:rotation_schedule_size) + + value=$($XML_EXTRACT ${tmp_xml_output} ${XPATH_LIST_ROTATE_SIZE}) test $value = 512000 ok $? "Found the right rotation size value in list XML after load" - $LTTNG destroy $SESSION_NAME >/dev/null + OUTPUT_DEST=/dev/null + destroy_lttng_session_ok $SESSION_NAME - rm -rf ${TRACE_PATH} - rm $tmp_xml_output - rm -rf $tmp_save_output + rm -rf "$trace_path" + rm "$tmp_xml_output" + rm -rf "$tmp_save_output" } plan_tests $NUM_TESTS @@ -108,7 +108,7 @@ print_test_banner "$TEST_DESC" start_lttng_sessiond -tests=( test_save_load ) +tests=( test_save_load_mi ) for fct_test in ${tests[@]}; do