Test: mi for clear command
authorJonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Mon, 11 Feb 2019 16:45:27 +0000 (11:45 -0500)
committerJonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Wed, 10 Apr 2019 20:20:10 +0000 (16:20 -0400)
Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
tests/regression/tools/mi/test_mi
tests/utils/utils.sh

index f6bc9b36f4524a3beb8aa932b29d659808b55161..e92e5acdc95c616723579032252728b86bf90285 100755 (executable)
@@ -57,7 +57,7 @@ DEVNULL=/dev/null 2>&1
 
 DIR=$(readlink -f $TESTDIR)
 
-NUM_TESTS=228
+NUM_TESTS=244
 
 source $TESTDIR/utils/utils.sh
 
@@ -877,7 +877,58 @@ function test_track_untrack ()
        destroy_lttng_sessions
 }
 
-start_lttng_sessiond $FOO_LOAD_DIR
+
+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
@@ -893,6 +944,7 @@ TESTS=(
        test_snapshot
        test_track_untrack
        test_list_session_long_path
+       test_clear_session
 )
 
 
index 8d54a4ecfea476dd88becc3a365966177ca12750..affed61660043afea481324cd2bad93d392af259 100644 (file)
@@ -1616,3 +1616,9 @@ function lttng_clear_session_fail ()
 {
        lttng_clear_session 1 $@
 }
+
+function lttng_clear_all ()
+{
+       $TESTDIR/../src/bin/lttng/$LTTNG_BIN clear --all 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
+       ok $? "Clear all lttng sessions"
+}
This page took 0.028739 seconds and 5 git commands to generate.