diff options
author | 2025-04-18 11:32:31 -0700 | |
---|---|---|
committer | 2025-04-18 11:32:31 -0700 | |
commit | 338d40ceef38d9a36b48164e22768b40d6f89701 (patch) | |
tree | eea782de11e025f351d11a4db0d587e7ed703959 | |
parent | Merge tag 'v6.15-rc2-ksmbd-server-fixes' of git://git.samba.org/ksmbd (diff) | |
parent | selftests/ftrace: Differentiate bash and dash in dynevent_limitations.tc (diff) | |
download | wireguard-linux-338d40ceef38d9a36b48164e22768b40d6f89701.tar.xz wireguard-linux-338d40ceef38d9a36b48164e22768b40d6f89701.zip |
Merge tag 'linux_kselftest-fixes-6.15-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
Pull kselftest fix from Shuah Khan:
"Fixes dynevent_limitations.tc test failure on dash by detecting and
handling bash and dash differences in evaluating \\"
* tag 'linux_kselftest-fixes-6.15-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
selftests/ftrace: Differentiate bash and dash in dynevent_limitations.tc
-rw-r--r-- | tools/testing/selftests/ftrace/test.d/dynevent/dynevent_limitations.tc | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/tools/testing/selftests/ftrace/test.d/dynevent/dynevent_limitations.tc b/tools/testing/selftests/ftrace/test.d/dynevent/dynevent_limitations.tc index 6b94b678741a..f656bccb1a14 100644 --- a/tools/testing/selftests/ftrace/test.d/dynevent/dynevent_limitations.tc +++ b/tools/testing/selftests/ftrace/test.d/dynevent/dynevent_limitations.tc @@ -7,11 +7,32 @@ MAX_ARGS=128 EXCEED_ARGS=$((MAX_ARGS + 1)) +# bash and dash evaluate variables differently. +# dash will evaluate '\\' every time it is read whereas bash does not. +# +# TEST_STRING="$TEST_STRING \\$i" +# echo $TEST_STRING +# +# With i=123 +# On bash, that will print "\123" +# but on dash, that will print the escape sequence of \123 as the \ will +# be interpreted again in the echo. +# +# Set a variable "bs" to save a double backslash, then echo that +# to "ts" to see if $ts changed or not. If it changed, it's dash, +# if not, it's bash, and then bs can equal a single backslash. +bs='\\' +ts=`echo $bs` +if [ "$ts" = '\\' ]; then + # this is bash + bs='\' +fi + check_max_args() { # event_header TEST_STRING=$1 # Acceptable for i in `seq 1 $MAX_ARGS`; do - TEST_STRING="$TEST_STRING \\$i" + TEST_STRING="$TEST_STRING $bs$i" done echo "$TEST_STRING" >> dynamic_events echo > dynamic_events |