chiark / gitweb /
extend hack to allow TEST=="*/start"
[elogind.git] / test / udev-test.pl
index 464098fa65bdd6f24c633454349ec0ae36c8840a..2621e2b13ae6baad2feb9245ff5aae9c058e2d86 100755 (executable)
@@ -22,7 +22,7 @@ use strict;
 
 my $PWD                = $ENV{PWD};
 my $sysfs      = "sys/";
-my $udev_bin   = "../udev";
+my $udev_bin   = "../test-udev";
 my $udev_root  = "udev-root/"; # !!! directory will be removed !!!
 my $udev_conf  = "udev-test.conf";
 my $udev_rules = "udev-test.rules";
@@ -302,7 +302,7 @@ EOF
                devpath         => "/block/sda",
                exp_name        => "node12345678",
                rules           => <<EOF
-SUBSYSTEMS=="scsi", IMPORT="/bin/echo -e \' TEST_KEY=12345678  \\n  TEST_key2=98765 \'", NAME="node\$env{TEST_KEY}"
+SUBSYSTEMS=="scsi", IMPORT="/bin/echo -e \' TEST_KEY=12345678\\n  TEST_key2=98765\'", NAME="node\$env{TEST_KEY}"
 KERNEL=="ttyUSB0", NAME="visor"
 EOF
        },
@@ -579,6 +579,24 @@ EOF
                rules           => <<EOF
 SUBSYSTEMS=="scsi", KERNELS=="*:0:0:0", NAME="scsi-0:0:0:0"
 SUBSYSTEMS=="scsi", KERNELS=="0:0:0:0", NAME="bad"
+EOF
+       },
+       {
+               desc            => "substitute attr with link target value (first match)",
+               subsys          => "block",
+               devpath         => "/block/sda",
+               exp_name        => "driver-is-sd",
+               rules           => <<EOF
+SUBSYSTEMS=="scsi", NAME="driver-is-\$attr{driver}"
+EOF
+       },
+       {
+               desc            => "substitute attr with link target value (currently selected device)",
+               subsys          => "block",
+               devpath         => "/block/sda",
+               exp_name        => "driver-is-aic7xxx",
+               rules           => <<EOF
+SUBSYSTEMS=="pci", NAME="driver-is-\$attr{driver}"
 EOF
        },
        {
@@ -997,26 +1015,6 @@ EOF
                exp_target      => "ttyUSB0",
                rules           => <<EOF
 KERNEL=="ttyUSB[0-9]*", NAME="ttyUSB%n", SYMLINK+="%3s{dev}"
-EOF
-       },
-       {
-               desc            => "symlink with '%' in name",
-               subsys          => "tty",
-               devpath         => "/class/tty/ttyUSB0",
-               exp_name        => "percent%sign",
-               exp_target      => "ttyUSB0",
-               rules           => <<EOF
-KERNEL=="ttyUSB[0-9]*", NAME="ttyUSB%n", SYMLINK+="percent%%sign"
-EOF
-       },
-       {
-               desc            => "symlink with '%' in name",
-               subsys          => "tty",
-               devpath         => "/class/tty/ttyUSB0",
-               exp_name        => "%ttyUSB0_name",
-               exp_target      => "ttyUSB0",
-               rules           => <<EOF
-KERNEL=="ttyUSB[0-9]*", NAME="ttyUSB%n", SYMLINK+="%%%k_name"
 EOF
        },
        {
@@ -1538,8 +1536,17 @@ EOF
                devpath         => "/block/sda/sda1",
                exp_name        => "yes",
                rules           => <<EOF
-KERNEL="sda1", NAME=="no"
+KERNEL="sda1", NAME="no"
 KERNEL=="sda1", NAME="yes"
+EOF
+       },
+       {
+               desc            => "operator chars in attribute",
+               subsys          => "block",
+               devpath         => "/block/sda",
+               exp_name        => "yes",
+               rules           => <<EOF
+KERNEL=="sda", ATTR{test:colon+plus}=="?*", NAME="yes"
 EOF
        },
        {
@@ -1552,6 +1559,52 @@ EOF
    # 012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
 KERNEL="sda1", NAME=="no"
 KERNEL=="sda1", NAME="yes"
+EOF
+       },
+       {
+               desc            => "magic subsys/kernel lookup",
+               subsys          => "block",
+               devpath         => "/block/sda",
+               exp_name        => "00:e0:00:fb:04:e1",
+               rules           => <<EOF
+KERNEL=="sda", NAME="\$attr{[net/eth0]address}"
+EOF
+       },
+       {
+               desc            => "TEST absolute path",
+               subsys          => "block",
+               devpath         => "/block/sda",
+               exp_name        => "there",
+               rules           => <<EOF
+TEST=="/etc/hosts", NAME="there"
+NAME="notthere"
+EOF
+       },
+       {
+               desc            => "TEST subsys/kernel lookup",
+               subsys          => "block",
+               devpath         => "/block/sda",
+               exp_name        => "yes",
+               rules           => <<EOF
+KERNEL=="sda", TEST=="[net/eth0]", NAME="yes"
+EOF
+       },
+       {
+               desc            => "TEST relative path",
+               subsys          => "block",
+               devpath         => "/block/sda",
+               exp_name        => "relative",
+               rules           => <<EOF
+KERNEL=="sda", TEST=="size", NAME="relative"
+EOF
+       },
+       {
+               desc            => "TEST wildcard substitution (find queue/nr_requests)",
+               subsys          => "block",
+               devpath         => "/block/sda",
+               exp_name        => "found-subdir",
+               rules           => <<EOF
+KERNEL=="sda", TEST=="*/nr_requests", NAME="found-subdir"
 EOF
        },
 );