From d18f6c2cbf1d5afff1d16a0524581d8cccd2ddb9 Mon Sep 17 00:00:00 2001 From: Mike Taylor Date: Tue, 20 Jun 2006 16:32:42 +0000 Subject: [PATCH] New --- lib/ZOOM/IRSpy/Test.pm | 77 ++++++++++++++++++++++++++++++++++++ lib/ZOOM/IRSpy/Test/Main.pm | 53 +++++++++++++++++++++++++ lib/ZOOM/IRSpy/Test/Ping.pm | 91 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 221 insertions(+) create mode 100644 lib/ZOOM/IRSpy/Test.pm create mode 100644 lib/ZOOM/IRSpy/Test/Main.pm create mode 100644 lib/ZOOM/IRSpy/Test/Ping.pm diff --git a/lib/ZOOM/IRSpy/Test.pm b/lib/ZOOM/IRSpy/Test.pm new file mode 100644 index 0000000..d306b29 --- /dev/null +++ b/lib/ZOOM/IRSpy/Test.pm @@ -0,0 +1,77 @@ +# $Id: Test.pm,v 1.1 2006-06-20 16:32:42 mike Exp $ + +package ZOOM::IRSpy::Test; + +use 5.008; +use strict; +use warnings; + +=head1 NAME + +ZOOM::IRSpy::Test - base class for tests in IRSpy + +=head1 SYNOPSIS + + ### To follow + +=head1 DESCRIPTION + +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 run { + my $this = shift(); + die "can't run 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; + } + + return $res; +} + + +=head1 SEE ALSO + +ZOOM::IRSpy + +=head1 AUTHOR + +Mike Taylor, Emike@indexdata.comE + +=head1 COPYRIGHT AND LICENSE + +Copyright (C) 2006 by Index Data ApS. + +This library is free software; you can redistribute it and/or modify +it under the same terms as Perl itself, either Perl version 5.8.7 or, +at your option, any later version of Perl 5 you may have available. + +=cut + +1; diff --git a/lib/ZOOM/IRSpy/Test/Main.pm b/lib/ZOOM/IRSpy/Test/Main.pm new file mode 100644 index 0000000..027da6b --- /dev/null +++ b/lib/ZOOM/IRSpy/Test/Main.pm @@ -0,0 +1,53 @@ +# $Id: Main.pm,v 1.1 2006-06-20 16:32:42 mike Exp $ + +package ZOOM::IRSpy::Test::Main; + +use 5.008; +use strict; +use warnings; + +use ZOOM::IRSpy::Test; +our @ISA; +@ISA = qw(ZOOM::IRSpy::Test); + + +=head1 NAME + +ZOOM::IRSpy::Test::Main - a single test for IRSpy + +=head1 SYNOPSIS + + ### To follow + +=head1 DESCRIPTION + +I<### To follow> + +=cut + +sub run { + my $this = shift(); + + return $this->run_tests("Ping"); +} + + +=head1 SEE ALSO + +ZOOM::IRSpy + +=head1 AUTHOR + +Mike Taylor, Emike@indexdata.comE + +=head1 COPYRIGHT AND LICENSE + +Copyright (C) 2006 by Index Data ApS. + +This library is free software; you can redistribute it and/or modify +it under the same terms as Perl itself, either Perl version 5.8.7 or, +at your option, any later version of Perl 5 you may have available. + +=cut + +1; diff --git a/lib/ZOOM/IRSpy/Test/Ping.pm b/lib/ZOOM/IRSpy/Test/Ping.pm new file mode 100644 index 0000000..402a98e --- /dev/null +++ b/lib/ZOOM/IRSpy/Test/Ping.pm @@ -0,0 +1,91 @@ +# $Id: Ping.pm,v 1.1 2006-06-20 16:32:42 mike Exp $ + +# See the "Main" test package for documentation + +package ZOOM::IRSpy::Test::Ping; + +use 5.008; +use strict; +use warnings; + +use ZOOM::IRSpy::Test; +our @ISA; +@ISA = qw(ZOOM::IRSpy::Test); + + +sub run { + my $this = shift(); + + print "Running 'Ping' test\n"; + ### Now actually do it + return 0; +} + + +# Some of this Pod-using code may be useful. +# +#my $pod = new ZOOM::Pod(@ARGV); +#$pod->option(elementSetName => "b"); +#$pod->callback(ZOOM::Event::RECV_SEARCH, \&completed_search); +#$pod->callback(ZOOM::Event::RECV_RECORD, \&got_record); +##$pod->callback(exception => \&exception_thrown); +#$pod->search_pqf("the"); +#my $err = $pod->wait(); +#die "$pod->wait() failed with error $err" if $err; +# +#sub completed_search { +# my($conn, $state, $rs, $event) = @_; +# print $conn->option("host"), ": found ", $rs->size(), " records\n"; +# $state->{next_to_fetch} = 0; +# $state->{next_to_show} = 0; +# request_records($conn, $rs, $state, 2); +# return 0; +#} +# +#sub got_record { +# my($conn, $state, $rs, $event) = @_; +# +# { +# # Sanity-checking assertions. These should be impossible +# my $ns = $state->{next_to_show}; +# my $nf = $state->{next_to_fetch}; +# if ($ns > $nf) { +# die "next_to_show > next_to_fetch ($ns > $nf)"; +# } elsif ($ns == $nf) { +# die "next_to_show == next_to_fetch ($ns)"; +# } +# } +# +# my $i = $state->{next_to_show}++; +# my $rec = $rs->record($i); +# print $conn->option("host"), ": record $i is ", render_record($rec), "\n"; +# request_records($conn, $rs, $state, 3) +# if $i == $state->{next_to_fetch}-1; +# +# return 0; +#} +# +#sub exception_thrown { +# my($conn, $state, $rs, $exception) = @_; +# print "Uh-oh! $exception\n"; +# return 0; +#} +# +#sub request_records { +# my($conn, $rs, $state, $count) = @_; +# +# my $i = $state->{next_to_fetch}; +# ZOOM::Log::log("irspy", "requesting $count records from $i"); +# $rs->records($i, $count, 0); +# $state->{next_to_fetch} += $count; +#} +# +#sub render_record { +# my($rec) = @_; +# +# return "undefined" if !defined $rec; +# return "'" . $rec->render() . "'"; +#} + + +1; -- 1.7.10.4