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.
systemd/SOURCES/0542-test-udev_test.pl-add-...

79 lines
2.4 KiB

From e0cee95e0cc401ce120a1b56cdb7a8b9afbd6bcf Mon Sep 17 00:00:00 2001
From: Martin Wilck <mwilck@suse.com>
Date: Thu, 26 Apr 2018 14:07:27 +0200
Subject: [PATCH] test/udev_test.pl: add "expected good" count
Since 'test/udev-test.pl: count "good" results', we know how many
checks succeeded. Add an "expected good" count to make that number
more meaningful.
(cherry picked from commit cbeb23d863d540408cd1fb274d78213f59639df2)
Related: #1642728
---
test/udev-test.pl | 21 +++++++++++++++++++--
1 file changed, 19 insertions(+), 2 deletions(-)
diff --git a/test/udev-test.pl b/test/udev-test.pl
index 33a76ad292..cf6ca6b80c 100755
--- a/test/udev-test.pl
+++ b/test/udev-test.pl
@@ -2338,6 +2338,7 @@ sub udev {
my $error = 0;
my $good = 0;
+my $exp_good = 0;
sub permissions_test {
my($rules, $uid, $gid, $mode) = @_;
@@ -2685,12 +2686,27 @@ sub run_test {
my ($rules, $number, $sema) = @_;
my $rc;
my @devices;
+ my $ntests;
+ my $cur_good = $good;
+ my $cur_error = $error;
if (!defined $rules->{devices}) {
$rules->{devices} = all_block_devs($rules->{generator});
}
@devices = @{$rules->{devices}};
+ # For each device: exit status and devnode test for add & remove
+ $ntests += 4 * ($#devices + 1);
+ foreach my $dev (@devices) {
+ $ntests += 2 * ($#{$dev->{exp_links}} + 1)
+ + ($#{$dev->{not_exp_links}} + 1)
+ + (defined $dev->{exp_perms} ? 1 : 0)
+ + (defined $dev->{exp_majorminor} ? 1 : 0);
+ }
+ if (defined $rules->{repeat}) {
+ $ntests *= $rules->{repeat};
+ }
+ $exp_good += $ntests;
print "TEST $number: $rules->{desc}\n";
create_rules(\$rules->{rules});
@@ -2712,10 +2728,11 @@ sub run_test {
check_remove($dev);
}
- print "\n";
if (defined($rules->{repeat}) && --($rules->{repeat}) > 0) {
goto REPEAT;
}
+ printf "TEST $number: errors: %d good: %d/%d\n\n", $error-$cur_error,
+ $good-$cur_good, $ntests;
if (defined($rules->{option}) && $rules->{option} eq "clean") {
udev_setup();
@@ -2794,7 +2811,7 @@ if ($list[0]) {
}
$sema->remove;
-print "$error errors occurred. $good good results.\n\n";
+print "$error errors occurred. $good/$exp_good good results.\n\n";
cleanup();