blob: 2227b4297e2738a359dbb7cedb69191d10e8abdb [file] [log] [blame]
<?php
include("ProgramResults.php");
include("NightlyTester.php");
$machine_id = $HTTP_GET_VARS['machine'];
$night_id = $HTTP_GET_VARS['night'];
if(!$machine_id || !$night_id){
print "Error, incorrect URL for test.php!\n";
die();
}
$mysql_link = mysql_connect("127.0.0.1","llvm","ll2002vm");
mysql_select_db("nightlytestresults");
$machine_query = mysql_query("SELECT * FROM machine WHERE id=$machine_id") or die (mysql_error());
$row = mysql_fetch_array($machine_query);
mysql_free_result($machine_query);
$today_query = getSuccessfulNightsHistory($machine_id, $night_id);
$today_row = mysql_fetch_array($today_query);
$yesterday_row = mysql_fetch_array($today_query);
$oldday_row = mysql_fetch_array($today_query);
mysql_free_result($today_query);
$cur_date=$today_row['added'];
$previous_succesful_id = getPreviousWorkingNight($night_id);
?>
<html>
<head>
<title>LLVM Nightly Test Results For <?php print $cur_date; ?></title>
<STYLE TYPE="text/css">
<!--
@import url(style.css);
-->
</STYLE>
<script type="text/javascript" src="sorttable.js"></script>
<script type="text/javascript" src="popup.js"></script>
</head>
<body>
<center><font size=+3 face=Verdana><b>LLVM Nightly Test Results For <?php print $cur_date; ?></b></font></center><br>
<table cellspacing=0 cellpadding=0 border=0>
<tr>
<td valign=top>
<?
$machine = $HTTP_GET_VARS['machine'];
$night = $HTTP_GET_VARS['night'];
include 'sidebar.php';
?>
</td>
<td>
<?php
/*****************************************************
*
* Printing machine information
*
******************************************************/
print "<table border=1 cellpadding=0 cellspacing=0>\n";
print "<tr>\n";
print "<td><b>Nickname:</b></td>";
print "<td>{$row['nickname']}</td>\n";
print "</tr>\n";
print "<tr>\n";
print "<td><b>uname:</b></td>";
print "<td>{$row['uname']}</td>\n";
print "</tr>\n";
print "<tr>\n";
print "<td><b>Hardware:</b></td>";
print "<td>{$row['hardware']}</td>\n";
print "</tr>\n";
print "<tr>\n";
print "<td><b>OS:</b></td>";
print "<td>{$row['os']}</td>\n";
print "</tr>\n";
print "<tr>\n";
print "<td><b>Hostname:</b></td>";
print "<td>{$row['name']}</td>\n";
print "</tr>\n";
print "<tr>\n";
print "<td><b>GCC:</b></td>";
print "<td>{$row['gcc']}</td>\n";
print "</tr>\n";
print "<tr>\n";
print "<td><b>Machine ID:</b></td>";
print "<td>{$row['id']}</td>\n";
print "</tr>\n";
print "</table>\n<br>\n";
/*****************************************************
*
* Printing link to build log
*
******************************************************/
$buildfile=str_replace(" ", "_", $cur_date);
if(file_exists("machines/$machine_id/$buildfile-Build-Log.txt")){
print "<h4><a href=\"machines/$machine_id/$buildfile-Build-Log.txt\">".
"View Build Log</a></h4>\n";
}
/*****************************************************
*
* Printing the times table
*
******************************************************/
$previous_query = mysql_query("SELECT * FROM night WHERE \"$cur_date\" > added and machine=$machine_id ORDER BY added DESC") or die (mysql_error());
if(strpos($today_row['buildstatus'], "OK")===FALSE){
$disp="";
$sign="(+)";
}
else{
$disp="none";
$sign="(-)";
}
print "<font size=\"-1\"><a href=\"javascript://\"onclick=\"toggleLayer('buildStatus');\", id=\"buildStatus_\">$sign Build Status</a></font>\n";
print "<div id=\"buildStatus\" style=\"display: $disp;\" class=\"hideable\">\n";
print "<h3><u>Build Status </u></h3></p>";
print "<font color=red>{$today_row['buildstatus']}</font><br>\n";
print "</div><br><br>\n";
/*****************************************************
*
* Printing changes in test suite
*
******************************************************/
$new_tests=htmlifyTestResults(getNewTests($night_id, $previous_succesful_id));
if(strcmp($new_tests,"")===0){
$new_tests="None";
}
$removed_tests=htmlifyTestResults(getRemovedTests($night_id, $previous_succesful_id));
if(strcmp($removed_tests,"")===0){
$removed_tests="None";
}
$newly_passing_tests=htmlifyTestResults(getFixedTests($night_id, $previous_succesful_id));
if(strcmp($newly_passing_tests,"")===0){
$newly_passing_tests="None";
}
$newly_failing_tests=htmlifyTestResults(getBrokenTests($night_id, $previous_succesful_id));
if(strcmp($newly_failing_tests,"")===0){
$newly_failing_tests="None";
}
if(strpos($new_tests, "None")!==FALSE &&
strpos($removed_tests, "None")!==FALSE &&
strpos($newly_passing_tests, "None")!==FALSE &&
strpos($newly_failing_tests, "None")!==FALSE ){
$disp="none";
$sign="(-)";
}
else{
$disp="";
$sign="(+)";
}
print "<font size=\"-1\"><a href=\"javascript://\"onclick=\"toggleLayer('testSuite');\", id=\"testSuite_\">$sign Test Suite Changes</a></font>\n";
print "<div id=\"testSuite\" style=\"display: $disp;\" class=\"hideable\">\n";
print"<h3><u>Test suite changes:</u></h3>\n";
print"<b>New tests:</b><br>\n";
print "$new_tests<br><br>\n";
print"<b>Removed tests</b><br>\n";
print "$removed_tests<br><br>\n";
print"<b>Newly passing tests:</b><br>\n";
print "$newly_passing_tests<br><br>\n";
print"<b>Newly failing tests:</b><br>\n";
print "$newly_failing_tests<br><br>\n";
print "</div><br><br>\n";
/*****************************************************
*
* Printing failures in test suite
*
******************************************************/
$failing_tests=htmlifyTestResults(getFailures($night_id));
if(strcmp($failing_tests,"")===0){
$newly_failing_tests="None";
}
$disp="none";
$sign="(-)";
print "<font size=\"-1\"><a href=\"javascript://\"onclick=\"toggleLayer('testSuiteFailures');\", id=\"testSuite_\">$sign Test Suite Failures</a></font>\n";
print "<div id=\"testSuiteFailures\" style=\"display: $disp;\" class=\"hideable\">\n";
print"<h3><u>Test suite failures:</u></h3>\n";
print"<b>Failing tests:</b><br>\n";
print "$failing_tests<br><br>\n";
print "</div><br><br>\n";
/*****************************************************
*
* Dejagnu result go here
*
******************************************************/
$delta_exppass = $today_row['teststats_exppass']-$yesterday_row['teststats_exppass'];
$delta_expfail = $today_row['teststats_expfail']-$yesterday_row['teststats_expfail'];
$delta_unexpfail = $today_row['teststats_unexpfail']-$yesterday_row['teststats_unexpfail'];
$unexpected_failures = htmlifyTestResults(getUnexpectedFailures($night_id));
if($delta_exppass==0 && $delta_expfail==0 &&
$delta_unexpfail==0 && strcmp($unexpected_failures, "")===0){
$disp="none";
$sign="(-)";
}
else{
$disp="";
$sign="(+)";
}
if(isset($today_row['teststats_exppass'])){
$exp_pass=$today_row['teststats_exppass'];
}
else{
$exp_pass=0;
}
if(isset($today_row['teststats_unexpfail'])){
$unexp_fail=$today_row['teststats_unexpfail'];
}
else{
$unexp_fail=0;
}
if(isset($today_row['teststats_expfail'])){
$exp_fail=$today_row['teststats_expfail'];
}
else{
$exp_fail=0;
}
print "<font size=\"-1\"><a href=\"javascript://\"onclick=\"toggleLayer('dejagnuTests');\", id=\"deja\
gnuTests_\">$sign Dejagnu Tests</a></font>\n";
print "<div id=\"dejagnuTests\" style=\"display: $disp;\" class=\"hideable\">\n";
print"<h3><u>Dejagnu tests:</u></h3><br>\n";
print "<table>\n";
print "\t<tr>\n";
print "\t\t<td></td><td># of tests</td><td>Change from yesterday</td>\n";
print "\t</tr>\n";
$delta = $today_row['teststats_exppass']-$yesterday_row['teststats_exppass'];
print "\t\t<td>Expected Passes:</td><td align=center>$exp_pass</td><td align=center>$delta</td>\n";
print "\t</tr>\n";
print "\t<tr>\n";
$delta = $today_row['teststats_unexpfail']-$yesterday_row['teststats_unexpfail'];
print "\t\t<td>Unexpected Failures:</td><td align=center>$unexp_fail</td><td align=center>$delta</td>\n";
print "\t</tr>\n";
print "\t<tr>\n";
$delta = $today_row['teststats_expfail']-$yesterday_row['teststats_expfail'];
print "\t\t<td>Expected Failures:</td><td align=center>$exp_fail</td><td align=center>$delta</td>\n";
print "\t</tr>\n";
print "</table><br><br>\n";
print"<a name=\"unexpfail_tests\"><b>Unexpected test failures:</b></a><br>\n";
print "$unexpected_failures<br><br>\n";
print "</div><br><br>\n";
/*****************************************************
*
* Printing warning information
*
******************************************************/
if((strpos($today_row['warnings_added'], "none")==FALSE &&
strpos($today_row['warnings_removed'], "none")==FALSE) &&
(strcmp($today_row['warnings_added'], "")!=0 &&
strcmp($today_row['warnings_removed'], "")!=0)){
$disp=" ";
$sign="(+)";
}
else{
$disp="none";
$sign="(-)";
}
print "<font size=\"-1\"><a href=\"javascript://\"onclick=\"toggleLayer('warningsChanges');\", id=\"warningsChanges_\">$sign Warning Information</a></font>\n";
print "<div id=\"warningsChanges\" style=\"display: $disp;\" class=\"hideable\">\n";
print"<h3><u>Changes to warnings during the build:</u></h3>\n";
print"<b>New Warnings:</b><br>\n";
print "{$today_row['warnings_added']}<br><br>\n";
print"<b>Removed Warnings:</b><br>\n";
print "{$today_row['warnings_removed']}<br>\n";
print"<a name=\"warnings\"><h3><u>Warnings during the build:</u></h3></a><tt>{$today_row['warnings']}</tt><br>\n";
print "</div><br><br>\n";
/*****************************************************
*
* Printing execution
*
******************************************************/
print "<font size=\"-1\"><a href=\"javascript://\"onclick=\"toggleLayer('executionTimes');\", id=\"executionTimes_\">(-) Execution Times</a></font>\n";
print "<div id=\"executionTimes\" style=\"display: none;\" class=\"hideable\">\n";
print"<h3><u>Execution times in seconds:</u></h3><br>\n";
print "<table border=1 cellpadding=0 cellspacing=0>\n";
print "\t<tr>\n";
print "\t\t<td></td>\n";
print "\t\t<td>CVS cpu</td>\n";
print "\t\t<td>CVS wall</td>\n";
print "\t\t<td>Configure cpu</td>\n";
print "\t\t<td>Configure wall</td>\n";
print "\t\t<td>Build cpu</td>\n";
print "\t\t<td>Build wall</td>\n";
print "\t\t<td>Dejagnu cpu</td>\n";
print "\t\t<td>Dejagnu wall</td>\n";
print "\t</tr>\n";
print "\t<tr>\n";
print "\t\t<td>$cur_date</td>\n";
print "\t\t<td>{$today_row['getcvstime_cpu']}</td>\n";
print "\t\t<td>{$today_row['getcvstime_wall']}</td>\n";
print "\t\t<td>{$today_row['configuretime_cpu']}</td>\n";
print "\t\t<td>{$today_row['configuretime_wall']}</td>\n";
print "\t\t<td>{$today_row['buildtime_cpu']}</td>\n";
print "\t\t<td>{$today_row['buildtime_wall']}</td>\n";
print "\t\t<td>{$today_row['dejagnutime_cpu']}</td>\n";
print "\t\t<td>{$today_row['dejagnutime_wall']}</td>\n";
print "\t</tr>\n";
if( $previous_row = mysql_fetch_array($previous_query) ){
print "\t<tr>\n";
print "\t\t<td>Previous nightly test ({$previous_row['added']})</td>\n";
print "\t\t<td>{$previous_row['getcvstime_cpu']}</td>\n";
print "\t\t<td>{$previous_row['getcvstime_wall']}</td>\n";
print "\t\t<td>{$previous_row['configuretime_cpu']}</td>\n";
print "\t\t<td>{$previous_row['configuretime_wall']}</td>\n";
print "\t\t<td>{$previous_row['buildtime_cpu']}</td>\n";
print "\t\t<td>{$previous_row['buildtime_wall']}</td>\n";
print "\t\t<td>{$previous_row['dejagnutime_cpu']}</td>\n";
print "\t\t<td>{$previous_row['dejagnutime_wall']}</td>\n";
print "\t</tr>\n";
print "\t<tr>\n";
print "\t\t<td>% change</td>\n";
if($previous_row['getcvstime_cpu']==0){
print "\t\t<td>-</td>\n";
}
else{
$delta = round((($today_row['getcvstime_cpu'] - $previous_row['getcvstime_cpu'])/$previous_row['getcvstime_cpu']) * 100,2);
$color=DetermineColor($delta, "white");
print "\t\t<td bgcolor=$color>$delta</td>\n";
}
$color="white";
if($previous_row['getcvstime_wall']==0){
print "\t\t<td>-</td>\n";
}
else{
$delta = round((($today_row['getcvstime_wall'] - $previous_row['getcvstime_wall'])/$previous_row['getcvstime_wall']) * 100,2);
print "\t\t<td bgcolor=$color>$delta</td>\n";
}
$color="white";
if($previous_row['configuretime_cpu']==0){
print "\t\t<td>-</td>\n";
}
else{
$delta = round((($today_row['configuretime_cpu'] - $previous_row['configuretime_cpu'])/$previous_row['configuretime_cpu']) * 100,2);
$color=DetermineColor($delta, "white");
print "\t\t<td bgcolor=$color>$delta</td>\n";
}
$color="white";
if($previous_row['configuretime_wall']==0){
print "\t\t<td>-</td>\n";
}
else{
$delta = round((($today_row['configuretime_wall'] - $previous_row['configuretime_wall'])/$previous_row['configuretime_wall']) * 100,2);
print "\t\t<td bgcolor=$color>$delta</td>\n";
}
$color="white";
if($previous_row['buildtime_cpu']==0){
print "\t\t<td>-</td>\n";
}
else{
$delta = round((($today_row['buildtime_cpu'] - $previous_row['buildtime_cpu'])/$previous_row['buildtime_cpu']) * 100,2);
$color=DetermineColor($delta, "white");
print "\t\t<td bgcolor=$color>$delta</td>\n";
}
$color="white";
if($previous_row['buildtime_wall']==0){
print "\t\t<td>-</td>\n";
}
else{
$delta = round((($today_row['buildtime_wall'] - $previous_row['buildtime_wall'])/$previous_row['buildtime_wall']) * 100,2);
print "\t\t<td bgcolor=$color>$delta</td>\n";
}
$color="white";
if($previous_row['dejagnutime_cpu']==0){
print "\t\t<td>-</td>\n";
}
else{
$delta = round((($today_row['dejagnutime_cpu'] - $previous_row['dejagnutime_cpu'])/$previous_row['dejagnutime_cpu']) * 100,2);
$color=DetermineColor($delta, "white");
print "\t\t<td bgcolor=$color>$delta</td>\n";
}
$color="white";
if($previous_row['dejagnutime_wall']==0){
print "\t\t<td>-</td>\n";
}
else{
$delta = round((($today_row['dejagnutime_wall'] - $previous_row['dejagnutime_wall'])/$previous_row['dejagnutime_wall']) * 100,2);
print "\t\t<td bgcolor=$color>$delta</td>\n";
}
print "\t</tr>\n";
}
mysql_free_result($previous_query);
print "</table>\n";
print "</div><br><br>\n";
/*****************************************************
*
* Printing CVS information
*
******************************************************/
print "<font size=\"-1\"><a href=\"javascript://\"onclick=\"toggleLayer('CVSInformation');\", id=\"CVSInformation_\">(-) CVS information</a></font>\n";
print "<div id=\"CVSInformation\" style=\"display: none;\" class=\"hideable\">\n";
print"<h3><u>CVS information:</u></h3><br>\n";
$query=mysql_query("SELECT * FROM night WHERE id=$night_id") or die (mysql_error());
$row = mysql_fetch_array($query);
mysql_free_result($query);
$com_users = $row['cvs_usersadd'];
$co_users = $row['cvs_usersco'];
$com_users = str_replace("\n","<br>",$com_users);
$co_users = str_replace("\n","<br>",$co_users);
print "<table border=1 cellspacing=0 cellpadding=0>\n";
print "\t<tr>\n";
print "\t\t<td>Users who commited</td><td>Users who checked out</td>\n";
print "\t</tr>\n";
print "\t<tr>\n";
print "\t\t<td valign=top>$com_users</td><td valign=top>$co_users</td>\n";
print "\t</tr>\n";
print "</table><br><br>\n";
print"<b>Added files:</b><br>\n";
$added_files = $row['cvs_added'];
if(strcmp($added_files,"")!=0){
$added_files = str_replace("\n","<br>",$added_files);
print "<table>\n";
print "\t<tr>\n";
print "\t\t<td>$added_files</td>\n";
print "\t</tr>\n";
print "</table><br><br>\n";
}
else{
print "No removed files<br><br>\n";
}
print"<b>Removed files:</b><br>\n";
$removed_files = $row['cvs_removed'];
if(strcmp($removed_files,"")!=0){
$removed_files = str_replace("\n","<br>",$removed_files);
print "<table>\n";
print "\t<tr>\n";
print "\t\t<td>$removed_files</td>\n";
print "\t</tr>\n";
print "</table><br><br>\n";
}
else{
print "No removed files<br><br>\n";
}
print"<b>Modified files:</b><br>\n";
$modified_files = $row['cvs_modified'];
if(strcmp($modified_files,"")!=0){
$modified_files = str_replace("\n","<br>",$modified_files);
print "<table>\n";
print "\t<tr>\n";
print "\t\t<td>$modified_files</td>\n";
print "\t</tr>\n";
print "</table><br><br>\n";
}
else{
print "No removed files<br><br>\n";
}
print "</div><br><br>\n";
/*****************************************************
*
* Printing file size information
*
******************************************************/
print "<font size=\"-1\"><a href=\"javascript://\"onclick=\"toggleLayer('FileSizeInformation');\", id=\"FileSizeInformation_\">(-) File Size information</a></font>\n";
print "<div id=\"FileSizeInformation\" style=\"display: none;\" class=\"hideable\">\n";
print"<h3><u>File Size information:</u></h3><br>\n";
print "<form method=GET action=\"individualfilesizegraph.php\">\n";
print "<input type=hidden name=machine value=\"$machine_id\">\n";
print "<input type=hidden name=night value=\"$night_id\">\n";
print "<input type=hidden name=end value=\"$cur_date\">\n";
$all_data=buildFileSizeTable($machine_id, $night_id);
$formatted_num=number_format($all_data['Total Sum'][0],0,".",",");
print "<b>Total size</b>: $formatted_num bytes<br>\n";
print "<b>Percent difference from previous test</b>: {$all_data['Total Sum'][1]}<br>\n";
print "<b>Percent difference from five tests ago</b>: {$all_data['Total Sum'][3]}<br><br>\n";
print "<table class=\"sortable\" id=\"file_sizes\" border=1 cellspacing=0 cellpadding=6>\n";
print "\t<tr>\n";
print "\t\t<td>File</td>\n";
print "\t\t<td>File Size in Bytes</td>\n";
print "\t\t<td>% difference from previous test</td>\n";
print "\t\t<td>Byte difference from previous test</td>\n";
print "\t\t<td>% difference from five tests ago</td>\n";
print "\t\t<td>Byte difference from five tests ago</td>\n";
print "\t</tr>\n";
print "\t<tr>\n";
print "<td></td>\n";
print "<td></td>\n";
print "<td></td>\n";
print "<td></td>\n";
print "<td></td>\n";
print "\t</tr>\n";
foreach (array_keys($all_data) as $d){
//if($all_data["$d"][1]!=0 || $all_data["$d"][3]!=0){
print "\t<tr>\n";
if(strcmp($d, "Total Sum")!=0){
print "\t\t<td><input type=checkbox name=files[] multiple=\"multiple\" value=\"$d\">\n";
}
else{
print "\t\t<td>\n";
}
print "\t\t$d</td>\n";
print "\t\t<td>{$all_data["$d"][0]}</td>\n";
if($all_data["$d"][1]!=0){
$color="bgcolor=";
$color.=DetermineColor($all_data["$d"][1], "\"\"");
}
else{
$color="";
}
print "\t\t<td $color>{$all_data["$d"][1]}</td>\n";
print "\t\t<td $color>{$all_data["$d"][2]}</td>\n";
if($all_data["$d"][3]!=0){
$color="bgolor=";
$color.=DetermineColor($all_data["$d"][3], "white");
}
else{
$color="";
}
print "\t\t<td $color>{$all_data["$d"][3]}</td>\n";
print "\t\t<td $color>{$all_data["$d"][4]}</td>\n";
print "\t</tr>\n";
//}
}
print "</table>\n";
print "<input type=submit name=action value=\"Compare values\"> | ";
print "<input type=reset>\n";
print "</form>\n";
print "</div><br><br>\n";
/*****************************************************
*
* ending sidebar table here
*
******************************************************/
print "</td></tr></table>\n";
/*****************************************************
*
* Test program statistics
*
******************************************************/
print"<h3><u>Program tests:</u></h3><br>\n";
$today_results = GetDayResults($today_row['id'], $category_array);
if(isset($yesterday_row['id'])){
$yesterday_results = GetDayResults($yesterday_row['id'], $category_array);
$percent_difference = CalculateChangeBetweenDays($yesterday_results, $today_results,.2);
}
/********************** external table **********************/
print "<form method=GET action=\"resultsgraph.php\">\n";
print "<input type=hidden name=machine value=\"$machine_id\">\n";
print "<input type=hidden name=night value=\"$night_id\">\n";
print "<input type=hidden name=end value=\"$cur_date\">\n";
print"<b>External tests:</b><br>\n";
print "<table border='0' cellspacing='0' cellpadding='2'><tr><td bgcolor=#000000>\n"; #creating the black border around the table
print "<table class=\"sortable\" id=\"external_tests_\" border='1' cellspacing='0' cellpadding='0'>\n";
print "\t<tr bgcolor=#FFCC99>\n";
print "\t\t<th>Program</th>\n";
$index=0; //here to ensure we dont print %diff for GCC comparisons
foreach ($category_print_array as $x){
print "\t\t<th>Today's $x</th>\n";
if($index<10 && isset($percent_difference)){
print "\t\t<th>% change in $x</th>\n";
}
$index++;
}
print "\t</tr>\n";
print "\t<tr bgcolor=#FFCC99>\n";
print "\t\t<td></td>\n";
$index=0;
foreach ($category_print_array as $x){
if($index<10 && isset($percent_difference)){
$col_width=2;
}
else{
$col_width=1;
}
print "\t\t<td colspan=\"$col_width\" align=center><input type=checkbox name=\"measure[]\" multiple=\"multiple\" value=\"$x\">\n";
print "<span style=\"position:relative;\">\n";
print "<span id=\"external_$index\" class=\"popup2\">\n";
print "<pre>{$category_print_array_description[$index]}</pre>\n";
print "</span><a href=\"javascript:void(0);\" onClick=\"TogglePop('external_$index');\">?</a></span>\n";
print "</td>\n";
$index++;
}
print "\t</tr>\n";
$row_color=1;
$count=0;
foreach(array_keys($today_results) as $program){
if(strcmp($today_results["$program"][0],"external")==0){
if($row_color % 2 == 0){
$def_color="white";
}
else{
$def_color="#DDDDDD";
}
print "\t<tr bgcolor='$def_color'>\n";
print "\t\t<td><input type=checkbox name=program[] multiple=\"multiple\" value=\"$program\">$program</td>\n";
for($y=1; $y<sizeof($today_results["$program"]); $y++){
print "\t\t<td>{$today_results["$program"][$y]}</td>\n";
if($y<11 && isset($percent_difference)){
$delta=round($percent_difference["$program"][$y-1], 2);
$color=DetermineColor($delta, $def_color);
print "\t\t<td bgcolor=\"$color\">$delta</td>\n";
}
}
print "\t</tr>\n";
$row_color++;
if($row_color > 4){
$row_color=1;
}
$count++;
}//end if strcmp
}//end foreach
print "</table>\n";
print "</td></tr></table><br><br>\n"; #ending black border around table
/********************** Multisource table **********************/
print"<b>Multisource tests:</b><br>\n";
print "<table border='0' cellspacing='0' cellpadding='2'><tr><td bgcolor=#000000>\n"; #creating the black border around the table
print "<table class=\"sortable\" id=\"multisource_tests\" border='1' cellspacing='0' cellpadding='0'>\n";
print "\t<tr bgcolor=#FFCC99>\n";
print "\t\t<th>Program</th>\n";
$index=0; //here to ensure we dont print %diff for GCC comparisons
foreach ($category_print_array as $x){
print "\t\t<th>Today's $x</th>\n";
if($index<10 && isset($percent_difference)){
print "\t\t<th>% change in $x</th>\n";
}
$index++;
}
print "\t</tr>\n";
print "\t<tr bgcolor=#FFCC99>\n";
print "\t\t<td></td>\n";
$index=0;
foreach ($category_print_array as $x){
if($index<10 && isset($percent_difference)){
$col_width=2;
}
else{
$col_width=1;
}
print "\t\t<td colspan=\"$col_width\" align=center><input type=checkbox name=\"measure[]\" multiple=\"multiple\" value=\"$x\">\n";
print "<span style=\"position:relative;\">\n";
print "<span id=\"multi_$index\" class=\"popup2\">\n";
print "<pre>{$category_print_array_description[$index]}</pre>\n";
print "</span><a href=\"javascript:void(0);\" onClick=\"TogglePop('multi_$index');\">?</a></span>\n";
print "</td>\n";
$index++;
}
print "\t</tr>\n";
$row_color=1;
$count=0;
foreach(array_keys($today_results) as $program){
if(strcmp($today_results["$program"][0],"multisource")==0){
if($row_color % 2 == 0){
$def_color="white";
}
else{
$def_color="#DDDDDD";
}
print "\t<tr bgcolor='$def_color'>\n";
print "\t\t<td><input type=checkbox name=program[] multiple=\"multiple\" value=\"$program\">$program</td>\n";
for($y=1; $y<sizeof($today_results["$program"]); $y++){
print "\t\t<td>{$today_results["$program"][$y]}</td>\n";
if($y<11 && isset($percent_difference)){
$delta=round($percent_difference["$program"][$y-1], 2);
$color=DetermineColor($delta, $def_color);
print "\t\t<td bgcolor=\"$color\">$delta</td>\n";
}
}
print "\t</tr>\n";
$row_color++;
if($row_color > 4){
$row_color=1;
}
$count++;
}//end if strcmp
}//end foreach
print "</table>\n";
print "</td></tr></table><br><br>\n"; #ending black border around table
print "<input type=submit name=action value=\"Compare values\"> | ";
print "<input type=reset>\n";
print "</form>\n";
/********************** Singlesource table **********************/
print"<b>Singlesource tests:</b><br>\n";
print "<table border='0' cellspacing='0' cellpadding='2'><tr><td bgcolor=#000000>\n"; #creating the black border around the table
print "<table class=\"sortable\" id=\"singlesource_tests\" border='1' cellspacing='0' cellpadding='0'>\n";
print "\t<tr bgcolor=#FFCC99>\n";
print "\t\t<th>Program</th>\n";
$index=0; //here to ensure we dont print %diff for GCC comparisons
foreach ($category_print_array as $x){
print "\t\t<th>Today's $x</th>\n";
if($index<10 && isset($percent_difference)){
print "\t\t<th>% change in $x</th>\n";
}
$index++;
}
print "\t</tr>\n";
print "\t<tr bgcolor=#FFCC99>\n";
print "\t\t<td></td>\n";
$index=0;
foreach ($category_print_array as $x){
if($index<10 && isset($percent_difference)){
$col_width=2;
}
else{
$col_width=1;
}
print "\t\t<td colspan=\"$col_width\" align=center><input type=checkbox name=\"measure[]\" multiple=\"multiple\" value=\"$x\">\n";
print "<span style=\"position:relative;\">\n";
print "<span id=\"single_$index\" class=\"popup2\">\n";
print "<pre>{$category_print_array_description[$index]}</pre>\n";
print "</span><a href=\"javascript:void(0);\" onClick=\"TogglePop('single_$index');\">?</a></span>\n";
print "</td>\n";
$index++;
}
print "\t</tr>\n";
$row_color=1;
$count=0;
foreach(array_keys($today_results) as $program){
if(strcmp($today_results["$program"][0],"singlesource")==0){
if($row_color % 2 == 0){
$def_color="white";
}
else{
$def_color="#DDDDDD";
}
print "\t<tr bgcolor='$def_color'>\n";
print "\t\t<td><input type=checkbox name=program[] multiple=\"multiple\" value=\"$program\">$program</td>\n";
for($y=1; $y<sizeof($today_results["$program"]); $y++){
print "\t\t<td>{$today_results["$program"][$y]}</td>\n";
if($y<11 && isset($percent_difference)){
$delta=round($percent_difference["$program"][$y-1], 2);
$color=DetermineColor($delta, $def_color);
print "\t\t<td bgcolor=\"$color\">$delta</td>\n";
}
}
print "\t</tr>\n";
$row_color++;
if($row_color > 4){
$row_color=1;
}
$count++;
}//end if strcmp
}//end foreach
print "</table>\n";
print "</td></tr></table><br><br>\n"; #ending black border around table
mysql_close($mysql_link);
?>
</body>
</html>