mirror of
https://github.com/systemd/systemd.git
synced 2024-12-23 21:35:11 +03:00
[PATCH] let udev-test.pl run an individual test if you ask it to.
just put the test number on the command line: udev-test.pl 3 will run test number 3 If no test number is specified, all of the tests will be run, just like before.
This commit is contained in:
parent
1b9410278e
commit
2e31718495
@ -90,6 +90,16 @@ EOF
|
||||
expected => "visor/0" ,
|
||||
conf => <<EOF
|
||||
KERNEL="ttyUSB*", NAME="visor/%n"
|
||||
EOF
|
||||
},
|
||||
{
|
||||
desc => "catch device by * - take 2",
|
||||
subsys => "tty",
|
||||
devpath => "class/tty/ttyUSB0",
|
||||
expected => "visor/0" ,
|
||||
conf => <<EOF
|
||||
KERNEL="*USB1", NAME="bad"
|
||||
KERNEL="*USB0", NAME="visor/%n"
|
||||
EOF
|
||||
},
|
||||
{
|
||||
@ -360,25 +370,12 @@ sub udev {
|
||||
system("$udev_bin $subsys");
|
||||
}
|
||||
|
||||
|
||||
# prepare
|
||||
system("rm -rf $udev_root");
|
||||
mkdir($udev_root) || die "unable to create udev_root: $udev_root\n";
|
||||
|
||||
# test
|
||||
my $error = 0;
|
||||
print "\nudev-test will run ".($#tests + 1)." tests:\n\n";
|
||||
|
||||
# create initial config file
|
||||
open CONF, ">$main_conf" || die "unable to create config file: $main_conf";
|
||||
print CONF "udev_root=\"$udev_root\"\n";
|
||||
print CONF "udev_db=\"$udev_db\"\n";
|
||||
print CONF "udev_rules=\"$conf_tmp\"\n";
|
||||
print CONF "udev_permissions=\"$perm\"\n";
|
||||
close CONF;
|
||||
|
||||
foreach my $config (@tests) {
|
||||
print "TEST: $config->{desc}\n";
|
||||
sub run_test {
|
||||
my ($config, $number) = @_;
|
||||
|
||||
print "TEST $number: $config->{desc}\n";
|
||||
print "device \'$config->{devpath}\' expecting node \'$config->{expected}\'\n";
|
||||
|
||||
udev("add", $config->{subsys}, $config->{devpath}, \$config->{conf});
|
||||
@ -402,6 +399,37 @@ foreach my $config (@tests) {
|
||||
}
|
||||
}
|
||||
|
||||
# prepare
|
||||
system("rm -rf $udev_root");
|
||||
mkdir($udev_root) || die "unable to create udev_root: $udev_root\n";
|
||||
|
||||
# create initial config file
|
||||
open CONF, ">$main_conf" || die "unable to create config file: $main_conf";
|
||||
print CONF "udev_root=\"$udev_root\"\n";
|
||||
print CONF "udev_db=\"$udev_db\"\n";
|
||||
print CONF "udev_rules=\"$conf_tmp\"\n";
|
||||
print CONF "udev_permissions=\"$perm\"\n";
|
||||
close CONF;
|
||||
|
||||
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], $test_num);
|
||||
} else {
|
||||
# test all
|
||||
print "\nudev-test will run ".($#tests + 1)." tests:\n\n";
|
||||
|
||||
foreach my $config (@tests) {
|
||||
run_test($config, $test_num);
|
||||
$test_num++;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
print "$error errors occured\n\n";
|
||||
|
||||
# cleanup
|
||||
|
Loading…
Reference in New Issue
Block a user