From 5c8ce99fc02ca60d412b70bb260c4a09ac5dd249 Mon Sep 17 00:00:00 2001 From: Mike Taylor Date: Wed, 29 Nov 2006 11:06:29 +0000 Subject: [PATCH] Better diagnostics. --- lib/ZOOM/IRSpy/Test/Record/Fetch.pm | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/lib/ZOOM/IRSpy/Test/Record/Fetch.pm b/lib/ZOOM/IRSpy/Test/Record/Fetch.pm index b63c22e..c6b489f 100644 --- a/lib/ZOOM/IRSpy/Test/Record/Fetch.pm +++ b/lib/ZOOM/IRSpy/Test/Record/Fetch.pm @@ -1,4 +1,4 @@ -# $Id: Fetch.pm,v 1.15 2006-11-14 16:18:51 mike Exp $ +# $Id: Fetch.pm,v 1.16 2006-11-29 11:06:29 mike Exp $ # See the "Main" test package for documentation @@ -72,29 +72,25 @@ sub record { my $syn = $test_args->{'syntax'}; my $rs = $task->{rs}; - # Due to a bug in ZOOM-C (as of YAZ 2.1.38 of 31st October 2006), - # diagnostics in Present responses are not reported, so that we - # always end up in this callback rather than in error() where we - # should be. Luckily, we can test whether the retrieval really - # did work by rendering the record, which will yield an undefined - # result if the fetch failed. my $record = _fetch_record($rs, 0, $syn); - my $text = $record->render(); - if (defined $text) { + my $ok = 0; + if ($record->error()) { + $conn->log("irspy_test", "retrieval of $syn record failed: ", + $record->exception()); + } else { + $ok = 1; + my $text = $record->render(); $conn->log("irspy_test", "Successfully retrieved a $syn record"); if (0) { print STDERR "Hits: ", $rs->size(), "\n"; print STDERR "Syntax: ", $syn, "\n"; print STDERR $text; } - } else { - $conn->log("irspy_test", "Retrieval of $syn record failed: ", - "(exception unavailable)"); } $conn->record()->store_result('record_fetch', 'syntax' => $syn, - 'ok' => defined $text ? 1 : 0); + 'ok' => $ok); return ZOOM::IRSpy::Status::TASK_DONE; } -- 1.7.10.4