summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xtests/ubi-tests/runtests.sh42
1 files changed, 14 insertions, 28 deletions
diff --git a/tests/ubi-tests/runtests.sh b/tests/ubi-tests/runtests.sh
index 708cce4..5bd9baa 100755
--- a/tests/ubi-tests/runtests.sh
+++ b/tests/ubi-tests/runtests.sh
@@ -1,39 +1,25 @@
-#!/bin/sh
+#!/bin/sh -euf
ubidev="$1"
-tests="mkvol_basic mkvol_bad mkvol_paral rsvol io_basic io_read io_update
-io_paral volrefcnt"
+tests="mkvol_basic mkvol_bad mkvol_paral rsvol io_basic io_read io_update io_paral volrefcnt"
-if test -z "$ubidev";
-then
- echo "Usage:"
- echo "$0 <UBI device>"
+fatal()
+{
+ echo "Error: $1" 2>&1
exit 1
-fi
-
-ubiname=`echo $ubidev | cut -d/ -f3`
+}
-major=`cat /sys/class/ubi/$ubiname/dev | cut -d: -f1`
-
-for minor in `seq 0 4`; do
- if test ! -e ${ubidev}_${minor} ;
- then
- mknod ${ubidev}_${minor} c $major $(($minor + 1))
- fi
-done
-
-if ! test -c "$ubidev";
-then
- echo "Error: $ubidev is not character device"
+if [ -z "$ubidev" ]; then
+ echo "Usage:" 2>&1
+ echo "$0 <UBI device>"
exit 1
fi
-for t in `echo $tests`;
-do
+[ -c "$ubidev" ] || fatal "$ubidev is not character device"
+
+for t in $tests; do
echo "Running $t $ubidev"
- "./$t" "$ubidev" || exit 1
+ "./$t" "$ubidev" || fatal "$t failed"
done
-echo SUCCESS
-
-exit 0
+echo "SUCCESS"