Exercise the newly introduced dump_on_oops tracefs file that turns on or off the trace remote buffer dump on system panic.
Signed-off-by: Vincent Donnefort <[email protected]> diff --git a/tools/testing/selftests/ftrace/test.d/remotes/00hypervisor/dump_on_oops.tc b/tools/testing/selftests/ftrace/test.d/remotes/00hypervisor/dump_on_oops.tc new file mode 100644 index 000000000000..6c3f93ab922d --- /dev/null +++ b/tools/testing/selftests/ftrace/test.d/remotes/00hypervisor/dump_on_oops.tc @@ -0,0 +1,11 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0 +# description: Test hypervisor trace dump_on_oops +# requires: remotes/hypervisor/write_event + +SOURCE_REMOTE_TEST=1 +. $TEST_DIR/remotes/dump_on_oops.tc + +set -e +setup_remote "hypervisor" +test_dump_on_oops diff --git a/tools/testing/selftests/ftrace/test.d/remotes/dump_on_oops.tc b/tools/testing/selftests/ftrace/test.d/remotes/dump_on_oops.tc new file mode 100644 index 000000000000..4f5f26cb3291 --- /dev/null +++ b/tools/testing/selftests/ftrace/test.d/remotes/dump_on_oops.tc @@ -0,0 +1,51 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0 +# description: Test trace remote dump_on_oops +# requires: remotes/test + +. $TEST_DIR/remotes/functions + +test_dump_on_oops() +{ + # + # Toggle when the buffer is unloaded + # + echo 1 > dump_on_oops + echo 0 > dump_on_oops + + # + # Toggle when the buffer is loaded + # + echo 1 > tracing_on + assert_loaded + + echo 1 > dump_on_oops + echo 0 > dump_on_oops + + # + # Load and unload buffer while dump_on_oops is enabled + # + echo 0 > tracing_on + assert_unloaded + + echo 1 > dump_on_oops + echo 1 > tracing_on + echo 0 > tracing_on + + # REMOVE ME FOR A PROPER OOPS TEST + return + + echo 1 > tracing_on + + for i in $(seq 1 32); do + echo $i > write_event + done + + echo c > /proc/sysrq-trigger +} + +if [ -z "$SOURCE_REMOTE_TEST" ]; then + set -e + setup_remote_test + test_dump_on_oops +fi diff --git a/tools/testing/selftests/ftrace/test.d/remotes/functions b/tools/testing/selftests/ftrace/test.d/remotes/functions index 8dd9c961977b..887b9296d0a7 100644 --- a/tools/testing/selftests/ftrace/test.d/remotes/functions +++ b/tools/testing/selftests/ftrace/test.d/remotes/functions @@ -9,6 +9,7 @@ setup_remote() cd remotes/$name/ echo 0 > tracing_on echo 0 > printk + echo 0 > dump_on_oops clear_trace echo 7 > buffer_size_kb echo 0 > events/enable -- 2.54.0.1032.g2f8565e1d1-goog
