X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;ds=sidebyside;f=tests%2Fregression%2Ftools%2Ftrigger%2Ftest_add_trigger_cli;h=278c5c781a4ecc95be3640e95c148003fdbe3c4a;hb=fa182fe058682b855a353931e5ef1994325c3da3;hp=a55406c1a80760c735c3b6208fbdca7214467b55;hpb=695f70446965aeac8b1118bb08d572630c96114d;p=lttng-tools.git diff --git a/tests/regression/tools/trigger/test_add_trigger_cli b/tests/regression/tools/trigger/test_add_trigger_cli index a55406c1a..278c5c781 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 < "${tmp_stdout_raw}" > "${tmp_stdout}" + + $MI_VALIDATE "${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}"