X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=test%2Fudev-test.pl;h=97f75edc94377b1b8bb3cf97365db527712d2b59;hb=72ffa78debb1f96488b5e13d3151486563b460e7;hp=e4a4ddcda8ab31a8a277ce3b40a4410803f3ab1a;hpb=f8f00338a15409f685fc51184862bca5988aee21;p=elogind.git diff --git a/test/udev-test.pl b/test/udev-test.pl index e4a4ddcda..97f75edc9 100644 --- a/test/udev-test.pl +++ b/test/udev-test.pl @@ -25,9 +25,10 @@ my $PWD = $ENV{PWD}; my $sysfs = "sys/"; my $udev_bin = "../udev"; my $udev_root = "udev-root/"; # !!! directory will be removed !!! -my $udev_db = "udev.tdb"; +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 = ( @@ -48,6 +49,37 @@ EOF expected => "boot_disk1" , conf => < "catch device by *", + subsys => "tty", + devpath => "class/tty/ttyUSB0", + expected => "visor/0" , + conf => < "catch device by ?", + subsys => "tty", + devpath => "class/tty/ttyUSB0", + expected => "visor/0" , + conf => < "catch device by character class", + subsys => "tty", + devpath => "class/tty/ttyUSB0", + expected => "visor/0" , + conf => < "visor" , conf => < "subdirectory handling", + subsys => "tty", + devpath => "class/tty/ttyUSB0", + expected => "sub/direct/ory/visor" , + conf => < "callout result substitution", subsys => "block", devpath => "block/sda/sda3", expected => "special-device-3" , @@ -97,6 +138,35 @@ EOF expected => "test-0:0:0:0" , conf => < "devfs disk naming substitution", + subsys => "block", + devpath => "block/sda", + expected => "lun0/disk" , + conf => < "devfs disk naming substitution", + subsys => "block", + devpath => "block/sda/sda2", + expected => "lun0/part2" , + conf => < "callout bus type", + subsys => "block", + devpath => "block/sda", + expected => "scsi-0:0:0:0" , + conf => <$conf_tmp" || die "unable to create config file: $conf_tmp"; @@ -134,6 +200,14 @@ mkdir($udev_root) || die "unable to create udev_root: $udev_root\n"; 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; @@ -164,7 +238,8 @@ foreach my $config (@tests) { print "$error errors occured\n\n"; # cleanup +unlink($udev_db); system("rm -rf $udev_root"); unlink($conf_tmp); -unlink($udev_db); +unlink($main_conf);