X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=test%2Fudev-test.pl;h=0700e535767ef79d9115bede4e9d0a9405b8d1c5;hp=b1757ee1bb587a972ad7a14ca9371e0a6a1e4bf5;hb=51a8bb2f361d86013e7579570faba446eed9c66d;hpb=83be97ba211c4f69e7fd9f16f57ca7210a116a7d diff --git a/test/udev-test.pl b/test/udev-test.pl index b1757ee1b..0700e5357 100644 --- a/test/udev-test.pl +++ b/test/udev-test.pl @@ -38,8 +38,8 @@ my @tests = ( devpath => "block/sda", expected => "boot_disk" , conf => < "block/sda/sda1", expected => "boot_disk1" , conf => < "block/sda/sda1", expected => "boot_disk1" , conf => < "label test of multiple sysfs files", + subsys => "block", + devpath => "block/sda/sda1", + expected => "boot_disk1" , + conf => < "label test of max sysfs files", + subsys => "block", + devpath => "block/sda/sda1", + expected => "boot_disk1" , + conf => < "class/tty/ttyUSB0", expected => "visor/0" , conf => < "class/tty/ttyUSB0", expected => "visor/0" , conf => < "class/tty/ttyUSB0", expected => "visor/0" , conf => < "class/tty/ttyUSB0", expected => "visor" , conf => < "Handle comment lines in config file (and replace kernel name)", + subsys => "tty", + devpath => "class/tty/ttyUSB0", + expected => "visor" , + conf => < "Handle comment lines in config file with whitespace (and replace kernel name)", + subsys => "tty", + devpath => "class/tty/ttyUSB0", + expected => "visor" , + conf => < "Handle empty lines in config file (and replace kernel name)", + subsys => "tty", + devpath => "class/tty/ttyUSB0", + expected => "visor" , + conf => < "class/tty/ttyUSB0", expected => "sub/direct/ory/visor" , conf => < "block/sda/sda3", expected => "first_disk3" , conf => < "block/sda/sda3", expected => "Major:8:minor:3:kernelnumber:3:bus:0:0:0:0" , conf => < "callout result substitution", + desc => "program result substitution", subsys => "block", devpath => "block/sda/sda3", expected => "special-device-3" , conf => < "callout program substitution", + desc => "program result substitution", subsys => "block", devpath => "block/sda/sda3", expected => "test-0:0:0:0" , conf => < "devfs disk naming substitution", + desc => "program with escaped format char (tricky: callout returns format char!)", subsys => "block", - devpath => "block/sda", - expected => "lun0/disk" , + devpath => "block/sda/sda3", + expected => "escape-3" , conf => < "devfs disk naming substitution", + desc => "program result substitution (numbered part of)", subsys => "block", - devpath => "block/sda/sda2", - expected => "lun0/part2" , + devpath => "block/sda/sda3", + expected => "link1" , + conf => < "invalid program for device with no bus", + subsys => "tty", + devpath => "class/tty/console", + expected => "TTY" , + conf => < "valid program for device with no bus", + subsys => "tty", + devpath => "class/tty/console", + expected => "foo" , + conf => < "invalid label for device with no bus", + subsys => "tty", + devpath => "class/tty/console", + expected => "TTY" , conf => < "callout bus type", + desc => "valid label for device with no bus", + subsys => "tty", + devpath => "class/tty/console", + expected => "foo" , + conf => < "program and bus type match", subsys => "block", devpath => "block/sda", expected => "scsi-0:0:0:0" , conf => < "symlink creation (same directory)", + subsys => "tty", + devpath => "class/tty/ttyUSB0", + expected => "visor0" , + conf => < "symlink creation (relative link back)", + subsys => "block", + devpath => "block/sda/sda2", + expected => "1/2/a/b/symlink" , + conf => < "symlink creation (relative link forward)", + subsys => "block", + devpath => "block/sda/sda2", + expected => "1/2/symlink" , + conf => < "symlink creation (relative link back and forward)", + subsys => "block", + devpath => "block/sda/sda2", + expected => "1/2/c/d/symlink" , + conf => < "multiple symlinks", + subsys => "tty", + devpath => "class/tty/ttyUSB0", + expected => "second-0" , + conf => < "sysfs parent heirachy", + subsys => "tty", + devpath => "class/tty/ttyUSB0", + expected => "visor" , + conf => <{conf} =~ m/^([A-Z]*).*/; - my $method = $1; - print "TEST: $config->{desc}\n"; - print "method \'$method\' for \'$config->{devpath}\' expecting node \'$config->{expected}\'\n"; + print "device \'$config->{devpath}\' expecting node \'$config->{expected}\'\n"; udev("add", $config->{subsys}, $config->{devpath}, \$config->{conf}); if (-e "$PWD/$udev_root$config->{expected}") { @@ -238,7 +382,8 @@ foreach my $config (@tests) { } udev("remove", $config->{subsys}, $config->{devpath}, \$config->{conf}); - if (-e "$PWD/$udev_root$config->{expected}") { + if ((-e "$PWD/$udev_root$config->{expected}") || + (-l "$PWD/$udev_root$config->{expected}")) { print "remove: error\n\n"; system("tree $udev_root"); $error++;