From: Martin Wilck Date: Mon, 23 Apr 2018 19:58:12 +0000 (+0200) Subject: test/udev-test.pl: create rules only once X-Git-Tag: v247-rc2~12^2~20 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=af7ee3eae689f9c31b49ea13758ad9c901918ce3;p=thirdparty%2Fsystemd.git 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. --- diff --git a/test/udev-test.pl b/test/udev-test.pl index cf7c7e0bcd9..1714b9c7da6 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++;