54 lines
957 B
Bash
Executable File
54 lines
957 B
Bash
Executable File
#!/bin/sh
|
|
|
|
if [ "$(id -u)" != 0 ]; then
|
|
printf '%s: must be run as root' "$0"
|
|
exit 1
|
|
fi
|
|
|
|
if [ "$DEVMGR" ]; then
|
|
:
|
|
elif command -v mdev; then
|
|
DEVMGR=mdev
|
|
elif command -v mdevd; then
|
|
DEVMGR=mdevd
|
|
elif command -v udevd; then
|
|
DEVMGR=eudev
|
|
elif command -v /lib/systemd/systemd-udevd; then
|
|
DEVMGR=systemd-udev
|
|
elif [ -e /proc/sys/kernel/hotplug ]; then
|
|
DEVMGR=proc
|
|
else
|
|
printf '%s: device manager not found' "$0" >&2
|
|
exit 1
|
|
fi > /dev/null
|
|
|
|
export DEVMGR
|
|
|
|
if command -v modprobe > /dev/null; then
|
|
modprobe kvm
|
|
modprobe nbd
|
|
modprobe zfs
|
|
modprobe dm_mod
|
|
modprobe dm_crypt
|
|
fi
|
|
|
|
[ "$1" ] || set -- *.test
|
|
|
|
for file; do
|
|
if [ "$DEBUG" ]; then
|
|
"./${file}" 2>&1
|
|
else
|
|
"./${file}" > /dev/null 2>&1
|
|
fi
|
|
|
|
case $? in
|
|
222) status=SKIP ;;
|
|
0) status=PASS ;;
|
|
*) status=FAIL failed=1 ;;
|
|
esac
|
|
|
|
printf '%s: %s\n' "$file" "$status" >&2
|
|
done
|
|
|
|
[ -z "$failed" ]
|