-# $Id: Fetch.pm,v 1.17 2006-12-08 11:57:51 mike Exp $
+# $Id: Fetch.pm,v 1.21 2007-02-13 14:35:04 mike Exp $
# See the "Main" test package for documentation
my @queries = (
"\@attr 1=4 mineral",
"\@attr 1=4 computer",
+ "\@attr 1=44 mineral", # Smithsonian doesn't support AP 4!
### We can add more queries here
);
# But how? So far we search for title: 1=4
$conn->irspy_search_pqf($queries[0], { queryindex => 0 }, {},
ZOOM::Event::RECV_SEARCH, \&completed_search,
- exception => \&error);
+ exception => \&completed_search);
}
my $n = $task->{rs}->size();
$conn->log("irspy_test", "Fetch test search found $n records");
if ($n == 0) {
- my $n = $udata->{queryindex}+1;
- my $q = $queries[$n];
- if (defined $q) {
- $conn->log("irspy_test", "Trying another search ...");
- $conn->irspy_search_pqf($queries[$n], { queryindex => $n }, {},
- ZOOM::Event::RECV_SEARCH, \&completed_search,
- exception => \&error);
- return ZOOM::IRSpy::Status::TASK_DONE;
- } else {
- return ZOOM::IRSpy::Status::TEST_SKIPPED;
- }
+ my $qindex = $udata->{queryindex}+1;
+ my $q = $queries[$qindex];
+ return ZOOM::IRSpy::Status::TEST_SKIPPED
+ if !defined $q;
+
+ $conn->log("irspy_test", "Trying another search ...");
+ $conn->irspy_search_pqf($queries[$qindex], { queryindex => $n }, {},
+ ZOOM::Event::RECV_SEARCH, \&completed_search,
+ exception => \&completed_search);
+ return ZOOM::IRSpy::Status::TASK_DONE;
}
my @syntax = (
{ start => 0, count => 1,
preferredRecordSyntax => $syntax },
ZOOM::Event::RECV_RECORD, \&record,
- exception => \&error);
+ exception => \&fetch_error);
}
return ZOOM::IRSpy::Status::TASK_DONE;
}
-sub error {
+sub __UNUSED_search_error {
+ my($conn, $task, $test_args, $exception) = @_;
+
+ $conn->log("irspy_test", "Initial search failed: ", $exception);
+ return ZOOM::IRSpy::Status::TEST_SKIPPED;
+}
+
+
+sub fetch_error {
my($conn, $task, $test_args, $exception) = @_;
my $syn = $test_args->{'syntax'};