Test is BAD if database is unavailable.
[irspy-moved-to-github.git] / lib / ZOOM / IRSpy / Test / Search / Bib1.pm
index a7d4a64..4628f14 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Bib1.pm,v 1.13 2006-10-26 10:24:20 sondberg Exp $
+# $Id: Bib1.pm,v 1.17 2007-02-28 17:32:48 mike Exp $
 
 # See the "Main" test package for documentation
 
@@ -24,7 +24,7 @@ sub start {
     foreach my $attr (@attrs) {
        $conn->irspy_search_pqf("\@attr 1=$attr mineral",
                                 {'attr' => $attr}, {},
-                               ZOOM::Event::RECV_SEARCH, \&found,
+                               ZOOM::Event::ZEND, \&found,
                                exception => \&error);
     }
 }
@@ -51,13 +51,17 @@ sub error {
               $exception);
     update($conn, $attr, 0);
 
+    return ZOOM::IRSpy::Status::TEST_BAD
+       if ($exception->code() == 1 || # permanent system error
+           $exception->code() == 109); # Database unavailable
+
     return ZOOM::IRSpy::Status::TASK_DONE;
 }
 
 
 sub update {
     my ($conn, $attr, $ok) = @_;
-    $conn->record()->store_result('search', 'set'       => 'bib1',
+    $conn->record()->store_result('search', 'set'       => 'bib-1',
                                             'ap'        => $attr,
                                             'ok'        => $ok);
 }