X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=tests%2Futils%2Futils.sh;h=44cc31404b42dc460b2e3c3a8638622f457f4a56;hb=ebc5e6b04ee2c746565c7c624e841e94c9934e6c;hp=b2991207a8b9f348c38792ccbdbe6b71a24ef6f1;hpb=7539dcec4401832f0557f85daf6c8564615170f6;p=lttng-tools.git diff --git a/tests/utils/utils.sh b/tests/utils/utils.sh index b2991207a..44cc31404 100644 --- a/tests/utils/utils.sh +++ b/tests/utils/utils.sh @@ -15,6 +15,14 @@ LTTNG_BIN="lttng" BABELTRACE_BIN="babeltrace" OUTPUT_DEST=/dev/null ERROR_OUTPUT_DEST=/dev/null +MI_XSD_MAJOR_VERSION=4 +MI_XSD_MINOR_VERSION=1 +MI_XSD_PATH="$TESTDIR/../src/common/mi-lttng-${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}.xsd" +MI_VALIDATE="$TESTDIR/utils/xml-utils/validate_xml ${MI_XSD_PATH}" + +XML_PRETTY="$TESTDIR/utils/xml-utils/pretty_xml" +XML_EXTRACT="$TESTDIR/utils/xml-utils/extract_xml" +XML_NODE_CHECK="${XML_EXTRACT} -e" # To match 20201127-175802 date_time_pattern="[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9][0-9]" @@ -2270,6 +2278,41 @@ function list_triggers_matches_ok () rm -f "${tmp_stderr}" } +function list_triggers_matches_mi_ok () +{ + local tmp_stdout + local tmp_stdout_raw + local tmp_stderr + + local test_name="$1" + local expected_stdout_file="$2" + + tmp_stdout_raw=$(mktemp --tmpdir -t "tmp.${FUNCNAME[0]}_stdout.XXXXXX") + tmp_stdout=$(mktemp --tmpdir -t "tmp.${FUNCNAME[0]}_stdout.XXXXXX") + tmp_stderr=$(mktemp --tmpdir -t "tmp.${FUNCNAME[0]}_stderr.XXXXXX") + + diag "$TESTDIR/../src/bin/lttng/$LTTNG_BIN --mi xml list-triggers" + + "$TESTDIR/../src/bin/lttng/$LTTNG_BIN" --mi=xml list-triggers > "${tmp_stdout_raw}" 2> "${tmp_stderr}" + ok $? "${test_name}: exit code is 0" + + # Pretty-fy xml before further test. + $XML_PRETTY < "${tmp_stdout_raw}" > "${tmp_stdout}" + + $MI_VALIDATE "${tmp_stdout}" + ok $? "list-trigger mi is valid" + + diff -u "${expected_stdout_file}" "${tmp_stdout}" + ok $? "${test_name}: expected stdout" + + diff -u /dev/null "${tmp_stderr}" + ok $? "${test_name}: expected stderr" + + rm -f "${tmp_stdout}" + rm -f "${tmp_stdout_raw}" + rm -f "${tmp_stderr}" +} + function validate_path_pattern () { local message=$1