-%# $Id: check.mc,v 1.1 2006-09-18 19:27:21 mike Exp $
+%# $Id: check.mc,v 1.14 2006-11-30 10:53:27 mike Exp $
+<%args>
+@id
+$test => "Quick"
+$really => 0
+</%args>
+<%perl>
+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>
-my $id = $r->param("id");
-if (!$id) {
- print "No 'id' specified!\n";
} else {
- print "<h2>'$id'</h2>\n";
- my $spy = new ZOOM::IRSpy("localhost:1313/IR-Explain---1");
- 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
- ### capture logging output ... somehow.
- $spy->targets($id);
- $spy->initialise();
- my $res = 0;#$spy->check();
- if ($res == 0) {
- print "All tests were run\n";
- } else {
- print "Some tests were skipped\n";
- }
+
+print "<h2>Testing ...</h2>\n";
+print " <ul>\n", join("", map { " <li>$_</li>\n" } @id), "</ul>\n"
+ if !$allTargets;
+$m->flush_buffer();
+
+# 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()
+
+my $spy = new ZOOM::IRSpy::Web("localhost:3313/IR-Explain---1",
+ admin => "fruitbat");
+$spy->log_init_level("irspy,irspy_test");
+$spy->targets(@id) if !$allTargets;
+$spy->initialise();
+my $res = $spy->check($test);
+print "<p>\n";
+if ($res == 0) {
+ print "<b>All tests were run</b>\n";
+} else {
+ print "<b>$res tests were skipped</b>\n";
+}
+print "</p>\n";
}
</%perl>