You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
2.0 KiB
62 lines
2.0 KiB
From 9aa12f2f564c208c4c1eaef613d18d1c0b481a16 Mon Sep 17 00:00:00 2001
|
|
From: Martin Wilck <mwilck@suse.com>
|
|
Date: Mon, 23 Apr 2018 21:58:12 +0200
|
|
Subject: [PATCH] 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
|
|
---
|
|
test/udev-test.pl | 13 +++++++++----
|
|
1 file 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++;
|