All of lore.kernel.org
 help / color / mirror / Atom feed
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


             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.