Added tool for generating the top-level index for BC test reports
authorMaciej Seroka <maciejs@symbian.org>
Tue, 12 Jan 2010 11:46:00 +0000
changeset 844 385ad61f2ab3
parent 843 c32873117195
child 845 61bf41df2efd
Added tool for generating the top-level index for BC test reports
common/tools/ats/ats_generate_index.pl
common/tools/ats/report_template.html
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/common/tools/ats/ats_generate_index.pl	Tue Jan 12 11:46:00 2010 +0000
@@ -0,0 +1,61 @@
+#!/usr/bin/perl
+
+# Copyright (c) 2009 Symbian Foundation Ltd
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Symbian Foundation Ltd - initial contribution.
+#   Maciej Seroka, maciej@symbian.org
+#
+# Description:
+#   This is a tool for generating the top-level index for BC test reports.
+
+use strict;
+use File::Copy;
+use Tie::File;
+use File::Find;
+
+my @files;
+my @lines;
+sub Wanted;
+
+my $path;
+if ($ARGV[0]) {
+  $path = $ARGV[0];
+ }
+else { die "Missing parameter \"path\". For example: //v800020/Publish/SF_builds/symbian2/builds/default/symbian2_default.sf-test-bc-check.PDK_2.0.1.51/ats_reports"; }
+
+find(\&Wanted, $path);
+my $n = 0;
+foreach (@files) { #Replace "//v800020/Publish" with "http://cdn.symbian,org"
+	@files[$n] =~ s/\/\/v800020\/Publish/http:\/\/cdn.symbian.org/;
+	$n++;
+}
+#Copy template and insert links
+copy("report_template.html","index.html") or die ("Cannot copy file \"report_template.html\". $!\n");
+tie @lines, 'Tie::File', "index.html" or die ("Cannot tie file \"index.html\". $!\n");
+my $current_line = 0;
+for (@lines) {
+	if (/<!-- Insert reports here -->/) {
+		my $i = 0;
+		foreach (@files) {
+			splice @lines, $current_line+$i+1, 0, "<tr class=\"tableData\"><td align=\"center\">" . ($i+1) . "</td>" . "<td align=\"left\"><a href=\"" . @files[$i] . "\">" . @files[$i] . "</a></td></tr>"; 
+			$i++;
+		}
+		last;
+	}
+	$current_line++;
+}
+untie @lines;
+print @{files} . " link(s) added.\n";
+#copy index
+copy("index.html","$path/index.html") or die ("Cannot copy file \"index.html\" to $path. $!\n");
+
+sub Wanted {
+    # only operate on ATS3Report.html files
+    /ATS3Report.html/ or return;	
+	push (@files, $File::Find::name);
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/common/tools/ats/report_template.html	Tue Jan 12 11:46:00 2010 +0000
@@ -0,0 +1,152 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<title>
+ATS3 generated test report
+</title>
+<style>
+body
+{
+background-color:#ffffff;
+margin:0px;
+color:black;
+font-family: verdana, arial, sans-serif;
+font-size: 12px;
+}
+td
+{
+font-family: verdana, arial, tahoma;
+font-size: 12px;
+}
+.tableHeader
+{
+background-color: #7383DF;
+font-family: verdana, arial, tahoma;
+font-size: 11px;
+font-weight: bold;
+color: #ffffff;
+}
+.tableData
+{
+background-color: #ffffff;
+}
+.legendPassed
+{
+background-color: #90ff90;
+border: 1px solid #e6e6e6;
+}
+.legendFailed
+{
+background-color: #ff9090;
+border: 1px solid #e6e6e6;
+}
+.legendSkipped
+{
+background-color: #9090ff;
+border: 1px solid #e6e6e6;
+}
+.legendNoResult
+{
+background-color: #ffbb90;
+border: 1px solid #e6e6e6;
+}
+.legendDisabled
+{
+background-color: #b0b0b0;
+border: 1px solid #e6e6e6;
+}
+.passed
+{
+background-color: #90ff90;
+}
+.failed
+{
+background-color: #ff9090;
+}
+.skipped
+{
+background-color: #9090ff;
+}
+.noResult
+{
+background-color: #ffbb90;
+}
+.disabled
+{
+background-color: #b0b0b0;
+}
+div.passed {
+font-size: 12px;
+background-color: #90ff90;
+border-top: 0px;
+border-bottom: 1px solid #e6e6e6;
+border-left: 0px;
+border-right: 0px;
+padding:4px;
+}
+div.failed {
+font-size: 12px;
+background-color: #ff9090;
+border-top: 0px;
+border-bottom: 1px solid #e6e6e6;
+border-left: 0px;
+border-right: 0px;
+padding:4px;
+}
+div.skipped {
+font-size: 12px;
+background-color: #9090ff;
+border-top: 0px;
+border-bottom: 1px solid #e6e6e6;
+border-left: 0px;
+border-right: 0px;
+padding:4px;
+}
+div.noResult {
+font-size: 12px;
+background-color: #ffbb90;
+border-top: 0px;
+border-bottom: 1px solid #e6e6e6;
+border-left: 0px;
+border-right: 0px;
+padding:4px;
+}
+div.disabled {
+font-size: 12px;
+background-color: #b0b0b0;
+border-top: 0px;
+border-bottom: 1px solid #e6e6e6;
+border-left: 0px;
+border-right: 0px;
+padding:4px;
+}
+a
+{
+text-decoration: underline;
+color: #000000;
+}
+a:hover
+{
+text-decoration: underline;
+color: #000000;
+}
+</style>
+</head>
+<body>
+<div>
+<!-- Summary -->
+<div id="summary" style="margin:8px 16px 8px 16px;">
+<table cellpadding="0" cellspacing="0" border="0">
+<tr><td><b>&nbsp;</b></td></tr>
+</table>
+<table cellpadding="4" cellspacing="1" border="0" bgcolor="#e6e6e6">
+<tr class="tableHeader">
+<td>&nbsp;</td>
+<td>Binary Compatibility Test Reports</td>
+</tr>
+<!-- Insert reports here -->
+</table>
+</div>
+</body>
+</html>