From: Lukas Czerner <[email protected]>
To: [email protected]
Subject: [PATCH v2 1/2] runtests: Clean up code in runtests.sh
Date: Tue, 8 Sep 2020 10:17:02 +0200 [thread overview]
Message-ID: <[email protected]> (raw)
Use uppercase for global and lowecase for local valiable consistently.
Don't use single letter variable names and add some comments.
No functional changes.
Signed-off-by: Lukas Czerner <[email protected]>
---
v2: Update description and subject, don't remove quotes around RET variable
test/runtests.sh | 76 +++++++++++++++++++++++-------------------------
1 file changed, 37 insertions(+), 39 deletions(-)
diff --git a/test/runtests.sh b/test/runtests.sh
index 2cf1eb2..f860766 100755
--- a/test/runtests.sh
+++ b/test/runtests.sh
@@ -2,18 +2,18 @@
TESTS="$@"
RET=0
-
TIMEOUT=60
+DMESG_FILTER="cat"
+TEST_DIR=$(dirname $0)
+TEST_FILES=""
FAILED=""
MAYBE_FAILED=""
-do_kmsg="1"
-if ! [ $(id -u) = 0 ]; then
- do_kmsg="0"
-fi
+# Only use /dev/kmsg if running as root
+DO_KMSG="1"
+[ "$(id -u)" != "0" ] && DO_KMSG="0"
-TEST_DIR=$(dirname $0)
-TEST_FILES=""
+# Include config.local if exists and check TEST_FILES for valid devices
if [ -f "$TEST_DIR/config.local" ]; then
. $TEST_DIR/config.local
for dev in $TEST_FILES; do
@@ -29,7 +29,7 @@ _check_dmesg()
local dmesg_marker="$1"
local seqres="$2.seqres"
- if [[ $do_kmsg -eq 0 ]]; then
+ if [ $DO_KMSG -eq 0 ]; then
return 0
fi
@@ -56,56 +56,55 @@ _check_dmesg()
run_test()
{
- T="$1"
- D="$2"
- DMESG_FILTER="cat"
+ local test_name="$1"
+ local dev="$2"
- if [ "$do_kmsg" -eq 1 ]; then
- if [ -z "$D" ]; then
- local dmesg_marker="Running test $T:"
+ if [ "$DO_KMSG" -eq 1 ]; then
+ if [ -z "$dev" ]; then
+ local dmesg_marker="Running test $test_name:"
else
- local dmesg_marker="Running test $T $D:"
+ local dmesg_marker="Running test $test_name $dev:"
fi
echo $dmesg_marker | tee /dev/kmsg
else
local dmesg_marker=""
- echo Running test $T $D
+ echo Running test $test_name $dev
fi
- timeout --preserve-status -s INT -k $TIMEOUT $TIMEOUT ./$T $D
- r=$?
- if [ "${r}" -eq 124 ]; then
- echo "Test $T timed out (may not be a failure)"
- elif [ "${r}" -ne 0 ]; then
- echo "Test $T failed with ret ${r}"
- if [ -z "$D" ]; then
- FAILED="$FAILED <$T>"
+ timeout --preserve-status -s INT -k $TIMEOUT $TIMEOUT ./$test_name $dev
+ local status=$?
+ if [ "$status" -eq 124 ]; then
+ echo "Test $test_name timed out (may not be a failure)"
+ elif [ "$status" -ne 0 ]; then
+ echo "Test $test_name failed with ret $status"
+ if [ -z "$dev" ]; then
+ FAILED="$FAILED <$test_name>"
else
- FAILED="$FAILED <$T $D>"
+ FAILED="$FAILED <$test_name $dev>"
fi
RET=1
- elif ! _check_dmesg "$dmesg_marker" "$T"; then
- echo "Test $T failed dmesg check"
- if [ -z "$D" ]; then
- FAILED="$FAILED <$T>"
+ elif ! _check_dmesg "$dmesg_marker" "$test_name"; then
+ echo "Test $test_name failed dmesg check"
+ if [ -z "$dev" ]; then
+ FAILED="$FAILED <$test_name>"
else
- FAILED="$FAILED <$T $D>"
+ FAILED="$FAILED <$test_name $dev>"
fi
RET=1
- elif [ ! -z "$D" ]; then
+ elif [ ! -z "$dev" ]; then
sleep .1
ps aux | grep "\[io_wq_manager\]" > /dev/null
- R="$?"
- if [ "$R" -eq 0 ]; then
- MAYBE_FAILED="$MAYBE_FAILED $T"
+ if [ $? -eq 0 ]; then
+ MAYBE_FAILED="$MAYBE_FAILED $test_name"
fi
fi
}
-for t in $TESTS; do
- run_test $t
+# Run all specified tests
+for tst in $TESTS; do
+ run_test $tst
if [ ! -z "$TEST_FILES" ]; then
for dev in $TEST_FILES; do
- run_test $t $dev
+ run_test $tst $dev
done
fi
done
@@ -116,8 +115,7 @@ if [ "${RET}" -ne 0 ]; then
else
sleep 1
ps aux | grep "\[io_wq_manager\]" > /dev/null
- R="$?"
- if [ "$R" -ne 0 ]; then
+ if [ $? -ne 0 ]; then
MAYBE_FAILED=""
fi
if [ ! -z "$MAYBE_FAILED" ]; then
--
2.26.2
next reply other threads:[~2020-09-08 8:17 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-08 8:17 Lukas Czerner [this message]
2020-09-08 8:17 ` [PATCH v2 2/2] runtests: add ability to exclude tests Lukas Czerner
2020-09-08 14:17 ` [PATCH v2 1/2] runtests: Clean up code in runtests.sh Jens Axboe
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 \
[email protected] \
[email protected] \
[email protected] \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox