mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-30 14:19:16 +00:00
selftests/lkdtm: Add way to repeat a test
Some LKDTM tests need to be run more than once (usually to setup and then later trigger). Until now, the only case was the SOFT_LOCKUP test, which wasn't useful to run in the bulk selftests. The coming stack canary checking needs to run twice, so support this with a new test output prefix "repeat". Signed-off-by: Kees Cook <keescook@chromium.org> Link: https://lore.kernel.org/r/20211022223826.330653-2-keescook@chromium.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
0e53a9e038
commit
149538cd55
1 changed files with 9 additions and 1 deletions
|
@ -56,8 +56,14 @@ if echo "$test" | grep -q '^#' ; then
|
|||
fi
|
||||
|
||||
# If no expected output given, assume an Oops with back trace is success.
|
||||
repeat=1
|
||||
if [ -z "$expect" ]; then
|
||||
expect="call trace:"
|
||||
else
|
||||
if echo "$expect" | grep -q '^repeat:' ; then
|
||||
repeat=$(echo "$expect" | cut -d' ' -f1 | cut -d: -f2)
|
||||
expect=$(echo "$expect" | cut -d' ' -f2-)
|
||||
fi
|
||||
fi
|
||||
|
||||
# Prepare log for report checking
|
||||
|
@ -83,7 +89,9 @@ dmesg > "$DMESG"
|
|||
# the signal that killed the subprocess, we must ignore the failure and
|
||||
# continue. However we don't silence stderr since there might be other
|
||||
# useful details reported there in the case of other unexpected conditions.
|
||||
echo "$test" | cat >"$TRIGGER" || true
|
||||
for i in $(seq 1 $repeat); do
|
||||
echo "$test" | cat >"$TRIGGER" || true
|
||||
done
|
||||
|
||||
# Record and dump the results
|
||||
dmesg | comm --nocheck-order -13 "$DMESG" - > "$LOG" || true
|
||||
|
|
Loading…
Reference in a new issue