From e0cee95e0cc401ce120a1b56cdb7a8b9afbd6bcf Mon Sep 17 00:00:00 2001 From: Martin Wilck 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();