my ($list, @list, %list, $item, @item, %item, $result, %platforms, %components, %ins, %upg, $now, $n_platforms, $width);
my (%list_perf);
-
+my ($doubledistupgrades, $distupgrades, $upgrades, $installs );
+my ($colsforeach);
$list=`ls -1 | egrep '^(gridsite|lb|px|canl)'`;
@list=split /\n/, $list;
+$doubledistupgrades = 0;
+$distupgrades = 0;
+$upgrades = 0;
+$installs = 0;
+
#$list{install} = ();
#$list{upgrade} = ();
foreach my $i (0..$#list) {
close FH;
chomp;
if (/perf/i) { $scen = $_; }
- elsif (/^upgrade/i or /major upgrade/i) { $scen = 'distupgrade'; }
- elsif (/^minor upgrade/i) { $scen = 'upgrade'; }
+ elsif (/^double/i) { $scen = 'doubledistupgrade'; $doubledistupgrades=1; }
+ elsif (/^upgrade/i or /major upgrade/i) { $scen = 'distupgrade'; $distupgrades=1; }
+ elsif (/^minor upgrade/i) { $scen = 'upgrade'; $upgrades=1; }
elsif (/build/i) { $scen = 'build'; }
-
}
+ if ($scen eq 'install') { $installs=1; }
$plat = "$item[1]-$item[2]";
#printf STDERR "$date, $scen, $item[0], $plat\n";
#printf STDERR "$item->{component}, $item->{platform}\n";
undef $result;
if (-f "$item->{dir}/report.twiki") {
- my ($section, $err, $yaim_used, $yaim_finished);
+ my ($section, $err, $yaim_used, $yaim_finished, $missing_deps);
`grep -- 'TESTS END HERE' $item->{dir}/report.twiki >/dev/null 2>&1`;
$section=$?;
`grep -- 'Installed YAIM versions' $item->{dir}/report.twiki >/dev/null 2>&1`;
$yaim_used=$?;
`grep -- 'YAIM terminated succesfully' $item->{dir}/report.twiki >/dev/null 2>&1`;
$yaim_finished=$?;
+ $missing_deps=`grep -- 'Missing Dependency:' $item->{dir}/report.twiki 2>/dev/null| wc -l | sed 's/ *//g'`;
`grep -- 'ERROR:' $item->{dir}/report.twiki >/dev/null 2>&1`;
$err=$?;
-#printf STDERR " sec: $section, err: $err\n";
- if ($section == 0 && ($yaim_used != 0 || $yaim_finished == 0)) {
+printf STDERR " sec: $section, err: $err, missing_deps: $missing_deps\n";
+ if ($section == 0 && $missing_deps == 0 && ($yaim_used != 0 || $yaim_finished == 0)) {
$result=`grep -- '-TEST FAILED-' $item->{dir}/report.twiki 2>/dev/null| wc -l | sed 's/ *//g'`;
chomp $result;
} else {
- if ($section == 0) { $result = 'Deploy Fail'; }
+ if ($missing_deps != 0 ) { $result = "$missing_deps missing deps"; }
+ elsif ($section == 0) { $result = "Deploy Fail $missing_deps"; }
else { $result = 'TestSuite Fail'; }
}
} else { undef $result; }
}
$item->{result2} = defined $result ? $result : '-';
-#print STDERR "$item->{dir}: $item->{result}, $item->{result2}\n";
+print STDERR "$item->{dir}: $item->{result}, $item->{result2}\n";
}
}
}
a:hover {color:#333333;}
a:active {color:#222222;}
table.main {border:none;}
- table.cert {border:1px solid black; border-collapse:collapse; text-align:center; width:1024px; table-layout:fixed;}
+ table.cert {border:1px solid black; border-collapse:collapse; text-align:center; width:1280px; table-layout:fixed;}
th.cert, td.cert {border:0px solid black; text-align:center; padding:5px;}
.scen {font-size:small; font-style:italic; background-color: #eeeeee; }
.prod {font-family:sans-serif; font-size:large; font-weight:bold; background-color: #eeeeee}
.OK {border:1px solid black; text-align:center;background-color: #90f3a5;}
.DistOK {border:1px solid black; text-align:center;background-color: #a4f584;}
+ .DblDistOK {border:1px solid black; text-align:center;background-color: #c3f88b;}
.FAIL {border:1px solid black; text-align:center;background-color: #ff4c4c;}
.DistFAIL {border:1px solid black; text-align:center;background-color: #fd6f3c;}
+ .DblDistFAIL {border:1px solid black; text-align:center;background-color: #fda05c;}
.NA {border:1px solid black; text-align:center;background-color: #ffffff;}
.date {font-size:xx-small; color: #404040;}
.platf{font-family:sans-serif; font-size:smaller; border:1px solid black; text-align:center;background-color: #eeeeee;}
.comment {font-size:small;margin:0px 0px 0px 0px;}
p.comment {margin:15px 0px 0px 0px;}
p.modified {margin:0px 0px 0px 0px;}
- table.modified {border:0px none; width:1024px;}
+ table.modified {border:0px none; width:1280px;}
td.modified {font-size:small; border:0px none; float:right; text-align: right;}
td.thanks {font-size:small; border:0px none; text-align: right;}
td.heading {font-size:xx-large; font-family:sans-serif; font-weight:bold; border: 0px none; float:left; text-align:left; white-space:nowrap;}
+ td.message {font-weight:bold; border: 0px none; float:left; text-align:left;}
img { border:0px; }
</style>
</head>
my $pout;
my ($classi, $classu);
+ # Count hown many columns there will be for each product:
+ if ( $installs ) { $colsforeach++; }
+ if ( $upgrades ) { $colsforeach++; }
+ if ( $distupgrades ) { $colsforeach++; }
+ if ( $doubledistupgrades ) { $colsforeach++; }
print qq(<table class="cert">
<tr class="cert">
<th class="prod"></th>
);
foreach my $c (sort keys %components) {
- print " <th class=\"prod\" colspan=\"3\">$fancy{$c}</th>\n";
+ print " <th class=\"prod\" colspan=\"$colsforeach\">$fancy{$c}</th>\n";
}
print " </tr>\n";
print " <tr>\n";
print " <th class=\"scen\">Platform</th>\n";
foreach my $c (sort keys %components) {
- print " <th class=\"scen\">Install</th>\n";
- print " <th class=\"scen\">Upgrade</th>\n";
- print " <th class=\"scen\">Dist<BR>Upgrade</th>\n";
+ if ( $installs ) { print " <th class=\"scen\">Install</th>\n"; }
+ if ( $upgrades ) { print " <th class=\"scen\">Upgrade</th>\n"; }
+ if ( $distupgrades ) { print " <th class=\"scen\">Dist<BR>Upgrade</th>\n"; }
+ if ( $doubledistupgrades ) { print " <th class=\"scen\">Dbl. Dist<BR>Upgrade</th>\n"; }
}
+
+
print " </tr>\n";
foreach my $p (sort keys %platforms) {
$pout=$p;
$pout =~ s/-/<BR>/;
print " <tr class=\"platf\">\n <th class=\"cert\">$pout</th>\n";
foreach my $c (sort keys %components) {
- $item = $list{install}{$c}{$p};
- if (defined $item) {
- if ($item->{result} eq '0') {
- $class='OK';
- $result="<b>OK</b>"; }
- else {
- $class='FAIL';
- if ( $item->{result} eq '1' ) { $result="<b>$item->{result} error</b>"; }
- elsif ($item->{result} =~ /^[0-9]+$/) { $result="<b>$item->{result} tests failed</b>"; }
- else { $result = "<b>$item->{result}</b>"; }
+ if ( $installs ) {
+ $item = $list{install}{$c}{$p};
+ if (defined $item) {
+ if ($item->{result} eq '0') {
+ $class='OK';
+ $result="<b>OK</b>"; }
+ else {
+ $class='FAIL';
+ if ( $item->{result} eq '1' ) { $result="<b>$item->{result} error</b>"; }
+ elsif ($item->{result} =~ /^[0-9]+$/) { $result="<b>$item->{result} tests failed</b>"; }
+ else { $result = "<b>$item->{result}</b>"; }
+ }
+
+ print " <td class=\"$class\"><span class=\"date\">$item->{date}</span><br/><a href=\"$item->{dir}/\">$result</a></td>\n";
+ } else {
+ print " <td class=\"NA\"><span class=\"date\"> </span><br/> </td>\n"
}
-
- print " <td class=\"$class\"><span class=\"date\">$item->{date}</span><br/><a href=\"$item->{dir}/\">$result</a></td>\n";
- } else {
- print " <td class=\"NA\"><span class=\"date\"> </span><br/> </td>\n"
}
- $item = $list{upgrade}{$c}{$p};
- if (defined $item) {
- if ($item->{result} eq '0') {
- $class='OK';
- $result="<b>OK</b>"; }
- else {
- $class='FAIL';
- if ( $item->{result} eq '1' ) { $result="<b>$item->{result} error</b>"; }
- elsif ($item->{result} =~ /^[0-9]+$/) { $result="<b>$item->{result} tests failed</b>"; }
- else { $result = "<b>$item->{result}</b>"; }
+ if ( $upgrades ) {
+ $item = $list{upgrade}{$c}{$p};
+ if (defined $item) {
+ if ($item->{result} eq '0') {
+ $class='OK';
+ $result="<b>OK</b>"; }
+ else {
+ $class='FAIL';
+ if ( $item->{result} eq '1' ) { $result="<b>$item->{result} error</b>"; }
+ elsif ($item->{result} =~ /^[0-9]+$/) { $result="<b>$item->{result} tests failed</b>"; }
+ else { $result = "<b>$item->{result}</b>"; }
+ }
+
+ print " <td class=\"$class\"><span class=\"date\">$item->{date}</span><br/><a href=\"$item->{dir}/\">$result</a></td>\n";
+ } else {
+ print " <td class=\"NA\"><span class=\"date\"> </span><br/> </td>\n"
}
-
- print " <td class=\"$class\"><span class=\"date\">$item->{date}</span><br/><a href=\"$item->{dir}/\">$result</a></td>\n";
- } else {
- print " <td class=\"NA\"><span class=\"date\"> </span><br/> </td>\n"
}
- $item = $list{distupgrade}{$c}{$p};
- if (defined $item) {
- if ($item->{result} eq '0') {
- $class='DistOK';
- $result="<b>OK</b>"; }
- else {
- $class='DistFAIL';
- if ( $item->{result} eq '1' ) { $result="<b>$item->{result} error</b>"; }
- elsif ($item->{result} =~ /^[0-9]+$/) { $result="<b>$item->{result} tests failed</b>"; }
- else { $result = "<b>$item->{result}</b>"; }
+ if ( $distupgrades ) {
+ $item = $list{distupgrade}{$c}{$p};
+ if (defined $item) {
+ if ($item->{result} eq '0') {
+ $class='DistOK';
+ $result="<b>OK</b>"; }
+ else {
+ $class='DistFAIL';
+ if ( $item->{result} eq '1' ) { $result="<b>$item->{result} error</b>"; }
+ elsif ($item->{result} =~ /^[0-9]+$/) { $result="<b>$item->{result} tests failed</b>"; }
+ else { $result = "<b>$item->{result}</b>"; }
+ }
+
+ print " <td class=\"$class\"><span class=\"date\">$item->{date}</span><br/><a href=\"$item->{dir}/\">$result</a></td>\n";
+ } else {
+ print " <td class=\"NA\"><span class=\"date\"> </span><br/> </td>\n"
}
+ }
- print " <td class=\"$class\"><span class=\"date\">$item->{date}</span><br/><a href=\"$item->{dir}/\">$result</a></td>\n";
- } else {
- print " <td class=\"NA\"><span class=\"date\"> </span><br/> </td>\n"
+ if ( $doubledistupgrades ) {
+ $item = $list{doubledistupgrade}{$c}{$p};
+ if (defined $item) {
+ if ($item->{result} eq '0') {
+ $class='DblDistOK';
+ $result="<b>OK</b>"; }
+ else {
+ $class='DblDistFAIL';
+ if ( $item->{result} eq '1' ) { $result="<b>$item->{result} error</b>"; }
+ elsif ($item->{result} =~ /^[0-9]+$/) { $result="<b>$item->{result} tests failed</b>"; }
+ else { $result = "<b>$item->{result}</b>"; }
+ }
+
+ print " <td class=\"$class\"><span class=\"date\">$item->{date}</span><br/><a href=\"$item->{dir}/\">$result</a></td>\n";
+ } else {
+ print " <td class=\"NA\"><span class=\"date\"> </span><br/> </td>\n"
+ }
}
}
print " </tr>\n";
print "</table>\n\n";
}
+my $excls;
+
+if ( $colsforeach != 4 ) {
+ $excls = "There are";
+ if ( $installs == 0 ) { $excls = "$excls no installs," }
+ if ( $upgrades == 0 ) { $excls = "$excls no minor upgrades," }
+ if ( $distupgrades == 0 ) { $excls = "$excls no dist upgrades," }
+ if ( $doubledistupgrades == 0 ) { $excls = "$excls no double dist upgrades," }
+ my $semicol = rindex ($excls, ",");
+ $excls = substr($excls, 0, $semicol);
+ $excls = "<td class=\"message\">$excls.</td>";
+}
+
print qq{ </td>
</tr>
</table>
<table class="modified">
<tr>
- <td class="modified">Last Modified: $now</td>
+ $excls<td class="modified">Last Modified: $now</td>
</tr>
</table>