summaryrefslogtreecommitdiff
path: root/test/wait_for_sysfs_test.sh
diff options
context:
space:
mode:
Diffstat (limited to 'test/wait_for_sysfs_test.sh')
-rw-r--r--test/wait_for_sysfs_test.sh40
1 files changed, 40 insertions, 0 deletions
diff --git a/test/wait_for_sysfs_test.sh b/test/wait_for_sysfs_test.sh
new file mode 100644
index 0000000000..f299d23c94
--- /dev/null
+++ b/test/wait_for_sysfs_test.sh
@@ -0,0 +1,40 @@
+#! /bin/sh
+#
+
+# Check for missing binaries (stale symlinks should not happen)
+UDEV_BIN=../wait_for_sysfs
+test -x $UDEV_BIN || exit 5
+
+# Directory where sysfs is mounted
+SYSFS_DIR=/sys
+
+run_udev () {
+ # handle block devices and their partitions
+ for i in ${SYSFS_DIR}/block/*; do
+ # add each drive
+ export DEVPATH=${i#${SYSFS_DIR}}
+ $UDEV_BIN block &
+
+ # add each partition, on each device
+ for j in $i/*; do
+ if [ -f $j/dev ]; then
+ export DEVPATH=${j#${SYSFS_DIR}}
+ $UDEV_BIN block
+ fi
+ done
+ done
+ # all other device classes
+ for i in ${SYSFS_DIR}/class/*; do
+ for j in $i/*; do
+# if [ -f $j/dev ]; then
+ export DEVPATH=${j#${SYSFS_DIR}}
+ CLASS=`echo ${i#${SYSFS_DIR}} | \
+ cut --delimiter='/' --fields=3-`
+ $UDEV_BIN $CLASS
+# fi
+ done
+ done
+}
+
+export ACTION=add
+run_udev