#!/usr/local/bin/perl  
use DBI;

require "$ENV{'FSW'}/web/ltx_db.pl";

my (@data, $i, $j, $max_loop, $output_dir, $junk);


if ($#ARGV != 1)
{
    print "\n  Usage: ltx_list <build_version> <sanity/autoboot>\n";
    print "\n     e.g.   ltx_list B2-0-0 sanity\n\n";
    exit 1;
}

my $build_version = shift @ARGV;
my $sanity = shift @ARGV;

if ( $sanity ne "sanity" && $sanity ne "autoboot" )
{
    print "\nERROR: use \"sanity\" for Sanity Check or \"autoboot\" for Autoboot Regression\n\n";
    exit 1;
}

my $head_file = "FSW_head.template";
my $tail_file = "FSW_tail.template";

if ( ! open( HFILE, "<$head_file" ) )
{
    print "ERROR: Cannot open $head_file\n";
    exit 1;
}

if ( ! open( TFILE, "<$tail_file" ) )
{
    print "ERROR: Cannot open $tail_file\n";
    exit 1;
}

if ( ! open( OFILE, "> $build_version-$sanity" ) )
{
    print "ERROR: Cannot open $build_version-$sanity\n";
    exit 1;
}


while ( <HFILE> )
{
    printf OFILE $_;
}

@data = ();
@data = ltx_sql_execute ( "select", "select test_name, pkg_version, status, ltx_file_path  from test_case where build_version = \"$build_version\" and type = \"$sanity\" order by test_name ", @data );


if ( $sanity eq "autoboot" )
{
    printf OFILE "<p><p><b>$build_version Autoboot Regression Tests Result:</b>\n\n";
}
else
{
    printf OFILE "<p><p><b>$build_version Sanity Check Regression Tests Result:</b>\n\n";
}
printf OFILE "<table>\n";
printf OFILE "<tr>\n";
printf OFILE "<td width=120><b>Test Name</b></td>\n";
printf OFILE "<td width=90><b>Version</b></td>\n";
printf OFILE "<td width=90><b>Test Status</b></td>\n";
printf OFILE "<td width=600><b>Test Outputs</b></td>\n";
printf OFILE "</tr>\n";

for $i ( 0 .. $#data )
{
    printf OFILE "<tr>\n";
    for $j ( 0 .. $#{ $data[$i] } )
    {
       if ( $j == 3 )
       {
          ($junk, $output_dir) = split ( /g\/glast/, $data[$i][$j] );
          printf OFILE "<td><a href=\"glast$output_dir\">$data[$i][$j]</a></td>\n";
       }
       else
       {
          printf OFILE "<td>$data[$i][$j]</td>\n";
       }
    }
    printf OFILE "</tr>\n";
}

printf OFILE "</table>\n";


while ( <TFILE> )
{
    printf OFILE $_;
}
