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.11.5~7 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=d6431f8e4894c48cbc70ec1af96b6d87508834a2;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 c3a2dfc97..6e3e0b39b 100755 --- a/tests/regression/tools/live/test_kernel +++ b/tests/regression/tools/live/test_kernel @@ -25,7 +25,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) @@ -58,11 +58,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 @@ -70,3 +74,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 a757ff37a..2fcd147b3 100755 --- a/tests/regression/tools/live/test_lttng_kernel +++ b/tests/regression/tools/live/test_lttng_kernel @@ -23,7 +23,7 @@ TESTDIR=$CURDIR/../../../ DELAY_USEC=2000000 SESSION_NAME="live" -EVENT_NAME="sched_switch" +EVENT_NAME="lttng_test_filter_event" TRACE_PATH=$(mktemp -d) @@ -64,13 +64,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 @@ -79,4 +80,6 @@ skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS || stop_lttng_relayd stop_lttng_sessiond + + modprobe --remove lttng-test }