tests: Use session discarded counter to validate blocking test
authorKienan Stewart <kstewart@efficios.com>
Thu, 31 Aug 2023 20:06:09 +0000 (16:06 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Thu, 21 Dec 2023 21:38:35 +0000 (16:38 -0500)
Motivation
==========

On my development machine, the block test takes about 75s to complete,
with the majority of the time being used in the infinite blocking
test.

Solution
========

Using the discarded counter provided by `lttng list SESSION`, the test
no longer spends time reading and processing the ~1G of traces with
babeltrace2. This reduces the run time of the entire suite from 75s to
about 15s.

Known drawbacks
===============

There's no longer a validation that the trace files written to disk
are parseable by a CTF reader.

Change-Id: I0ccdef53ef80f1ffe5cfff970b92c3de4ba460ec
Signed-off-by: Kienan Stewart <kstewart@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
tests/regression/ust/blocking/test_blocking

index 0bbc02ddc3c61dec86768c5d14fd27b6353ecc6b..51e2130908c78758af7b2d63ef3e6aa46d87a7a5 100755 (executable)
@@ -134,13 +134,12 @@ 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_BIN" $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
This page took 0.025851 seconds and 4 git commands to generate.