test/udev-test.pl: create rules only once
It's not necessary to write the rules for every udev run, as we now may have many (rather than just 2) per test.
This commit is contained in:
committed by
Michal Sekletár
parent
255c05b724
commit
af7ee3eae6
+9
-4
@@ -2069,14 +2069,18 @@ EOF
|
||||
},
|
||||
);
|
||||
|
||||
sub udev {
|
||||
my ($action, $devpath, $rules) = @_;
|
||||
sub create_rules {
|
||||
my ($rules) = @_;
|
||||
|
||||
# create temporary rules
|
||||
system("mkdir", "-p", "$udev_rules_dir");
|
||||
open CONF, ">$udev_rules" || die "unable to create rules file: $udev_rules";
|
||||
print CONF $$rules;
|
||||
close CONF;
|
||||
}
|
||||
|
||||
sub udev {
|
||||
my ($action, $devpath) = @_;
|
||||
|
||||
if ($valgrind > 0) {
|
||||
return system("$udev_bin_valgrind $action $devpath");
|
||||
@@ -2259,9 +2263,10 @@ sub run_test {
|
||||
my @devices = @{$rules->{devices}};
|
||||
|
||||
print "TEST $number: $rules->{desc}\n";
|
||||
create_rules(\$rules->{rules});
|
||||
foreach my $dev (@devices) {
|
||||
print "device \'$dev->{devpath}\' expecting node/link \'$dev->{exp_name}\'\n";
|
||||
$rc = udev("add", $dev->{devpath}, \$rules->{rules});
|
||||
$rc = udev("add", $dev->{devpath});
|
||||
if ($rc != 0) {
|
||||
print "$udev_bin add failed with code $rc\n";
|
||||
$error++;
|
||||
@@ -2278,7 +2283,7 @@ sub run_test {
|
||||
}
|
||||
|
||||
foreach my $dev (@devices) {
|
||||
$rc = udev("remove", $dev->{devpath}, \$rules->{rules});
|
||||
$rc = udev("remove", $dev->{devpath});
|
||||
if ($rc != 0) {
|
||||
print "$udev_bin remove failed with code $rc\n";
|
||||
$error++;
|
||||
|
||||
Reference in New Issue
Block a user