devpath => "/block/sda/sda3",
exp_name => "Major:8-minor:3-kernelnumber:3-id:0:0:0:0",
rules => <<EOF
-BUS=="scsi", ID=="0:0:0:0", DEVPATH="*/sda/*", NAME="Major:\$major-minor:%m-kernelnumber:\$number-id:\$id"
+BUS=="scsi", ID=="0:0:0:0", DEVPATH=="*/sda/*", NAME="Major:\$major-minor:%m-kernelnumber:\$number-id:\$id"
EOF
},
{
devpath => "/block/sda/sda3",
exp_name => "830:0:0:03" ,
rules => <<EOF
-BUS=="scsi", ID=="0:0:0:0", DEVPATH="*/sda/*", NAME="%M%m%b%n"
+BUS=="scsi", ID=="0:0:0:0", DEVPATH=="*/sda/*", NAME="%M%m%b%n"
EOF
},
{
devpath => "/block/sda/sda3",
exp_name => "833" ,
rules => <<EOF
-BUS=="scsi", ID=="0:0:0:0", DEVPATH="*/sda/*", NAME="\$major\$minor\$number"
+BUS=="scsi", ID=="0:0:0:0", DEVPATH=="*/sda/*", NAME="\$major\$minor\$number"
EOF
},
{
devpath => "/block/sda/sda3",
exp_name => "8330:0:0:0" ,
rules => <<EOF
-BUS=="scsi", ID=="0:0:0:0", DEVPATH="*/sda/*", NAME="\$major%m%n\$id"
+BUS=="scsi", ID=="0:0:0:0", DEVPATH=="*/sda/*", NAME="\$major%m%n\$id"
EOF
},
{
devpath => "/class/tty/tty0",
exp_name => "link",
exp_target => "link",
+ exp_add_error => "yes",
exp_rem_error => "yes",
option => "clean",
rules => <<EOF
exp_target => "node",
rules => <<EOF
BUS=="scsi", PROGRAM=="/bin/echo -n node link1 link2 link3 link4", RESULT=="node *", NAME="%c{1}", SYMLINK+="%c{2+}"
-EOF
- },
- {
- desc => "enumeration char test (single test)",
- subsys => "block",
- devpath => "/block/sda",
- exp_name => "cdrom",
- rules => <<EOF
-KERNEL=="sda", NAME="cdrom%e"
-EOF
- },
- {
- desc => "enumeration char test sequence 1/5 (keep)",
- subsys => "block",
- devpath => "/block/sda",
- exp_name => "cdrom",
- option => "keep",
- rules => <<EOF
-KERNEL=="sda", NAME="cdrom%e"
-EOF
- },
- {
- desc => "enumeration char test sequence 2/5 (keep)",
- subsys => "block",
- devpath => "/block/sda/sda1",
- exp_name => "enum",
- option => "keep",
- rules => <<EOF
-KERNEL=="sda1", NAME="enum%e"
-EOF
- },
- {
- desc => "enumeration char test sequence 3/5 (keep)",
- subsys => "block",
- devpath => "/block/sda/sda2",
- exp_name => "cdrom1",
- option => "keep",
- rules => <<EOF
-KERNEL=="sda2", NAME="cdrom%e"
-EOF
- },
- {
- desc => "enumeration char test sequence 4/5 (keep)",
- subsys => "block",
- devpath => "/block/sda/sda3",
- exp_name => "enum1",
- option => "keep",
- rules => <<EOF
-KERNEL=="sda3", NAME="enum%e"
-EOF
- },
- {
- desc => "enumeration char test sequence 5/5 (clean)",
- subsys => "block",
- devpath => "/block/sda/sda4",
- exp_name => "cdrom2",
- option => "clean",
- rules => <<EOF
-KERNEL=="sda4", NAME="cdrom%e"
-EOF
- },
- {
- desc => "enumeration char test after cleanup (single test)",
- subsys => "block",
- devpath => "/block/sda",
- exp_name => "cdrom",
- rules => <<EOF
-KERNEL=="sda", NAME="cdrom%e"
EOF
},
{
devpath => "/block/sda/sda1",
exp_name => "part",
rules => <<EOF
-SUBSYSTEM=="block", KERNEL="*[0-9]", ENV{PARTITION}="true", ENV{MAINDEVICE}="false"
-SUBSYSTEM=="block", KERNEL="*[!0-9]", ENV{PARTITION}="false", ENV{MAINDEVICE}="true"
+SUBSYSTEM=="block", KERNEL=="*[0-9]", ENV{PARTITION}="true", ENV{MAINDEVICE}="false"
+SUBSYSTEM=="block", KERNEL=="*[!0-9]", ENV{PARTITION}="false", ENV{MAINDEVICE}="true"
ENV{MAINDEVICE}=="true", NAME="disk"
ENV{PARTITION}=="true", NAME="part"
NAME="bad"
KERNEL=="sda1", NAME="", LABEL="NO"
KERNEL=="sda1", NAME="right", LABEL="TEST"
KERNEL=="sda1", NAME="wrong2"
+EOF
+ },
+ {
+ desc => "NAME compare test",
+ subsys => "block",
+ devpath => "/block/sda/sda1",
+ exp_name => "link",
+ exp_target => "node",
+ not_exp_name => "wronglink",
+ rules => <<EOF
+KERNEL=="sda1", NAME="node"
+KERNEL=="sda2", NAME="wrong"
+KERNEL=="sda1", NAME=="wrong*", SYMLINK+="wronglink"
+KERNEL=="sda1", NAME=="?*", SYMLINK+="link"
+KERNEL=="sda1", NAME=="node*", SYMLINK+="link2"
+EOF
+ },
+ {
+ desc => "NAME compare test 2",
+ subsys => "block",
+ devpath => "/block/sda/sda1",
+ exp_name => "link2",
+ exp_target => "sda1",
+ not_exp_name => "link",
+ rules => <<EOF
+KERNEL=="sda1", NAME=="?*", SYMLINK+="link"
+KERNEL=="sda1", NAME!="?*", SYMLINK+="link2"
+EOF
+ },
+ {
+ desc => "invalid key operation",
+ subsys => "block",
+ devpath => "/block/sda/sda1",
+ exp_name => "yes",
+ rules => <<EOF
+KERNEL="sda1", NAME=="no"
+KERNEL=="sda1", NAME="yes"
EOF
},
);