-%# $Id: check.mc,v 1.4 2006-09-23 07:13:43 mike Exp $
<%args>
@id
+$test => "Quick"
+$really => 0
+$YAZ_LOG => "irspy,irspy_test"
</%args>
<%perl>
+my @rulesFiles = ("dallas.rules");
+
my $allTargets = (@id == 1 && $id[0] eq "");
+if ($allTargets && !$really) {
+</%perl>
+ <h2>Warning</h2>
+ <p class="error">
+ Testing all the targets is a very slow process.
+ Are you sure you want to do this?
+ </p>
+ <p>
+ <a href="?really=1&test=Quick">Yes: Quick Test</a><br/>
+ <a href="?really=1&test=Main">Yes: Full Test</a><br/>
+ <a href="/">No</a><br/>
+ </p>
+<%perl>
+} else {
+
print "<h2>Testing ...</h2>\n";
-my $spy = new ZOOM::IRSpy("localhost:3313/IR-Explain---1",
- admin => "fruitbat");
-print " <ul>\n", join("", map { " <li>$_\n" } @id), "</ul>\n"
+print " <ul>\n", join("", map { " <li>$_</li>\n" } @id), "</ul>\n"
if !$allTargets;
+print "<p>Logging: <tt>", join("/", split /,/, $YAZ_LOG), "</tt></p>\n";
+$m->flush_buffer();
-ZOOM::Log::mask_str("irspy,irspy_test"); # Do we need this?
-ZOOM::Log::init_level(ZOOM::Log::module_level("irspy,irspy_test"));
-ZOOM::Log::time_format("%F %T"); # ISO-8601 format
-### Arrange to capture logging output ... somehow.
+# Turning on autoflush with $m->autoflush() doesn't seem to work if
+# even if the "MasonEnableAutoflush" configuration parameter is turned
+# on in the HTTP configuration, so we don't even try -- instead,
+# having ZOOM::IRSpy::Web::log() explicitly calling $m->flush_buffer()
+$ZOOM::IRSpy::xslt_max_depth = 3500; ### Hideous hack
+my $db = ZOOM::IRSpy::connect_to_registry();
+my $spy = new ZOOM::IRSpy::Web($db,
+ admin => "fruitbat");
+$spy->log_init_level($YAZ_LOG);
$spy->targets(@id) if !$allTargets;
-$spy->initialise();
+foreach my $rulesFile (@rulesFiles) {
+ $spy->apply_rules($ENV{DOCUMENT_ROOT} . "/../../etc/" . $rulesFile);
+ print "applied rules '$rulesFile'\n";
+}
+$spy->initialise($test);
my $res = $spy->check();
+print "<p>\n";
if ($res == 0) {
- print "All tests were run\n";
+ print "<b>All tests were attempted</b>\n";
} else {
- print "Some tests were skipped\n";
+ print "<b>$res tests were skipped</b>\n";
+}
+print "</p>\n";
}
</%perl>