#!/bin/bash
+RULES=label_test.rules
+CONFIG=label_test.conf
+
export UDEV_TEST=yes
export SYSFS_PATH=$PWD/sys/
-export UDEV_CONFIG_DIR=$PWD/
-export UDEV_ROOT=$PWD/udev/
-export UDEV_DB=udev.tdb
-export UDEV_CONFIG_FILE=label_test.config
-export UDEV_RULES_FILE=label_test.rules
-export UDEV_PERMISSION_FILE=udev.permissions
+export UDEV_CONFIG_FILE=$PWD/$CONFIG
+
+cat > $RULES << EOF
+LABEL, BUS="scsi", vendor="IBM-ESXS", NAME="boot_disk%n"
+EOF
+
+cat > $CONFIG << EOF
+udev_root="$PWD/udev/"
+udev_db="$PWD/udev/.udev.tdb"
+udev_rules="$PWD/$RULES"
+udev_permissions="$PWD/udev.permissions"
+EOF
export ACTION=add
export DEVPATH=block/sda
ls udev
+rm $RULES
+rm $CONFIG
#!/bin/bash
+RULES=modifier_test.rules
+CONFIG=modifier_test.conf
+
export UDEV_TEST=yes
export SYSFS_PATH=$PWD/sys/
-export UDEV_CONFIG_DIR=$PWD/
-export UDEV_ROOT=$PWD/udev/
-export UDEV_DB=udev.tdb
-export UDEV_CONFIG_FILE=modifier_test.config
-export UDEV_RULES_FILE=modifier_test.rules
-export UDEV_PERMISSION_FILE=udev.permissions
+export UDEV_CONFIG_FILE=$PWD/$CONFIG
+
+cat > $RULES << EOF
+TOPOLOGY, BUS="scsi", place="0:0:0:0", NAME="Major:%M:minor:%m:kernelnumber:%n:bus:%b"
+EOF
+
+cat > $CONFIG << EOF
+udev_root="$PWD/udev/"
+udev_db="$PWD/udev/.udev.tdb"
+udev_rules="$PWD/$RULES"
+udev_permissions="$PWD/udev.permissions"
+EOF
export ACTION=add
export DEVPATH=block/sda
../udev block
ls udev
+rm $RULES
+rm $CONFIG
#!/bin/bash
+RULES=replace_test.rules
+CONFIG=replace_test.conf
+
export UDEV_TEST=yes
export SYSFS_PATH=$PWD/sys/
-export UDEV_CONFIG_DIR=$PWD/
-export UDEV_ROOT=$PWD/udev/
-export UDEV_DB=udev.tdb
-export UDEV_CONFIG_FILE=replace_test.config
-export UDEV_RULES_FILE=replace_test.rules
-export UDEV_PERMISSION_FILE=udev.permissions
+export UDEV_CONFIG_FILE=$PWD/$CONFIG
+
+cat > $RULES << EOF
+REPLACE, KERNEL="ttyUSB0", NAME="visor"
+EOF
+
+cat > $CONFIG << EOF
+udev_root="$PWD/udev/"
+udev_db="$PWD/udev/.udev.tdb"
+udev_rules="$PWD/$RULES"
+udev_permissions="$PWD/udev.permissions"
+EOF
export DEVPATH=class/tty/ttyUSB0
export ACTION=add
../udev tty
ls -l udev
-
+rm $RULES
+rm $CONFIG
#!/bin/bash
+RULES=replace_test.rules
+CONFIG=replace_test.conf
+
export UDEV_TEST=yes
export SYSFS_PATH=$PWD/sys/
-export UDEV_CONFIG_DIR=$PWD/
-export UDEV_ROOT=$PWD/udev/
-export UDEV_DB=udev.tdb
-export UDEV_CONFIG_FILE=topo_test.config
-export UDEV_RULES_FILE=topo_test.rules
-export UDEV_PERMISSION_FILE=udev.permissions
+export UDEV_CONFIG_FILE=$PWD/$CONFIG
+
+cat > $RULES << EOF
+TOPOLOGY, BUS="scsi", place="0:0:0:0", NAME="first_disk%n"
+EOF
+
+cat > $CONFIG << EOF
+udev_root="$PWD/udev/"
+udev_db="$PWD/udev/.udev.tdb"
+udev_rules="$PWD/$RULES"
+udev_permissions="$PWD/udev.permissions"
+EOF
export ACTION=add
export DEVPATH=block/sda
../udev block
ls udev
+rm $RULES
+rm $CONFIG
my $udev_root = "udev-root/"; # !!! directory will be removed !!!
my $udev_db = ".udev.tdb";
my $perm = "udev.permissions";
-my $conf_tmp = "udev-test.config";
+my $main_conf = "udev-test.conf";
+my $conf_tmp = "udev-test.rules";
my @tests = (
# set env
$ENV{UDEV_TEST} = "yes";
$ENV{SYSFS_PATH} = $sysfs;
-$ENV{UDEV_CONFIG_DIR} = "./";
-$ENV{UDEV_ROOT} = $udev_root;
-$ENV{UDEV_DB} = $udev_db;
-$ENV{UDEV_PERMISSION_FILE} = $perm;
+$ENV{UDEV_CONFIG_FILE} = $main_conf;
sub udev {
my ($action, $subsys, $devpath, $config) = @_;
$ENV{DEVPATH} = $devpath;
- $ENV{UDEV_RULES_FILE} = $conf_tmp;
# create temporary config
open CONF, ">$conf_tmp" || die "unable to create config file: $conf_tmp";
my $error = 0;
print "\nudev-test will run ".($#tests + 1)." tests:\n\n";
+# create initial config file
+open CONF, ">$main_conf" || die "unable to create config file: $main_conf";
+print CONF "udev_root=\"$udev_root\"\n";
+print CONF "udev_db=\"$udev_db\"\n";
+print CONF "udev_rules=\"$conf_tmp\"\n";
+print CONF "udev_permissions=\"$perm\"\n";
+close CONF;
+
foreach my $config (@tests) {
$config->{conf} =~ m/^([A-Z]*).*/;
my $method = $1;
unlink($udev_db);
system("rm -rf $udev_root");
unlink($conf_tmp);
+unlink($main_conf);