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";
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
},
{
SUBSYSTEMS=="scsi", KERNEL=="sda1", ENV{ASSIGN}=="yes", NAME="no"
SUBSYSTEMS=="scsi", KERNEL=="sda1", ENV{ASSIGN}=="true", NAME="true"
SUBSYSTEMS=="scsi", KERNEL=="sda1", NAME="bad"
+EOF
+ },
+ {
+ desc => "ENV{} test (assign 2 times)",
+ subsys => "block",
+ devpath => "/block/sda/sda1",
+ exp_name => "true",
+ rules => <<EOF
+SUBSYSTEMS=="scsi", KERNEL=="sda1", ENV{ASSIGN}="true"
+SUBSYSTEMS=="scsi", KERNEL=="sda1", ENV{ASSIGN}="absolutely-\$env{ASSIGN}"
+SUBSYSTEMS=="scsi", KERNEL=="sda1", ENV{ASSIGN}=="yes", NAME="no"
+SUBSYSTEMS=="scsi", KERNEL=="sda1", ENV{ASSIGN}=="absolutely-true", NAME="true"
+SUBSYSTEMS=="scsi", KERNEL=="sda1", NAME="bad"
EOF
},
{