Tests: utils: regroup xml utils to utils.sh
[lttng-tools.git] / tests / regression / tools / rotation / test_save_load_mi
index e8971bb6d10fe6e2238cccc373dca40f40acf631..a4dce0951c8a44d2861a1dfa799a595caf796c24 100755 (executable)
@@ -1,19 +1,8 @@
 #!/bin/bash
 #
-# Copyright (C) 2017 Julien Desfossez <jdesfossez@efficios.com>
+# Copyright (C) 2017 Julien Desfossez <jdesfossez@efficios.com>
 #
-# 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"
 
@@ -29,20 +18,19 @@ source $CURDIR/rotate_utils.sh
 # Overwrite the lttng_bin to get mi output
 LTTNG_BIN="lttng --mi xml"
 
-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"
-
 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_mi ()
 {
-       tmp_xml_output=$(mktemp -u)
-       tmp_save_output=$(mktemp -d)
-       trace_path=$(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
@@ -52,61 +40,61 @@ function test_save_load_mi ()
 
        OUTPUT_DEST=${tmp_xml_output}
        lttng_enable_rotation_timer_ok $SESSION_NAME 500ms
-       $XML_VALIDATE ${tmp_xml_output}
+       $MI_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_size_ok $SESSION_NAME 500k
-       $XML_VALIDATE ${tmp_xml_output}
+       $MI_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
        list_lttng_with_opts $SESSION_NAME
-       $XML_VALIDATE ${tmp_xml_output}
+       $MI_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
        OUTPUT_DEST=/dev/null
-       lttng_save $SESSION_NAME "-o $tmp_save_output$SESSION_NAME"
+       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"
+       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
        list_lttng_with_opts $SESSION_NAME
-       $XML_VALIDATE ${tmp_xml_output}
+       $MI_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"
 
        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
This page took 0.0267 seconds and 4 git commands to generate.