From 0345b8623581497f49184ffd1d8143fe20f71893 Mon Sep 17 00:00:00 2001 From: "kay.sievers@vrfy.org" Date: Tue, 14 Sep 2004 21:44:55 -0700 Subject: [PATCH] [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. --- test/udev-test.pl | 89 +++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 86 insertions(+), 3 deletions(-) diff --git a/test/udev-test.pl b/test/udev-test.pl index 9feb28a7b..590b551df 100644 --- a/test/udev-test.pl +++ b/test/udev-test.pl @@ -1015,6 +1015,74 @@ EOF exp_target => "node", conf => < "enumeration char test (single test)", + subsys => "block", + devpath => "/block/sda", + exp_name => "cdrom", + conf => < "enumeration char test sequence (1/5 keep)", + subsys => "block", + devpath => "/block/sda", + exp_name => "cdrom", + option => "keep", + conf => < "enumeration char test sequence 2/5 (keep)", + subsys => "block", + devpath => "/block/sda/sda1", + exp_name => "enum", + option => "keep", + conf => < "enumeration char test sequence 3/5 (keep)", + subsys => "block", + devpath => "/block/sda/sda2", + exp_name => "cdrom1", + option => "keep", + conf => < "enumeration char test sequence 4/5 (keep)", + subsys => "block", + devpath => "/block/sda/sda3", + exp_name => "enum1", + option => "keep", + conf => < "enumeration char test sequence 5/5 (clean)", + subsys => "block", + devpath => "/block/sda/sda4", + exp_name => "cdrom2", + option => "clear", + conf => < "enumeration char test after cleanup (single test)", + subsys => "block", + devpath => "/block/sda", + exp_name => "cdrom", + conf => <{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++; - } } -- 2.30.2