summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Wilck <mwilck@suse.com>2018-04-23 21:58:12 +0200
committerThe Plumber <50238977+systemd-rhel-bot@users.noreply.github.com>2021-01-25 15:05:18 +0100
commit9aa12f2f564c208c4c1eaef613d18d1c0b481a16 (patch)
treefaa1f516beb1a45e4dfe6a47c7eed9fecbda88f7
parent3f90eeef6a8469de6ad490efb62a5be80188f41f (diff)
downloadsystemd-9aa12f2f564c208c4c1eaef613d18d1c0b481a16.tar.gz
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. (cherry picked from commit af7ee3eae689f9c31b49ea13758ad9c901918ce3) Related: #1642728
-rwxr-xr-xtest/udev-test.pl13
1 files changed, 9 insertions, 4 deletions
diff --git a/test/udev-test.pl b/test/udev-test.pl
index bd5401da75..8b5a97ad61 100755
--- a/test/udev-test.pl
+++ b/test/udev-test.pl
@@ -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++;