Modified:
trunk/tester/run-tests
Log:
Add a summary to the end of run-tests so it's easier to see what failed.
Modified: trunk/tester/run-tests
==============================================================================
--- trunk/tester/run-tests (original)
+++ trunk/tester/run-tests Fri May 16 16:07:41 2008
@@ -9,7 +9,7 @@
my $have_paranoid_agent;
BEGIN {
- $have_paranoid_agent = eval "use LWPx::ParanoidAgent; 1;";
+ $have_paranoid_agent = 0; #eval "use LWPx::ParanoidAgent; 1;";
}
my ($op_base, $rp_base, $base);
@@ -42,9 +42,14 @@
my @test_classes = qw(OPCaps
RPCaps
+ Discovery
CheckID
);
+my @passed;
+my @failed;
+my @skipped;
+
CLASS:
foreach my $partial_class (@test_classes) {
print "$partial_class ...\n";
@@ -65,23 +70,24 @@
if ($test->needs_rp) {
if (! $rp_base) {
print " ... skipped (no RP base configured)\n";
+ skipped($test, "no RP base configured");
next TEST;
}
foreach my $cap ($test->needed_rp_caps) {
unless ($tester->has_rp_cap($cap)) {
- print " ... skipped (RP lacks capability '$cap')\n";
+ skipped($test, "RP lacks capability '$cap'");
next TEST;
}
}
}
if ($test->needs_op) {
if (! $op_base) {
- print " ... skipped (no OP base configured)\n";
+ skipped($test, 'no OP base configured');
next TEST;
}
foreach my $cap ($test->needed_op_caps) {
unless ($tester->has_op_cap($cap)) {
- print " ... skipped (OP lacks capability '$cap')\n";
+ skipped($test, "OP lacks capbility '$cap'");
next TEST;
}
}
@@ -89,15 +95,39 @@
my $results = eval { $test->run; } || "";
if ($results) {
- print " ... pass\n";
+ passed($test);
} else {
my $errmsg = $@;
$errmsg =~ s!\s+$!!;
- print " ... FAIL: $errmsg\n";
+ failed($test, $errmsg);
}
}
}
+print "\n\n".scalar(@passed)." tests passed, while ".scalar(@failed)."
failed and ".scalar(@skipped)." were skipped\n\n";
+
+if (@failed) {
+ print "Failed tests:\n";
+ foreach my $result (@failed) {
+ my ($test, $reason) = @$result;
+ print " * ".$test->summary.": $reason\n";
+ }
+}
+sub passed {
+ my ($test) = @_;
+ push @passed, [ $_[0] ];
+ print " ... passed\n";
+}
+sub failed {
+ my ($test, $reason) = @_;
+ push @failed, [ $_[0], $reason ];
+ print " ... FAILED ($reason)\n";
+}
+sub skipped {
+ my ($test, $reason) = @_;
+ push @skipped, [ $_[0], $reason ];
+ print " ... skipped ($reason)\n";
+}