Support reporting current time in selftest output.
[ira/wip.git] / selftest / output / plain.pm
index 82a73ab932426c0b9ce194ddfd7037b2eee3869c..26056038f53d0facf7c44fb35be83668343904f0 100644 (file)
@@ -1,5 +1,19 @@
 #!/usr/bin/perl
-
+# Plain text output for selftest
+# Copyright (C) 2008 Jelmer Vernooij <jelmer@samba.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 package output::plain;
 use Exporter;
 @ISA = qw(Exporter);
@@ -15,7 +29,7 @@ sub new($$$$$$$) {
                verbose => $verbose, 
                immediate => $immediate, 
                statistics => $statistics,
-               start_time => time(),
+               start_time => undef,
                test_output => {},
                suitesfailed => [],
                suites_ok => 0,
@@ -27,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($$)
@@ -35,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};