X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=tests%2Fregression%2Ftools%2Fmi%2Ftest_mi;h=8eb0491224b83cf5e400fbae8eed96b23363db86;hp=f3d2c330b6d0e79a90727659b10d77cd6ffa37f8;hb=83d6d6c4496e692df39843142cb8cf96279eaa20;hpb=c764163f74aae77631737f756d7dad745df2dd66 diff --git a/tests/regression/tools/mi/test_mi b/tests/regression/tools/mi/test_mi index f3d2c330b..8eb049122 100755 --- a/tests/regression/tools/mi/test_mi +++ b/tests/regression/tools/mi/test_mi @@ -20,8 +20,6 @@ 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" @@ -32,7 +30,7 @@ NR_ITER=10000 #Temp file output OUTPUT_DIR=$(mktemp -d) -FOO_LOAD_DIR=$(mktemp -d) +SESSIOND_LOAD_DIR=$(mktemp -d) OUTPUT_FILE="default.xml" #Path to custom xml utilities @@ -52,14 +50,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:trackers/lttng:vpid_tracker/lttng:targets/lttng:vpid_target/lttng:type" +XPATH_VPID_TRACKER="$XPATH_CMD_OUTPUT/lttng:sessions/lttng:session/lttng:domains/lttng:domain/lttng:trackers/lttng:vpid_tracker" DEVNULL=/dev/null 2>&1 DIR=$(readlink -f $TESTDIR) -NUM_TESTS=228 +NUM_TESTS=246 source $TESTDIR/utils/utils.sh @@ -132,10 +130,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" } @@ -546,7 +544,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 @@ -631,9 +631,9 @@ function test_start_stop () { ok $? "Mi test: enabled element : $result expected: true" #Test metadata regenerate command - metadata_regenerate_ok $session_name + regenerate_metadata_ok $session_name $XML_VALIDATE $OUTPUT_DEST - ok $? "Mi test: metadata regenerate" + ok $? "Mi test: regenerate metadata" #Test stop command stop_lttng_tracing_ok $session_name @@ -643,7 +643,7 @@ function test_start_stop () { #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 @@ -678,7 +678,7 @@ 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 + lttng_snapshot_add_output_ok $session_name file://$snapshot_path $XML_VALIDATE $OUTPUT_DEST ok $? "Mi test: snapshot xsd validation" @@ -748,7 +748,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" @@ -767,7 +766,7 @@ 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" @@ -778,7 +777,7 @@ function test_track_untrack () 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:id" result num=$(echo "$result" | wc -l) test "$num" -eq "3" ok $? "Mi test: tracker pid listing expecting 3 target got $num" @@ -794,7 +793,7 @@ 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" @@ -805,7 +804,7 @@ function test_track_untrack () 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" @@ -821,14 +820,14 @@ 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 @@ -838,7 +837,7 @@ function test_track_untrack () 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" @@ -854,14 +853,14 @@ 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 @@ -870,15 +869,77 @@ function test_track_untrack () $XML_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 +} + +function test_add_context_list() +{ + diag "Test context listing" + + OUTPUT_FILE="list-context.xml" + OUTPUT_DEST=$OUTPUT_DIR/$OUTPUT_FILE + lttng_add_context_list + $XML_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]} + $XML_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 + $XML_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]} + $XML_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 $FOO_LOAD_DIR +start_lttng_sessiond $SESSIOND_LOAD_DIR TESTS=( test_version test_create_session @@ -894,6 +955,8 @@ TESTS=( test_snapshot test_track_untrack test_list_session_long_path + test_add_context_list + test_clear_session ) @@ -906,6 +969,7 @@ do fi done rm -rf $OUTPUT_DIR +rm -rf $FOO_LOAD_DIR OUTPUT_DEST=/dev/null 2>&1 stop_lttng_sessiond