summaryrefslogtreecommitdiff
path: root/test/test.all
blob: 527569bd439effe92f0b33b65126c2fa95b33405 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#! /bin/sh
#
# test.block - run udev(8) on each block device in /sys/block

if [ $# = "0" ] ; then
	echo
	echo "usage: $0 <action>"
	echo "where <action> is \"add\" or \"remove\""
	echo
	exit 1
fi

SYSFSDIR=/sys		# change this for a nonstand sysfs mount point
BIN=../udev		# location of your udev binary
export ACTION=$1	# 'add' or 'remove'

# do the block devices first
for i in ${SYSFSDIR}/block/*; do
	# add each drive
	export DEVPATH=${i#${SYSFSDIR}}
	$BIN block

	# add each partition, on each device
	for j in $i/*; do
		if [ -f $j/dev ]; then
			export DEVPATH=${j#${SYSFSDIR}}
			$BIN block
		fi
	done
done

# now all the devices in the class directories
for i in ${SYSFSDIR}/class/*; do
	for j in $i/*; do
		if [ -f $j/dev ]; then
			export DEVPATH=${j#${SYSFSDIR}}
			CLASS=`echo ${i#${SYSFSDIR}} | cut --delimiter='/' --fields=3-`
			$BIN $CLASS
		fi
	done
done