Require confirmation before starting an all-targets test.
[irspy-moved-to-github.git] / web / htdocs / details / check.mc
index 809354b..ad146bd 100644 (file)
@@ -1,22 +1,47 @@
-%# $Id: check.mc,v 1.2 2006-09-20 13:19:53 mike Exp $
+%# $Id: check.mc,v 1.11 2006-10-26 17:45:32 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">Yes</a>
+      <a href="/">No</a>
+     </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:3313/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>$_\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 donb'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>