summaryrefslogtreecommitdiff
path: root/selftest
diff options
context:
space:
mode:
Diffstat (limited to 'selftest')
-rw-r--r--selftest/output/html.pm10
-rw-r--r--selftest/output/plain.pm13
-rw-r--r--selftest/output/subunit.pm7
-rwxr-xr-xselftest/selftest.pl9
4 files changed, 32 insertions, 7 deletions
diff --git a/selftest/output/html.pm b/selftest/output/html.pm
index e490765d06..d4d8204ea8 100644
--- a/selftest/output/html.pm
+++ b/selftest/output/html.pm
@@ -138,7 +138,7 @@ sub end_testsuite($$$$)
print TEST "</table>\n";
- print TEST "<div class=\"duration\">Duration: " . (time() - $self->{START_TIME}) . "s</div>\n";
+ print TEST "<div class=\"duration\">Duration: " . ($self->{last_time} - $self->{START_TIME}) . "s</div>\n";
$self->print_html_footer(*TEST);
@@ -192,12 +192,18 @@ sub end_testsuite($$$$)
print INDEX "</tr>\n";
}
+sub report_time($$)
+{
+ my ($self, $time) = @_;
+ $self->{last_time} = $time;
+}
+
sub start_test($$)
{
my ($self, $parents, $testname) = @_;
if ($#$parents == -1) {
- $self->{START_TIME} = time();
+ $self->{START_TIME} = $self->{last_time};
$self->start_testsuite($testname);
return;
}
diff --git a/selftest/output/plain.pm b/selftest/output/plain.pm
index 5312a9e27b..26056038f5 100644
--- a/selftest/output/plain.pm
+++ b/selftest/output/plain.pm
@@ -29,7 +29,7 @@ sub new($$$$$$$) {
verbose => $verbose,
immediate => $immediate,
statistics => $statistics,
- start_time => time(),
+ start_time => undef,
test_output => {},
suitesfailed => [],
suites_ok => 0,
@@ -41,6 +41,15 @@ sub new($$$$$$$) {
bless($self, $class);
}
+sub report_time($$)
+{
+ my ($self, $time) = @_;
+ unless ($self->{start_time}) {
+ $self->{start_time} = $time;
+ }
+ $self->{last_time} = $time;
+}
+
sub output_msg($$);
sub start_testsuite($$)
@@ -49,7 +58,7 @@ sub start_testsuite($$)
$self->{index}++;
$self->{NAME} = $name;
- $self->{START_TIME} = time();
+ $self->{START_TIME} = $self->{last_time};
my $duration = $self->{START_TIME} - $self->{start_time};
diff --git a/selftest/output/subunit.pm b/selftest/output/subunit.pm
index 720fe7285c..e99b76c1b9 100644
--- a/selftest/output/subunit.pm
+++ b/selftest/output/subunit.pm
@@ -33,6 +33,13 @@ sub new($) {
bless($self, $class);
}
+sub report_time($$)
+{
+ my ($self, $time) = @_;
+ my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime($time);
+ printf "time: %04d-%02d-%02d %02d:%02d:%02dZ\n", $year+1900, $mon, $mday, $hour, $min, $sec;
+}
+
sub start_testsuite($$)
{
my ($self, $name) = @_;
diff --git a/selftest/selftest.pl b/selftest/selftest.pl
index 7e64208ff3..b786c9a50f 100755
--- a/selftest/selftest.pl
+++ b/selftest/selftest.pl
@@ -1,6 +1,6 @@
#!/usr/bin/perl
# Bootstrap Samba and run a number of tests against it.
-# Copyright (C) 2005-2008 Jelmer Vernooij <jelmer@samba.org>
+# Copyright (C) 2005-2009 Jelmer Vernooij <jelmer@samba.org>
# Copyright (C) 2007-2009 Stefan Metzmacher <metze@samba.org>
# This program is free software; you can redistribute it and/or modify
@@ -254,6 +254,7 @@ sub run_testsuite($$$$$$)
my ($envname, $name, $cmd, $i, $totalsuites, $msg_ops) = @_;
my $pcap_file = setup_pcap($name);
+ $msg_ops->report_time(time());
$msg_ops->start_test([], $name);
unless (open(RESULT, "$cmd 2>&1|")) {
@@ -276,6 +277,7 @@ sub run_testsuite($$$$$$)
my $exitcode = $? >> 8;
+ $msg_ops->report_time(time());
if ($ret == 1) {
$msg_ops->end_test([], $name, "success", $expected_ret != $ret, undef);
} else {
@@ -692,7 +694,7 @@ if ($opt_format eq "buildfarm") {
} else {
die("Invalid output format '$opt_format'");
}
-
+$msg_ops->report_time(time());
foreach (@available) {
my $name = $$_[0];
@@ -886,7 +888,8 @@ $envvarstr
my $envvars = setup_env($envname);
if (not defined($envvars)) {
- $msg_ops->skip_testsuite($name, "unable to set up environment $envname");
+ $msg_ops->skip_testsuite($name,
+ "unable to set up environment $envname");
next;
}