X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=tests%2Fregression%2Ftools%2Frotation%2Ftest_save_load_mi;h=92146afebef1a0bd5544bb994e17161d21e46ab9;hp=8e1772a1301d7f358070512f1f394a8da033c46a;hb=2463b7879c00298daa79744cdaae82ac061a4ed8;hpb=e7716c6aec4c7152bd4cb060b805d8cb7051c121 diff --git a/tests/regression/tools/rotation/test_save_load_mi b/tests/regression/tools/rotation/test_save_load_mi index 8e1772a13..92146afeb 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,83 +10,94 @@ 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-3.0.xsd +XSD_PATH=$TESTDIR/../src/common/mi-lttng-4.0.xsd XML_VALIDATE="$TESTDIR/regression/tools/mi/validate_xml $XSD_PATH" XML_EXTRACT="$TESTDIR/regression/tools/mi/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" -function test_save_load () +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_mi () { tmp_xml_output=$(mktemp -u) tmp_save_output=$(mktemp -d) + trace_path=$(mktemp -d) 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 -rf ${trace_path} rm $tmp_xml_output rm -rf $tmp_save_output } @@ -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 @@ -117,5 +117,3 @@ do done stop_lttng_sessiond - -exit $out