X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=tests%2Fregression%2Ftools%2Fmi%2Ftest_mi;h=e04db27afdb5ea092c7379e73c5aab63174070a0;hp=e8c032ce52a75eff5bc9912299e46e62bbedff05;hb=a87067e8d07db5ca4a851ddcde4524932dfd838a;hpb=54897b571f12970647556f1ad73fc8e30db2258d diff --git a/tests/regression/tools/mi/test_mi b/tests/regression/tools/mi/test_mi index e8c032ce5..e04db27af 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 @@ -59,7 +57,7 @@ DEVNULL=/dev/null 2>&1 DIR=$(readlink -f $TESTDIR) -NUM_TESTS=224 +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" } @@ -246,6 +244,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 + $XML_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" @@ -524,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 @@ -609,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 @@ -621,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 @@ -726,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" @@ -856,7 +877,69 @@ function test_track_untrack () 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 + + $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 $SESSIOND_LOAD_DIR TESTS=( test_version test_create_session @@ -871,6 +954,9 @@ TESTS=( test_start_stop test_snapshot test_track_untrack + test_list_session_long_path + test_add_context_list + test_clear_session ) @@ -883,6 +969,7 @@ do fi done rm -rf $OUTPUT_DIR +rm -rf $FOO_LOAD_DIR OUTPUT_DEST=/dev/null 2>&1 stop_lttng_sessiond