#!/usr/bin/perl -w
# -*- Mode: perl; indent-tabs-mode: nil -*-
use CGI::Carp qw(fatalsToBrowser);
use CGI::Request;
my $req = new CGI::Request;
my $TBOXES = lc($req->param('tboxes'));
my $TESTNAME = lc($req->param('testname'));
sub make_filenames_list {
my ($dir) = @_;
my @result;
if (-d "$dir") {
chdir "$dir";
while(<*>) {
if( $_ ne 'config.txt' ) {
push @result, $_;
}
}
chdir "../..";
}
return @result;
}
# Print out a list of testnames in db directory
sub print_testnames {
# HTTP header
print "Content-type: text/html\n\n\n";
print "
multiquery: testnames";
print "multiquery: testnames
";
print "";
print "| Select one of the following tests: |
";
print "\n";
print " \n";
my @machines = make_filenames_list("db");
my $machines_string = join(" ", @machines);
foreach (@machines) {
print "- $_\n";
}
print "
|
|
";
}
# Print out a list of machines in db/ directory, with links.
sub print_machines {
my ($testname) = @_;
# HTTP header
print "Content-type: text/html\n\n\n";
print "$TESTNAME machines";
# XXX Testing, this isn't correct yet.
print "\n";
print "$TESTNAME machines:
";
print "";
print "| Select one of the following machines: |
";
print "\n";
print " \n";
my @machines = make_filenames_list("db/$testname");
my $machines_string = join(" ", @machines);
# XXX Testing, this isn't correct yet.
print " \n";
print " |
|
";
}
sub show_graphs {
# HTTP header
print "Content-type: text/html\n\n\n";
print "multiquery: $TESTNAME
\n";
print "\n";
# JS refresh every 30min
print "\n";
print "$TESTNAME: $TBOXES
\n";
print "\n";
my @tbox_array = split(",", $TBOXES);
my $i = 0;
while($i < @tbox_array) {
print "\n";
print "\n";
print " ";
print " | \n";
$i++;
if($i < @tbox_array) {
print "\n";
print " ";
print " | \n";
$i++;
print "
\n";
}
}
print "
\n";
#
# Links at the bottom.
#
print "\n";
print "Multiqueries: (startup, xulwinopen, pageload, build your own multiquery)";
print "\n";
print "\n";
}
# main
{
if(!$TESTNAME) {
print_testnames();
} elsif(!$TBOXES) {
print_machines($TESTNAME);
} else {
show_graphs();
}
}
exit 0;