]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test/udev-test.pl: create rules only once
authorMartin Wilck <mwilck@suse.com>
Mon, 23 Apr 2018 19:58:12 +0000 (21:58 +0200)
committerMichal Sekletár <msekleta@redhat.com>
Mon, 2 Nov 2020 10:43:14 +0000 (11:43 +0100)
It's not necessary to write the rules for every udev run, as we
now may have many (rather than just 2) per test.

test/udev-test.pl

index cf7c7e0bcd9515fa75ad88cdaec4078d526fbe2b..1714b9c7da64f89da8d1a7b949d2ae960097cc9d 100755 (executable)
@@ -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++;