-# $Id: Test.pm,v 1.1 2006-06-20 16:32:42 mike Exp $
+# $Id: Test.pm,v 1.4 2006-10-06 11:33:07 mike Exp $
package ZOOM::IRSpy::Test;
use strict;
use warnings;
+use Exporter 'import';
+our @EXPORT = qw(isodate);
+
=head1 NAME
ZOOM::IRSpy::Test - base class for tests in IRSpy
=head1 SYNOPSIS
- ### To follow
+ ## To follow
=head1 DESCRIPTION
-I<### To follow>
+I<## To follow>
=cut
-sub new {
- my $class = shift();
- my($irspy) = @_;
-
- return bless {
- irspy => $irspy,
- }, $class;
-}
-
-
-sub irspy {
- my $this = shift();
- return $this->{irspy};
-}
+sub subtests { () }
+sub start {
+ my $class = shift();
+ my($conn) = @_;
-sub run {
- my $this = shift();
- die "can't run the base-class test";
+ die "can't start the base-class test";
}
-### Could include loop detection
-sub run_tests {
- my $this = shift();
- my @tname = @_;
- my $res = 0;
- foreach my $tname (@tname) {
- my $sub = $this->irspy()->_run_test($tname);
- $res = $sub if $sub > $res;
- }
+# Utility function, really nothing to do with IRSpy
+sub isodate {
+ my($time) = @_;
- return $res;
+ my($sec, $min, $hour, $mday, $mon, $year) = localtime($time);
+ return sprintf("%04d-%02d-%02dT%02d:%02d:%02d",
+ $year+1900, $mon+1, $mday, $hour, $min, $sec);
}