X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=tests%2Fregression%2Fust%2Fblocking%2Ftest_blocking;h=ca864353248d29f1fbc603ddb5102d3c4cd40437;hb=HEAD;hp=abd50d45938ee2625746211bc38291b056d6e170;hpb=9d16b343fb9e781fc8d8fa3c448a3f382306dd33;p=lttng-tools.git diff --git a/tests/regression/ust/blocking/test_blocking b/tests/regression/ust/blocking/test_blocking index abd50d459..51e213090 100755 --- a/tests/regression/ust/blocking/test_blocking +++ b/tests/regression/ust/blocking/test_blocking @@ -19,16 +19,30 @@ EVENT_NAME="tp:tptest" NUM_TESTS=49 -source $TESTDIR/utils/utils.sh +# shellcheck source=../utils/utils.sh +source "$TESTDIR/utils/utils.sh" # MUST set TESTDIR before calling those functions -# Run app on CPU 0 to ensure we only write in a single ring buffer. +# Run app on a single CPU to ensure we only write in a single ring buffer. function run_app() { - taskset 0x00000001 $TESTAPP_BIN -i $NUM_EVENT + taskset --cpu-list "$(get_any_available_cpu)" $TESTAPP_BIN -i $NUM_EVENT ok $? "Application done" } +function check_disk_space() +{ + local path + + path="${1:?}" + kb_free=$(df -k -P "${path}" | tail -n 1 | awk '{ print $4 }') + if [ "${kb_free}" -lt "1048576" ] ; then + return 1 + fi + + return 0 +} + function test_ust_implicit_no_blocking() { NUM_EVENT=5000000 @@ -120,19 +134,24 @@ function test_ust_blocking_no_discard() start_lttng_tracing_ok $SESSION_NAME LTTNG_UST_ALLOW_BLOCKING=1 run_app stop_lttng_tracing_ok $SESSION_NAME + discarded=$("${XML_EXTRACT}" <("${TESTDIR}/../src/bin/lttng/${LTTNG_BIN}" --mi=xml list --channel="${CHANNEL_NAME}" "${SESSION_NAME}") '//lttng:command/lttng:output/lttng:sessions/lttng:session/lttng:domains/lttng:domain/lttng:channels/lttng:channel/lttng:attributes/lttng:discarded_events') destroy_lttng_session_ok $SESSION_NAME stop_lttng_sessiond - nr_events=$(babeltrace $TRACE_PATH 2>/dev/null | wc -l) - - test $nr_events -eq $NUM_EVENT - ok $? "No event lost with UST blocking mode: found $nr_events expect $NUM_EVENT" + test "$(echo "${discarded}" | grep -Eo '[0-9]+')" = "0" + ok $? "No event lost with UST blocking mode: ${discarded}" } plan_tests $NUM_TESTS print_test_banner "$TEST_DESC" +bail_out_if_no_babeltrace + +if ! check_disk_space "${TMPDIR:-/tmp}"; then + BAIL_OUT "Not enough free space to run blocking tests" +fi + TESTS=( "test_ust_implicit_no_blocking" "test_ust_implicit_no_blocking_with_channel_blocking" @@ -146,7 +165,7 @@ i=0 while [ "$i" -lt "$TEST_COUNT" ]; do - TRACE_PATH=$(mktemp -d) + TRACE_PATH=$(mktemp -d -t tmp.test_blocking_ust_trace_path.XXXXXX) # Execute test ${TESTS[$i]}