X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=tests%2Fregression%2Ftools%2Fmi%2Ftest_mi;h=72b96aac16563e847f8ae35f9cfe3da82d333901;hb=fa182fe058682b855a353931e5ef1994325c3da3;hp=e8c032ce52a75eff5bc9912299e46e62bbedff05;hpb=54897b571f12970647556f1ad73fc8e30db2258d;p=lttng-tools.git diff --git a/tests/regression/tools/mi/test_mi b/tests/regression/tools/mi/test_mi index e8c032ce5..72b96aac1 100755 --- a/tests/regression/tools/mi/test_mi +++ b/tests/regression/tools/mi/test_mi @@ -1,27 +1,13 @@ #!/bin/bash # -# Copyright (C) - 2014 Jonathan Rajotte +# Copyright (C) 2014 Jonathan Rajotte # -# 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="Machine interface testing" CURDIR=$(dirname $0)/ TESTDIR=$CURDIR/../../../ -XSD_PATH=$TESTDIR/../src/common/mi-lttng-3.0.xsd -SESSIOND_BIN="lttng-sessiond" -RELAYD_BIN="lttng-relayd" #Test app for ust event TESTAPP_PATH="$TESTDIR/utils/testapp" @@ -31,15 +17,10 @@ NR_USEC_WAIT=0 NR_ITER=10000 #Temp file output -OUTPUT_DIR=$(mktemp -d) -FOO_LOAD_DIR=$(mktemp -d) +OUTPUT_DIR=$(mktemp --tmpdir -d tmp.test_mi_output_dir.XXXXXX) +SESSIOND_LOAD_DIR=$(mktemp --tmpdir -d tmp.test_mi_sessiond_load_dir.XXXXXX) OUTPUT_FILE="default.xml" -#Path to custom xml utilities -XML_VALIDATE="$CURDIR/validate_xml $XSD_PATH" -XML_EXTRACT="$CURDIR/extract_xml" -XML_NODE_CHECK="$CURDIR/extract_xml -e" - XPATH_CMD_OUTPUT="//lttng:command/lttng:output" XPATH_COMMAND_SUCCESS="/lttng:command/lttng:success/text()" XPATH_SESSION="$XPATH_CMD_OUTPUT/lttng:sessions/lttng:session" @@ -52,14 +33,14 @@ XPATH_LIST_UST_EVENT="$XPATH_CMD_OUTPUT/lttng:domains/lttng:domain[./lttng:type XPATH_SNAPSHOT_ADD_SNAPSHOT="$XPATH_CMD_OUTPUT/lttng:snapshot_action[./lttng:name = 'add-output']/lttng:output" XPATH_SNAPSHOT_LIST="$XPATH_CMD_OUTPUT/lttng:snapshot_action[./lttng:name = 'list-output']/lttng:output" XPATH_SNAPSHOT_DEL="$XPATH_CMD_OUTPUT/lttng:snapshot_action[./lttng:name = 'del-output']/lttng:output" -XPATH_TRACK_UNTRACK_PID="$XPATH_CMD_OUTPUT/lttng:targets/lttng:pid_target" -XPATH_PID_TRACKER="$XPATH_CMD_OUTPUT/lttng:sessions/lttng:session/lttng:domains/lttng:domain/lttng:trackers/lttng:pid_tracker" +XPATH_TRACK_UNTRACK_VPID="$XPATH_CMD_OUTPUT/lttng:process_attr_trackers/lttng:vpid_process_attr_tracker/lttng:process_attr_values/lttng:vpid/lttng:type" +XPATH_VPID_TRACKER="$XPATH_CMD_OUTPUT/lttng:sessions/lttng:session/lttng:domains/lttng:domain/lttng:process_attr_trackers/lttng:vpid_process_attr_tracker" DEVNULL=/dev/null 2>&1 DIR=$(readlink -f $TESTDIR) -NUM_TESTS=224 +NUM_TESTS=246 source $TESTDIR/utils/utils.sh @@ -132,10 +113,10 @@ function is_command_success () function mi_print_version () { - local opt=$2 local output_path=$1 + local opt=$2 - $LTTNG version $opt > $1 + $LTTNG version $opt > $output_path ok $? "MI test: Lttng version" } @@ -145,7 +126,7 @@ function test_version () OUTPUT_FILE="version.xml" OUTPUT_DEST=$OUTPUT_DIR/$OUTPUT_FILE mi_print_version $OUTPUT_DEST - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "MI test: Version xsd validation" } @@ -156,12 +137,12 @@ function test_create_session () OUTPUT_FILE="create_session.xml" OUTPUT_DEST=$OUTPUT_DIR/$OUTPUT_FILE create_lttng_session_ok $session_name $OUTPUT_DIR - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "MI test: create session xsd validation" #try to recreate a session. Expecting it to fail create_lttng_session_fail $session_name $OUTPUT_DIR - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "MI test: expecting fail create session xsd validation" is_command_success $OUTPUT_DEST true @@ -186,7 +167,7 @@ function test_destroy_session () OUTPUT_DEST=$OUTPUT_DIR/$OUTPUT_FILE destroy_lttng_session_ok ${session_name[0]} - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "MI test: destroy session ${session_name[0]} xsd validation" #Verify that we destroyed the good session @@ -196,7 +177,7 @@ function test_destroy_session () #Destroy all and count:should be 2 destroy_lttng_sessions - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "MI test: destroy all session xsd validation" #Verify that we destroyed 2 sessions @@ -207,7 +188,7 @@ function test_destroy_session () #Verify that if no session is present command fail and mi report it. destroy_lttng_session_fail ${session_name[0]} - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "MI test: failing destroy session ${session_name[0]} xsd validation" extract_xml $OUTPUT_DEST $XPATH_COMMAND_SUCCESS result test "$result" = "false" @@ -232,7 +213,7 @@ function test_list_sessions () OUTPUT_DEST=$OUTPUT_DIR/$OUTPUT_FILE list_lttng_with_opts - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "Mi test: list sessions xsd validation" #We should have 3 session @@ -246,6 +227,28 @@ function test_list_sessions () destroy_lttng_sessions } +function test_list_session_long_path () +{ + local session_name="session_long_path" + + output_basedir=$OUTPUT_DIR/$(randstring 254 0) + mkdir -p ${output_basedir} + + OUTPUT_FILE="list_sessions.xml" + + #Test build up + OUTPUT_DEST=$DEVNULL + create_lttng_session_ok $session_name ${output_basedir} + + OUTPUT_DEST=${output_basedir}/$OUTPUT_FILE + list_lttng_with_opts + $MI_VALIDATE $OUTPUT_DEST + ok $? "Mi test: list session with long path xsd validation" + + #Teardown + OUTPUT_DEST=$DEVNULL + destroy_lttng_sessions +} function test_ust_channel () { local session_name="testsession" @@ -262,13 +265,13 @@ function test_ust_channel () #Test the enable_channel command OUTPUT_DEST=$OUTPUT_DIR/$OUTPUT_FILE enable_ust_lttng_channel_ok $session_name ${channel_name[0]} - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "Mi test: enable ust channel xsd validation" is_command_success $OUTPUT_DEST false #Expect the command to fail enable_ust_lttng_channel_fail $session_name ${channel_name[0]} - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "Mi test: fail enable ust channel xsd validation" is_command_success $OUTPUT_DEST true @@ -279,7 +282,7 @@ function test_ust_channel () #Test the disable_channel command disable_ust_lttng_channel $session_name ${channel_name[0]} - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "Mi test: disable ust channel xsd validation" is_command_success $OUTPUT_DEST false #Check that we delete the good channel @@ -289,7 +292,7 @@ function test_ust_channel () #Test multiple disable_channel; disable_ust_lttng_channel $session_name ${channel_name[1]},${channel_name[2]} - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "Mi test: multiple disable ust channel xsd validation" is_command_success $OUTPUT_DEST false @@ -321,13 +324,13 @@ function test_ust_lttng_event () OUTPUT_DEST=$OUTPUT_DIR/$OUTPUT_FILE #Test the enable event for ust domain enable_ust_lttng_event_ok $session_name ${event[0]} $channel_name - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "Mi test: Enable_event for ust domain xsd validation" is_command_success $OUTPUT_DEST false #Try to reenable an enabled event. Should fail enable_ust_lttng_event_fail $session_name ${event[0]} $channel_name - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "Mi test: Fail enable_event for ust domain xsd validation" is_command_success $OUTPUT_DEST true @@ -340,7 +343,7 @@ function test_ust_lttng_event () concat_event=$( IFS=$','; echo "${event[*]}" ) enable_ust_lttng_event_fail $session_name $concat_event $channel_name - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "Mi test: Multiple enable ust event with inside fail xsd validation" #Check for 2 success = true and 1 success = false @@ -356,13 +359,13 @@ function test_ust_lttng_event () #Disable the event disable_ust_lttng_event $session_name ${event[0]} $channel_name - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "Mi test: Disable ust event xsd validation" is_command_success $OUTPUT_DEST false #Disable the 3 event combined. Should pass disable_ust_lttng_event $session_name $concat_event $channel_name - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "Mi test: Disable multiple ust event xsd validation" is_command_success $OUTPUT_DEST false @@ -397,7 +400,7 @@ function test_list_channel () #Begin testing OUTPUT_DEST=$OUTPUT_DIR/$OUTPUT_FILE list_lttng_with_opts "$session_name -c $channel_name" - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "Mi test: list channel xsd validation" #Expect 1 domain: UST @@ -445,7 +448,7 @@ function test_list_domain () #Begin testing OUTPUT_DEST=$OUTPUT_DIR/$OUTPUT_FILE list_lttng_with_opts "$session_name -d" - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "Mi test: list domain xsd validation" #Expect 2 domain: Jul and UST @@ -493,7 +496,7 @@ function test_list_session () #Begin testing OUTPUT_DEST=$OUTPUT_DIR/$OUTPUT_FILE list_lttng_with_opts $session_name - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "Mi test: list session xsd validation" #Expect 2 domain: Jul and UST @@ -515,8 +518,8 @@ function test_list_session () function test_list_ust_event () { - local file_sync_after_first=$(mktemp -u) - local file_sync_before_last=$(mktemp -u) + local file_sync_after_first=$(mktemp --tmpdir -u "tmp.${FUNCNAME[0]}_sync_after_first.XXXXXX") + local file_sync_before_last=$(mktemp --tmpdir -u "tmp.${FUNCNAME[0]}_sync_before_last.XXXXXX") OUTPUT_FILE="list_ust_event.xml" @@ -524,7 +527,9 @@ function test_list_ust_event () OUTPUT_DEST=$OUTPUT_DIR/$OUTPUT_FILE #Begin testing - $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT ${file_sync_after_first} ${file_sync_before_last} & 2>/dev/null + $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT \ + --sync-after-first-event ${file_sync_after_first} \ + --sync-before-last-event ${file_sync_before_last} & 2>/dev/null while [ ! -f "${file_sync_after_first}" ]; do sleep 0.5 @@ -534,7 +539,7 @@ function test_list_ust_event () touch ${file_sync_before_last} - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "Mi test: list ust event xsd validation" #Extract events @@ -575,7 +580,7 @@ function test_start_stop () { #No channel enable start command should return element success false OUTPUT_DEST=$OUTPUT_DIR/$OUTPUT_FILE start_lttng_tracing_fail $session_name - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "Mi test: failed start xsd validation" #Expect a false element @@ -590,7 +595,7 @@ function test_start_stop () { #Start tracing OUTPUT_DEST=$OUTPUT_DIR/$OUTPUT_FILE start_lttng_tracing_ok $session_name - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "Mi test: start xsd validation" #Expect a true element @@ -609,19 +614,19 @@ function test_start_stop () { ok $? "Mi test: enabled element : $result expected: true" #Test metadata regenerate command - metadata_regenerate_ok $session_name - $XML_VALIDATE $OUTPUT_DEST - ok $? "Mi test: metadata regenerate" + regenerate_metadata_ok $session_name + $MI_VALIDATE $OUTPUT_DEST + ok $? "Mi test: regenerate metadata" #Test stop command stop_lttng_tracing_ok $session_name - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "Mi test: stop xsd validation" #Extract session name from xml extract_xml $OUTPUT_DEST $XPATH_SESSION"/lttng:name/text()" result test "$result" = "$session_name" - ok $? "Mi test: stoped $session_name" + ok $? "Mi test: stopped $session_name" #Extract enabled expect false extract_xml $OUTPUT_DEST $XPATH_SESSION"/lttng:enabled/text()" result @@ -630,7 +635,7 @@ function test_start_stop () { #Test failing stop command stop_lttng_tracing_fail $session_name - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "Mi test: failed stop xsd validation" #Expect a false element @@ -656,8 +661,8 @@ function test_snapshot () { #Test fail command #No channel enable start command should return element success false OUTPUT_DEST=$OUTPUT_DIR/$OUTPUT_FILE - lttng_snapshot_add_output_ok $session_name $snapshot_path - $XML_VALIDATE $OUTPUT_DEST + lttng_snapshot_add_output_ok $session_name file://$snapshot_path + $MI_VALIDATE $OUTPUT_DEST ok $? "Mi test: snapshot xsd validation" #Expect a true element @@ -676,7 +681,7 @@ function test_snapshot () { #Test list output lttng_snapshot_list $session_name - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "Mi test: snapshot list xsd validation" #Expect a true element @@ -690,7 +695,7 @@ function test_snapshot () { #Test del output lttng_snapshot_del_output_ok $session_name $snapshot_id - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "Mi test: snapshot delete xsd validation" #Success ? @@ -709,7 +714,7 @@ function test_snapshot () { #Test fail on delete command lttng_snapshot_del_output_fail $session_name $snapshot_id - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "Mi test: snapshot delete xsd validation" #Success ? @@ -726,7 +731,6 @@ function test_track_untrack () diag "Test track/untrack pid" local session_name="testTrack" - local snapshot_path="$OUTPUT_DIR/trackoutput" local pid="1,2,3" OUTPUT_FILE="track.xml" @@ -736,7 +740,7 @@ function test_track_untrack () OUTPUT_DEST=$OUTPUT_DIR/$OUTPUT_FILE lttng_track_ok "-p $pid -u" - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "Mi test: track pid xsd validation" #Expect a true element @@ -745,25 +749,25 @@ function test_track_untrack () ok $? "Mi test: track pid is a success" #Verify that there is 3 process - extract_xml $OUTPUT_DEST $XPATH_TRACK_UNTRACK_PID"/lttng:pid" result + extract_xml $OUTPUT_DEST $XPATH_TRACK_UNTRACK_VPID"/lttng:id" result num=$(echo "$result" | wc -l) test "$num" -eq "3" ok $? "Mi test: track pid expecting 3 processes got $num" #Test the pid_tracker listing list_lttng_with_opts $session_name - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "Mi test: session list with pid_tracker validate" #Check the good count - extract_xml $OUTPUT_DEST $XPATH_PID_TRACKER"/lttng:targets/lttng:pid_target/lttng:pid" result + extract_xml $OUTPUT_DEST $XPATH_VPID_TRACKER"/lttng:process_attr_values/lttng:vpid/lttng:type/lttng:id" result num=$(echo "$result" | wc -l) test "$num" -eq "3" ok $? "Mi test: tracker pid listing expecting 3 target got $num" #Untrack pid 2,3 lttng_untrack_ok "-p 2,3 -u" - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "Mi test: untrack pid xsd validation" #Expect a true element @@ -772,25 +776,25 @@ function test_track_untrack () ok $? "Mi test: untrack pid is a success" #Verify that there is 2 untracked pids - extract_xml $OUTPUT_DEST $XPATH_TRACK_UNTRACK_PID"/lttng:pid" result + extract_xml $OUTPUT_DEST $XPATH_TRACK_UNTRACK_VPID"/lttng:id" result num=$(echo "$result" | wc -l) test "$num" -eq "2" ok $? "Mi test: untrack pid expecting 2 process got $num" #Check pid_tracker listing list_lttng_with_opts $session_name - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "Mi test: session list with pid_tracker validate" #Check the good count - extract_xml $OUTPUT_DEST $XPATH_PID_TRACKER"/lttng:targets/lttng:pid_target/lttng:pid" result + extract_xml $OUTPUT_DEST $XPATH_VPID_TRACKER"/lttng:targets/lttng:vpid_target/lttng:type/lttng:pid" result num=$(echo "$result" | wc -l) test "$num" -eq "1" ok $? "Mi test: tracker pid listing expecting 1 process got $num" #Untrack all lttng_untrack_ok "-p -u -a" - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "Mi test: untrack pid xsd validation" #Expect a true element @@ -799,31 +803,31 @@ function test_track_untrack () ok $? "Mi test: untrack all pid is a success" #Verify that there is 1 untracked pid - extract_xml $OUTPUT_DEST $XPATH_TRACK_UNTRACK_PID"/lttng:pid" result + extract_xml $OUTPUT_DEST $XPATH_TRACK_UNTRACK_VPID"/lttng:all" result num=$(echo "$result" | wc -l) test "$num" -eq "1" ok $? "Mi test: untrack pid expecting 1 process got $num" - #Test if the id is * which represent the all argument - test "$result" = "*" - ok $? "Mi test: pid expected is * got $result" + #Test if type "all" is "true" which represent the all argument + test "$result" = "true" + ok $? "Mi test: pid expected is true got $result" #Test if pid_tracker is enabled as definied by pid_tracker #behavior. If all pid are untrack than the pid_tracker is still #enabled (pid_tracker node is present). list_lttng_with_opts $session_name - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "Mi test: session list with pid_tracker validate" #Check the good count - extract_xml $OUTPUT_DEST $XPATH_PID_TRACKER"/lttng:targets/lttng:pid_target/lttng:pid" result + extract_xml $OUTPUT_DEST $XPATH_VPID_TRACKER"/lttng:targets/lttng:vpid_target/lttng:type/lttng:pid" result num=$(echo -n "$result" | wc -l) test "$num" -eq "0" ok $? "Mi test: tracker pid listing expecting 0 process got $num" #Test track all lttng_track_ok "-p -u -a" - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "Mi test: track pid xsd validation" #Expect a true element @@ -832,31 +836,93 @@ function test_track_untrack () ok $? "Mi test: track all pid is a success" #Verify that there is 1 tracked process - extract_xml $OUTPUT_DEST $XPATH_TRACK_UNTRACK_PID"/lttng:pid" result + extract_xml $OUTPUT_DEST $XPATH_TRACK_UNTRACK_VPID"/lttng:all" result num=$(echo "$result" | wc -l) test "$num" -eq "1" ok $? "Mi test: track pid expecting 1 process got $num" - #Test if the id is * wich represent the all argument - test "$result" = "*" - ok $? "Mi test: pid expected is * got $result" + #Test if the id is true wich represent the all argument + test "$result" = "true" + ok $? "Mi test: pid expected is true got $result" #Test if pid_tracker is enabled as definied by pid_tracker #behavior. If all pid are untrack thant the pid_tracker is #disabled (node pid_tracker do not exist) list_lttng_with_opts $session_name - $XML_VALIDATE $OUTPUT_DEST + $MI_VALIDATE $OUTPUT_DEST ok $? "Mi test: session list with pid_tracker validate" - node_check_xml $OUTPUT_DEST $XPATH_PID_TRACKER result + node_check_xml $OUTPUT_DEST $XPATH_VPID_TRACKER result test "$result" = "" - ok $? "Mi test: Pid_tracker node is absent as defined" + ok $? "Mi test: VPID_tracker node is absent as defined" OUTPUT_DEST=$DEVNULL destroy_lttng_sessions } -start_lttng_sessiond $FOO_LOAD_DIR +function test_add_context_list() +{ + diag "Test context listing" + + OUTPUT_FILE="list-context.xml" + OUTPUT_DEST=$OUTPUT_DIR/$OUTPUT_FILE + lttng_add_context_list + + $MI_VALIDATE $OUTPUT_DEST + ok $? "Mi test: context listing validation" +} + +function test_clear_session () +{ + # Since the session are not started there is no real clear done. + # We are testing the MI output only here. + local session_name=( + "testSession1" + "testSession2" + "testSession3") + + OUTPUT_FILE="clear_session.xml" + + #Test build up + OUTPUT_DEST=$DEVNULL + for (( i = 0; i < 3; i++ )); do + create_lttng_session_ok ${session_name[$i]} $OUTPUT_DIR + done + + OUTPUT_DEST=$OUTPUT_DIR/$OUTPUT_FILE + lttng_clear_session_ok ${session_name[0]} + $MI_VALIDATE $OUTPUT_DEST + ok $? "MI test: clear session ${session_name[0]} xsd validation" + + #Verify that we cleared the good session + extract_xml $OUTPUT_DEST $XPATH_SESSION"/lttng:name/text()" result + test "$result" = "${session_name[0]}" + ok $? "Mi test: cleared session: $result expected: ${session_name[0]}" + + #Destroy all and count:should be 3 + lttng_clear_all + $MI_VALIDATE $OUTPUT_DEST + ok $? "MI test: clear all session xsd validation" + + #Verify that we cleared 3 sessions + extract_xml $OUTPUT_DEST $XPATH_SESSION"/lttng:name/text()" result + num=$(echo "$result" | wc -l) + test "$num" -eq "3" + ok $? "Mi test: $num / 3 sessions discovered" + + destroy_lttng_sessions + + #Verify that if no session is present command fail and mi report it. + lttng_clear_session_fail ${session_name[0]} + $MI_VALIDATE $OUTPUT_DEST + ok $? "MI test: failing clear session ${session_name[0]} xsd validation" + extract_xml $OUTPUT_DEST $XPATH_COMMAND_SUCCESS result + test "$result" = "false" + ok $? "Mi test: clear command on ${session_name[0]} failed as expected" + +} + +start_lttng_sessiond $SESSIOND_LOAD_DIR TESTS=( test_version test_create_session @@ -871,6 +937,9 @@ TESTS=( test_start_stop test_snapshot test_track_untrack + test_list_session_long_path + test_add_context_list + test_clear_session ) @@ -883,6 +952,7 @@ do fi done rm -rf $OUTPUT_DIR +rm -rf $SESSIOND_LOAD_DIR OUTPUT_DEST=/dev/null 2>&1 stop_lttng_sessiond