X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=tests%2Fregression%2Ftools%2Ftrigger%2Ftest_remove_trigger_cli;fp=tests%2Fregression%2Ftools%2Ftrigger%2Ftest_remove_trigger_cli;h=f306f114f54d294769d3cf3c7fbc45e8cfa3fbb5;hp=9e342d9b571c750e69482d5ed22b407a5031aa36;hb=dceffc9efc9bff19cef221d6620e42f30ee361d5;hpb=252bb1282a12df7ee188d4dc4976e239c755e837 diff --git a/tests/regression/tools/trigger/test_remove_trigger_cli b/tests/regression/tools/trigger/test_remove_trigger_cli index 9e342d9b5..f306f114f 100755 --- a/tests/regression/tools/trigger/test_remove_trigger_cli +++ b/tests/regression/tools/trigger/test_remove_trigger_cli @@ -23,7 +23,7 @@ TESTDIR="$CURDIR/../../.." # shellcheck source=../../../utils/utils.sh source "$TESTDIR/utils/utils.sh" -plan_tests 17 +plan_tests 22 FULL_LTTNG_BIN="${TESTDIR}/../src/bin/lttng/${LTTNG_BIN}" @@ -64,6 +64,80 @@ function remove_trigger () ok $? "${test_name}: expected stderr" } +function test_mi () +{ + local tmp_stdout_raw + local tmp_expected_stdout + + # Concretely the code used to serialize a trigger object is the same as + # the one used by the list command. Here we simply validate that a + # simple trigger is correctly generated on removal for MI. + + tmp_stdout_raw=$(mktemp --tmpdir -t "tmp.${FUNCNAME[0]}_stdout.XXXXXX") + tmp_expected_stdout=$(mktemp --tmpdir -t "tmp.${FUNCNAME[0]}_expected_stdout.XXXXXX") + + diag "${FULL_LTTNG_BIN} --mi=xml remove-trigger" + + cat > "${tmp_expected_stdout}" <<- EOF + + + remove-trigger + + + mi + ${UID} + + + + + mi_aa + p == 2 + + + + + + + + + + + + 1 + + + + + + + + + true + + EOF + + # Add a trigger + lttng_add_trigger_ok "mi" --condition event-rule-matches --name=mi_aa --type=user --filter 'p == 2' --action notify + + # Remove it + "${FULL_LTTNG_BIN}" --mi xml remove-trigger mi > "${tmp_stdout_raw}" 2> "${tmp_stderr}" + ok $? "remove-trigger mi: exit code is 0" + + # Pretty-fy xml before further test. + $XML_PRETTY_BIN < "${tmp_stdout_raw}" > "${tmp_stdout}" + + $XML_VALIDATE_BIN "${MI_XSD_PATH}" "${tmp_stdout}" + ok $? "remove-trigger mi is valid" + + diff -u "${tmp_expected_stdout}" "${tmp_stdout}" + ok $? "mi: expected stdout" + + diff -u "${tmp_stderr}" /dev/null + ok $? "mi: expected stderr" + + rm -f "${tmp_stdout_raw}" +} + # shellcheck disable=SC2119 start_lttng_sessiond_notap @@ -112,6 +186,8 @@ remove_trigger "DEF" list_triggers "no triggers left" "/dev/null" +test_mi + # Cleanup stop_lttng_sessiond_notap rm -f "${tmp_stdout}"