From: Francis Deslauriers Date: Thu, 9 Jul 2020 20:44:32 +0000 (-0400) Subject: Tests: live/test_{lttng_,}kernel: use lttng_test_filter_event instead of sched_switch X-Git-Tag: v2.12.2~12 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=074a63c45bb9123218df235126a51e9d47aa8863;p=lttng-tools.git Tests: live/test_{lttng_,}kernel: use lttng_test_filter_event instead of sched_switch Background ========== These tests currently rely on system load (the `sched_switch` event) to generate trace data. Issue ===== This is can be problematic for the `test_kernel` test case because it has a fixed sized buffer to store the trace: #define mmap_size 524288 This caused this test failure to randomly happen on my machine: ok 7 - Get one index per stream # mmap_size not big enough not ok 8 - Get one data packet for stream 0, offset 0, len 4096 # Failed test (live_test.c:main() at line 709) [error] Error detaching viewer session not ok 9 - Detach viewer session # Failed test (live_test.c:main() at line 715) Solution ======== Using the `lttng_test_filter_event` event to control the size and number of the event expected in the trace rather then depending on how many Electon apps are currently fighting for my CPUs. Signed-off-by: Francis Deslauriers Signed-off-by: Jérémie Galarneau Change-Id: I15d500d5becf9c5e526ae11ff0b2a2f4f6b753ac --- diff --git a/tests/regression/tools/live/test_kernel b/tests/regression/tools/live/test_kernel index 5e4a8d882..25cb0eda1 100755 --- a/tests/regression/tools/live/test_kernel +++ b/tests/regression/tools/live/test_kernel @@ -14,7 +14,7 @@ NR_USEC_WAIT=1 DELAY_USEC=2000000 SESSION_NAME="live" -EVENT_NAME="sched_switch" +EVENT_NAME="lttng_test_filter_event" TRACE_PATH=$(mktemp -d) @@ -47,11 +47,15 @@ else exit 0 fi +modprobe lttng-test + start_lttng_sessiond_notap start_lttng_relayd_notap "-o $TRACE_PATH" setup_live_tracing +echo -n "1" > /proc/lttng-test-filter-event + # Start the live test $TESTDIR/regression/tools/live/live_test @@ -59,3 +63,5 @@ clean_live_tracing stop_lttng_relayd_notap stop_lttng_sessiond_notap + +modprobe --remove lttng-test diff --git a/tests/regression/tools/live/test_lttng_kernel b/tests/regression/tools/live/test_lttng_kernel index 5a566d269..ea2a1e4e4 100755 --- a/tests/regression/tools/live/test_lttng_kernel +++ b/tests/regression/tools/live/test_lttng_kernel @@ -12,7 +12,7 @@ TESTDIR=$CURDIR/../../../ DELAY_USEC=2000000 SESSION_NAME="live" -EVENT_NAME="sched_switch" +EVENT_NAME="lttng_test_filter_event" TRACE_PATH=$(mktemp -d) @@ -53,13 +53,14 @@ fi skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS || { + modprobe lttng-test + start_lttng_sessiond start_lttng_relayd "-o $TRACE_PATH" setup_live_tracing - # Just hit some events - sleep 2 + echo -n "1" > /proc/lttng-test-filter-event clean_live_tracing @@ -68,4 +69,6 @@ skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS || stop_lttng_relayd stop_lttng_sessiond + + modprobe --remove lttng-test }