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 <francis.deslauriers@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Change-Id: I15d500d5becf9c5e526ae11ff0b2a2f4f6b753ac
DELAY_USEC=2000000
SESSION_NAME="live"
-EVENT_NAME="sched_switch"
+EVENT_NAME="lttng_test_filter_event"
TRACE_PATH=$(mktemp -d)
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
stop_lttng_relayd_notap
stop_lttng_sessiond_notap
+
+modprobe --remove lttng-test
DELAY_USEC=2000000
SESSION_NAME="live"
-EVENT_NAME="sched_switch"
+EVENT_NAME="lttng_test_filter_event"
TRACE_PATH=$(mktemp -d)
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
stop_lttng_relayd
stop_lttng_sessiond
+
+ modprobe --remove lttng-test
}