Backport: trackers: tests: adapt tests to new xsd schemas
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 4 Jul 2018 20:12:54 +0000 (16:12 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Fri, 6 Jul 2018 22:50:37 +0000 (18:50 -0400)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
tests/regression/tools/mi/extract_xml.c
tests/regression/tools/mi/test_mi
tests/regression/tools/save-load/load-42-trackers.lttng
tests/regression/tools/save-load/test_load
tests/unit/Makefile.am

index ddf8c16773331b9786b2018c4cbf2d7fb5a651e5..9c324896e3d18cbe7e9797eb9904180e18d86cca 100644 (file)
@@ -35,6 +35,7 @@
  */
 #include <stdlib.h>
 #include <stdio.h>
+#include <stdbool.h>
 #include <string.h>
 #include <assert.h>
 #include <unistd.h>
@@ -48,8 +49,9 @@
 #if defined(LIBXML_XPATH_ENABLED)
 
 
-int opt_verbose;
-int node_exist;
+static int opt_verbose;
+static int node_exist;
+static bool result = false;
 
 /**
  * print_xpath_nodes:
@@ -86,7 +88,7 @@ static int print_xpath_nodes(xmlDocPtr doc, xmlNodeSetPtr nodes, FILE *output)
                                        node_child_value_string = xmlNodeListGetString(doc,
                                                        cur->children, 1);
                                        if (node_exist) {
-                                               fprintf(output, "true\n");
+                                               result = true;
                                        } else if (opt_verbose) {
                                                fprintf(output, "%s;%s;\n", cur->name,
                                                                node_child_value_string);
@@ -98,7 +100,7 @@ static int print_xpath_nodes(xmlDocPtr doc, xmlNodeSetPtr nodes, FILE *output)
                                } else {
                                        /* We don't want to print non-final element */
                                        if (node_exist) {
-                                               fprintf(output, "true\n");
+                                               result = true;
                                        } else {
                                                fprintf(stderr, "ERR:%s\n",
                                                                "Xpath expression return non-final xml element");
@@ -108,7 +110,7 @@ static int print_xpath_nodes(xmlDocPtr doc, xmlNodeSetPtr nodes, FILE *output)
                                }
                        } else {
                                if (node_exist) {
-                                       fprintf(output, "true\n");
+                                       result = true;
                                } else {
                                        /* We don't want to print non-final element */
                                        fprintf(stderr, "ERR:%s\n",
@@ -121,7 +123,7 @@ static int print_xpath_nodes(xmlDocPtr doc, xmlNodeSetPtr nodes, FILE *output)
                } else {
                        cur = nodes->nodeTab[i];
                        if (node_exist) {
-                               fprintf(output, "true\n");
+                               result = true;
                        } else if (opt_verbose) {
                                fprintf(output, "%s;%s;\n", cur->parent->name, cur->content);
                        } else {
@@ -221,6 +223,9 @@ static int extract_xpath(const char *xml_path, const xmlChar *xpath)
                xmlFreeDoc(doc);
                return -1;
        }
+       if (node_exist && result) {
+               fprintf(stdout, "true\n");
+       }
 
        /* Cleanup */
        xmlXPathFreeObject(xpathObj);
index b02d4a6665781a6e35ce26255126d6287c53209f..ef43987d1a7e3effc7a1c398cbdbab06f1fe7b16 100755 (executable)
@@ -52,8 +52,8 @@ 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
 
@@ -767,7 +767,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 +778,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 +794,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 +805,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 +821,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 +838,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 +854,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,9 +870,9 @@ 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
index 34082dfa0d1af0402ca9e9a8c4aa4e691a103b68..2848f3209f72dae0b552e82f73a84866328f6cd8 100644 (file)
                                        </channel>
                                </channels>
                                <trackers>
+                                       <vpid_tracker>
+                                               <targets>
+                                                       <vpid_target>
+                                                               <id>666</id>
+                                                       </vpid_target>
+                                               </targets>
+                                       </vpid_tracker>
+                                       <vuid_tracker>
+                                               <targets>
+                                                       <vuid_target>
+                                                               <id>777</id>
+                                                       </vuid_target>
+                                               </targets>
+                                       </vuid_tracker>
+                                       <vgid_tracker>
+                                               <targets>
+                                                       <vgid_target>
+                                                               <id>888</id>
+                                                       </vgid_target>
+                                               </targets>
+                                       </vgid_tracker>
                                        <pid_tracker>
                                                <targets>
                                                        <pid_target>
-                                                               <pid>666</pid>
+                                                               <pid>999</pid>
                                                        </pid_target>
                                                </targets>
                                        </pid_tracker>
index 2e51b2e0d2261133f5c34462baff945b44bae899..8b4bc2ac859443e7366251cb23e62bc7940a59c5 100755 (executable)
@@ -30,7 +30,7 @@ EVENT_NAME="tp:tptest"
 
 DIR=$(readlink -f $TESTDIR)
 
-NUM_TESTS=67
+NUM_TESTS=72
 
 source $TESTDIR/utils/utils.sh
 
@@ -142,15 +142,33 @@ function test_trackers()
                break;
        fi
        $TESTDIR/../src/bin/lttng/$LTTNG_BIN --mi XML list "$SESSION_NAME-trackers" > $mi_output_file
-       mi_result=$($CURDIR/../mi/extract_xml -e $mi_output_file "//lttng:command/lttng:output/lttng:sessions/lttng:session/lttng:domains/lttng:domain/lttng:trackers/lttng:pid_tracker/lttng:targets/lttng:pid_target")
+       mi_result=$($CURDIR/../mi/extract_xml -e $mi_output_file "//lttng:command/lttng:output/lttng:sessions/lttng:session/lttng:domains/lttng:domain/lttng:trackers/lttng:vpid_tracker/lttng:targets/lttng:vpid_target")
        if [[ $mi_result = "true" ]]; then
-           ok 0 "Pid target is present"
+           ok 0 "VPID target is present"
        else
-           fail "Pid target missing"
+           fail "VPID target missing"
+       fi
+
+       mi_result=$($CURDIR/../mi/extract_xml -e $mi_output_file "//lttng:command/lttng:output/lttng:sessions/lttng:session/lttng:domains/lttng:domain/lttng:trackers/lttng:vuid_tracker/lttng:targets/lttng:vuid_target")
+       if [[ $mi_result = "true" ]]; then
+           ok 0 "VUID target is present"
+       else
+           fail "VUID target missing"
+       fi
+
+       mi_result=$($CURDIR/../mi/extract_xml -e $mi_output_file "//lttng:command/lttng:output/lttng:sessions/lttng:session/lttng:domains/lttng:domain/lttng:trackers/lttng:vgid_tracker/lttng:targets/lttng:vgid_target")
+       if [[ $mi_result = "true" ]]; then
+           ok 0 "VGID target is present"
+       else
+           fail "VGID target missing"
        fi
 
        # Test to remove the target just to make sure
-       lttng_untrack_ok "-p 666 -u -s $SESSION_NAME-trackers"
+       lttng_untrack_ok "--vpid 666 -u -s $SESSION_NAME-trackers"
+       lttng_untrack_ok "--vuid 777 -u -s $SESSION_NAME-trackers"
+       lttng_untrack_ok "--vgid 888 -u -s $SESSION_NAME-trackers"
+       # Actually using vpid (backward compat)
+       lttng_untrack_ok "--pid 999 -u -s $SESSION_NAME-trackers"
 
        destroy_lttng_session_ok "$SESSION_NAME-trackers"
        rm -rf ${mi_output_file}
index ff111e91af4b31394c00cb63ee2267ac4db5cc16..bed6d73bd67f4064202f03e65319502664d2dfe5 100644 (file)
@@ -76,6 +76,7 @@ UST_DATA_TRACE=$(top_builddir)/src/bin/lttng-sessiond/trace-ust.$(OBJEXT) \
                   $(top_builddir)/src/bin/lttng-sessiond/session.$(OBJEXT) \
                   $(top_builddir)/src/bin/lttng-sessiond/snapshot.$(OBJEXT) \
                   $(top_builddir)/src/bin/lttng-sessiond/agent.$(OBJEXT) \
+                  $(top_builddir)/src/bin/lttng-sessiond/tracker.$(OBJEXT) \
                   $(top_builddir)/src/common/libcommon.la \
                   $(top_builddir)/src/common/health/libhealth.la \
                   $(top_builddir)/src/common/sessiond-comm/libsessiond-comm.la
@@ -90,6 +91,7 @@ endif
 KERN_DATA_TRACE=$(top_builddir)/src/bin/lttng-sessiond/trace-kernel.$(OBJEXT) \
                $(top_builddir)/src/bin/lttng-sessiond/consumer.$(OBJEXT) \
                $(top_builddir)/src/bin/lttng-sessiond/utils.$(OBJEXT) \
+               $(top_builddir)/src/bin/lttng-sessiond/tracker.$(OBJEXT) \
                $(top_builddir)/src/common/libcommon.la \
                $(top_builddir)/src/common/health/libhealth.la \
                $(top_builddir)/src/common/sessiond-comm/libsessiond-comm.la
This page took 0.032891 seconds and 5 git commands to generate.