From: Aditya Dutt <duttaditya18@gmail.com>
To: Shuah Khan <shuah@kernel.org>, Tejun Heo <tj@kernel.org>,
Madhavan Srinivasan <maddy@linux.ibm.com>,
"David S . Miller" <davem@davemloft.net>
Cc: Shuah Khan <skhan@linuxfoundation.org>,
linux-kernel-mentees@lists.linuxfoundation.org,
cgroups@vger.kernel.org, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
Aditya Dutt <duttaditya18@gmail.com>
Subject: [PATCH] selftests: make shell scripts POSIX-compliant
Date: Sun, 16 Feb 2025 17:32:25 +0530 [thread overview]
Message-ID: <20250216120225.324468-1-duttaditya18@gmail.com> (raw)
Changes include:
- Replaced [[ ... ]] with [ ... ]
- Replaced == with =
- Replaced printf -v with cur=$(printf ...).
- Replaced echo -e with printf "%b\n" ...
The above mentioned are Bash/GNU extensions and are not part of POSIX.
Using shells like dash or non-GNU coreutils may produce errors.
They have been replaced with POSIX-compatible alternatives.
Signed-off-by: Aditya Dutt <duttaditya18@gmail.com>
---
I have made sure to only change the files that specifically have the
/bin/sh shebang.
I have referred to https://mywiki.wooledge.org/Bashism for information
on what is and what isn't POSIX-compliant.
tools/testing/selftests/cgroup/test_cpuset_v1_hp.sh | 10 +++++-----
tools/testing/selftests/kexec/kexec_common_lib.sh | 2 +-
tools/testing/selftests/kexec/test_kexec_file_load.sh | 2 +-
tools/testing/selftests/net/veth.sh | 10 +++++-----
tools/testing/selftests/powerpc/eeh/eeh-vf-aware.sh | 2 +-
tools/testing/selftests/zram/zram_lib.sh | 2 +-
6 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/tools/testing/selftests/cgroup/test_cpuset_v1_hp.sh b/tools/testing/selftests/cgroup/test_cpuset_v1_hp.sh
index 3f45512fb512..00416248670f 100755
--- a/tools/testing/selftests/cgroup/test_cpuset_v1_hp.sh
+++ b/tools/testing/selftests/cgroup/test_cpuset_v1_hp.sh
@@ -11,24 +11,24 @@ skip_test() {
exit 4 # ksft_skip
}
-[[ $(id -u) -eq 0 ]] || skip_test "Test must be run as root!"
+[ $(id -u) -eq 0 ] || skip_test "Test must be run as root!"
# Find cpuset v1 mount point
CPUSET=$(mount -t cgroup | grep cpuset | head -1 | awk -e '{print $3}')
-[[ -n "$CPUSET" ]] || skip_test "cpuset v1 mount point not found!"
+[ -n "$CPUSET" ] || skip_test "cpuset v1 mount point not found!"
#
# Create a test cpuset, put a CPU and a task there and offline that CPU
#
TDIR=test$$
-[[ -d $CPUSET/$TDIR ]] || mkdir $CPUSET/$TDIR
+[ -d $CPUSET/$TDIR ] || mkdir $CPUSET/$TDIR
echo 1 > $CPUSET/$TDIR/cpuset.cpus
echo 0 > $CPUSET/$TDIR/cpuset.mems
sleep 10&
TASK=$!
echo $TASK > $CPUSET/$TDIR/tasks
NEWCS=$(cat /proc/$TASK/cpuset)
-[[ $NEWCS != "/$TDIR" ]] && {
+[ $NEWCS != "/$TDIR" ] && {
echo "Unexpected cpuset $NEWCS, test FAILED!"
exit 1
}
@@ -38,7 +38,7 @@ sleep 0.5
echo 1 > /sys/devices/system/cpu/cpu1/online
NEWCS=$(cat /proc/$TASK/cpuset)
rmdir $CPUSET/$TDIR
-[[ $NEWCS != "/" ]] && {
+[ $NEWCS != "/" ] && {
echo "cpuset $NEWCS, test FAILED!"
exit 1
}
diff --git a/tools/testing/selftests/kexec/kexec_common_lib.sh b/tools/testing/selftests/kexec/kexec_common_lib.sh
index 641ef05863b2..b65616ea67f8 100755
--- a/tools/testing/selftests/kexec/kexec_common_lib.sh
+++ b/tools/testing/selftests/kexec/kexec_common_lib.sh
@@ -96,7 +96,7 @@ get_secureboot_mode()
local secureboot_mode=0
local system_arch=$(get_arch)
- if [ "$system_arch" == "ppc64le" ]; then
+ if [ "$system_arch" = "ppc64le" ]; then
get_ppc64_secureboot_mode
secureboot_mode=$?
else
diff --git a/tools/testing/selftests/kexec/test_kexec_file_load.sh b/tools/testing/selftests/kexec/test_kexec_file_load.sh
index c9ccb3c93d72..072e03c8b1c3 100755
--- a/tools/testing/selftests/kexec/test_kexec_file_load.sh
+++ b/tools/testing/selftests/kexec/test_kexec_file_load.sh
@@ -226,7 +226,7 @@ get_secureboot_mode
secureboot=$?
# Are there pe and ima signatures
-if [ "$(get_arch)" == 'ppc64le' ]; then
+if [ "$(get_arch)" = 'ppc64le' ]; then
pe_signed=0
else
check_for_pesig
diff --git a/tools/testing/selftests/net/veth.sh b/tools/testing/selftests/net/veth.sh
index 6bb7dfaa30b6..e86f102f9028 100755
--- a/tools/testing/selftests/net/veth.sh
+++ b/tools/testing/selftests/net/veth.sh
@@ -137,7 +137,7 @@ __change_channels()
local i
while true; do
- printf -v cur '%(%s)T'
+ cur=$(printf '%(%s)T')
[ $cur -le $end ] || break
for i in `seq 1 $CPUS`; do
@@ -157,7 +157,7 @@ __send_data() {
local end=$1
while true; do
- printf -v cur '%(%s)T'
+ cur=$(printf '%(%s)T')
[ $cur -le $end ] || break
ip netns exec $NS_SRC ./udpgso_bench_tx -4 -s 1000 -M 300 -D $BM_NET_V4$DST
@@ -166,7 +166,7 @@ __send_data() {
do_stress() {
local end
- printf -v end '%(%s)T'
+ cur=$(printf '%(%s)T')
end=$((end + $STRESS))
ip netns exec $NS_SRC ethtool -L veth$SRC rx 3 tx 3
@@ -198,8 +198,8 @@ do_stress() {
usage() {
echo "Usage: $0 [-h] [-s <seconds>]"
- echo -e "\t-h: show this help"
- echo -e "\t-s: run optional stress tests for the given amount of seconds"
+ printf "%b\n" "\t-h: show this help"
+ printf "%b\n" "\t-s: run optional stress tests for the given amount of seconds"
}
STRESS=0
diff --git a/tools/testing/selftests/powerpc/eeh/eeh-vf-aware.sh b/tools/testing/selftests/powerpc/eeh/eeh-vf-aware.sh
index 874c11953bb6..18fdf88936f0 100755
--- a/tools/testing/selftests/powerpc/eeh/eeh-vf-aware.sh
+++ b/tools/testing/selftests/powerpc/eeh/eeh-vf-aware.sh
@@ -36,7 +36,7 @@ done
eeh_disable_vfs
-if [ "$tested" == 0 ] ; then
+if [ "$tested" = 0 ] ; then
echo "No VFs with EEH aware drivers found, skipping"
exit $KSELFTESTS_SKIP
fi
diff --git a/tools/testing/selftests/zram/zram_lib.sh b/tools/testing/selftests/zram/zram_lib.sh
index 21ec1966de76..923dbeb64eaf 100755
--- a/tools/testing/selftests/zram/zram_lib.sh
+++ b/tools/testing/selftests/zram/zram_lib.sh
@@ -37,7 +37,7 @@ kernel_gte()
if [ $kernel_major -gt $major ]; then
return 0
- elif [[ $kernel_major -eq $major && $kernel_minor -ge $minor ]]; then
+ elif [ $kernel_major -eq $major && $kernel_minor -ge $minor ]; then
return 0
fi
--
2.34.1
next reply other threads:[~2025-02-16 12:02 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-16 12:02 Aditya Dutt [this message]
2025-02-16 16:11 ` [PATCH] selftests: make shell scripts POSIX-compliant Tejun Heo
2025-02-17 3:00 ` Hangbin Liu
2025-02-18 20:44 ` Waiman Long
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250216120225.324468-1-duttaditya18@gmail.com \
--to=duttaditya18@gmail.com \
--cc=cgroups@vger.kernel.org \
--cc=davem@davemloft.net \
--cc=linux-kernel-mentees@lists.linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=maddy@linux.ibm.com \
--cc=netdev@vger.kernel.org \
--cc=shuah@kernel.org \
--cc=skhan@linuxfoundation.org \
--cc=tj@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.