1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2024-10-26 08:55:18 +03:00

[PATCH] add enum tests

On Fri, Sep 10, 2004 at 01:09:07PM -0700, Greg KH wrote:
> On Tue, Sep 07, 2004 at 01:19:34PM +0200, David Zeuthen wrote:
> >
> >         KERNEL="sr*", NAME="%k", SYMLINK="cdrom%e"
> >         KERNEL="scd*", NAME="%k", SYMLINK="cdrom%e"
> >         KERNEL="pcd*", NAME="%k", SYMLINK="cdrom%e"
> >         KERNEL="hd[a-z]", PROGRAM="/bin/cat /proc/ide/%k/media", RESULT="cdrom", NAME="\%k", SYMLINK="cdrom%e"
> >         KERNEL="fd[0-9]", NAME="%k", SYMLINK="floppy%e"
> >         KERNEL="hd[a-z]", PROGRAM="/bin/cat /proc/ide/%k/media", RESULT="floppy", NAME=\"%k", SYMLINK="floppy%e"
> >
> > New patch is attached.
>
> Nice, I've applied this.
>
> How about sending a patch for the test/udev-test.pl script that adds a
> test for this new paramater, so we make sure to not break it in the
> future.

Here are the tests for the enumeration character %e. I've added a option
string to be able to do a whole sequence of tests without node removal,
so we can skip the "remove" event and get an increasing number to append
to the name. After the sequence test the whole directory is cleaned for
the next tests.
This commit is contained in:
kay.sievers@vrfy.org 2004-09-14 21:44:55 -07:00 committed by Greg KH
parent 3db7fa2702
commit 0345b86235

View File

@ -1015,6 +1015,74 @@ EOF
exp_target => "node",
conf => <<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",
conf => <<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",
conf => <<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",
conf => <<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",
conf => <<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",
conf => <<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 => "clear",
conf => <<EOF
KERNEL="sda4", NAME="cdrom%e"
EOF
},
{
desc => "enumeration char test after cleanup (single test)",
subsys => "block",
devpath => "/block/sda",
exp_name => "cdrom",
conf => <<EOF
KERNEL="sda", NAME="cdrom%e"
EOF
},
);
@ -1160,6 +1228,11 @@ sub run_test {
}
}
if (defined($config->{option}) && $config->{option} eq "keep") {
print "\n\n";
return;
}
udev("remove", $config->{subsys}, $config->{devpath}, \$config->{conf});
if ((-e "$PWD/$udev_root$config->{exp_name}") ||
(-l "$PWD/$udev_root$config->{exp_name}")) {
@ -1175,6 +1248,13 @@ sub run_test {
} else {
print "remove: ok\n\n";
}
if (defined($config->{option}) && $config->{option} eq "clear") {
unlink($udev_db);
system("rm -rf $udev_root");
mkdir($udev_root) || die "unable to create udev_root: $udev_root\n";
}
}
# prepare
@ -1194,9 +1274,13 @@ my $test_num = 1;
if ($ARGV[0]) {
# only run one test
$test_num = $ARGV[0];
print "udev-test will run test number $test_num only\n";
run_test($tests[$test_num-1], $test_num);
if (defined($tests[$test_num-1]->{desc})) {
print "udev-test will run test number $test_num only:\n\n";
run_test($tests[$test_num-1], $test_num);
} else {
print "test does not exist.\n";
}
} else {
# test all
print "\nudev-test will run ".($#tests + 1)." tests:\n\n";
@ -1204,7 +1288,6 @@ if ($ARGV[0]) {
foreach my $config (@tests) {
run_test($config, $test_num);
$test_num++;
}
}