X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=tests%2Fregression%2Ftools%2Ftrigger%2Ftest_add_trigger_cli;fp=tests%2Fregression%2Ftools%2Ftrigger%2Ftest_add_trigger_cli;h=cc873bef3aaae48f21b2c249819678fae574b404;hp=a55406c1a80760c735c3b6208fbdca7214467b55;hb=dceffc9efc9bff19cef221d6620e42f30ee361d5;hpb=252bb1282a12df7ee188d4dc4976e239c755e837 diff --git a/tests/regression/tools/trigger/test_add_trigger_cli b/tests/regression/tools/trigger/test_add_trigger_cli index a55406c1a..cc873bef3 100755 --- a/tests/regression/tools/trigger/test_add_trigger_cli +++ b/tests/regression/tools/trigger/test_add_trigger_cli @@ -23,7 +23,7 @@ TESTDIR="$CURDIR/../../.." # shellcheck source=../../../utils/utils.sh source "$TESTDIR/utils/utils.sh" -plan_tests 282 +plan_tests 286 FULL_LTTNG_BIN="${TESTDIR}/../src/bin/lttng/${LTTNG_BIN}" @@ -48,8 +48,8 @@ function test_success () diag "${FULL_LTTNG_BIN} add-trigger $*" set -x "${FULL_LTTNG_BIN}" add-trigger "$@" > "${tmp_stdout}" 2> "${tmp_stderr}" - set +x ok $? "${test_name}: exit code is 0" + set +x diff -u "${tmp_stdout}" <(echo "Trigger registered successfully.") ok $? "${test_name}: expected stdout" @@ -76,6 +76,78 @@ function test_failure () 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. + + 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 add-trigger" + + cat > "${tmp_expected_stdout}" <<- EOF + + + add-trigger + + + mi_hohoho + ${UID} + + + + + some-event-id + + + + + + + + + + + + 1 + + + + + + + + + true + + EOF + + "${FULL_LTTNG_BIN}" --mi xml add-trigger --name mi_hohoho \ + --condition event-rule-matches --name=some-event-id --type=user \ + --action notify > "${tmp_stdout_raw}" 2> "${tmp_stderr}" + + ok $? "add-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 $? "add-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}" +} + # top-level options test_success "explicit name" \ --name hohoho \ @@ -501,6 +573,8 @@ test_failure "snapshot-session action, --name with-net-url-instead-of-path" \ --condition event-rule-matches --type=user \ --action snapshot-session ze-session --name hallo --path net://8.8.8.8/ +test_mi + # Cleanup stop_lttng_sessiond_notap rm -f "${tmp_stdout}"