--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/bldsystemtools/commonbldutils/GenResult/smoketest.tmpl Wed Mar 31 23:20:42 2010 +0300
@@ -0,0 +1,149 @@
+[@--# Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# 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:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# Template processed by GenDiamondsXml.pm
+#
+#--@]
+<?xml version="1.0" encoding="utf-8"?>
+<diamonds-build>
+ <schema>[@--$ENV{DiamondsSchemaNum}--@]</schema>
+[@--
+ use myutils;
+ use GenAutoSmokeTestResult;
+ our $Gtotal = 0;
+ our $Gexecuted = 0 ;
+ our $Gsuccessful =0;
+ our $Gnot_tested = 0 ;
+ our $Gfailed = 0 ;
+ our $Gtestcases;
+ our $Gtitle = "";
+
+ my $iDir = &myutils::getiDir();
+ my $iSnapshot = &myutils::getiSnapshot();
+ my $iProduct = &myutils::getiProduct();
+ my $iLinkPath = &myutils::getiLinkPath();
+
+
+ {
+ #my $str = PlanTxtAutoSmokeTestResult('.\\', "MSF00290", "tb92sf", '.\\');
+ my $str = PlanTxtAutoSmokeTestResult($iDir, $iSnapshot, $iProduct, $iLinkPath);
+
+ if ($str ne undef) #not empty
+ {
+ $Gtestcases = resultTestCasesXMLbody($str);
+ $Gtotal = $Gsuccessful+ $Gnot_tested+ $Gfailed; # total number of testcases
+ }
+}
+$OUT = '';#return value
+
+# _html2text HTML formate convert to plan text string.
+# input a html string
+# ouput smiplified text
+sub _html2text {
+ my ($str) = shift(@_);
+
+ $str =~ s/\n//sg; # Remove all obsolete newlines.
+
+ # Link:
+ $str =~ s/<a[ ]+.*?>(.+)<\/a>/$1/ig;
+
+ # Table:
+ $str =~ s/<\/?table[ ]*.*?>/\n/ig;
+ $str =~ s/<td[ ]*.*?>/\t/ig;
+ $str =~ s/<tr[ ]*.*?>/\n/ig;
+ $str =~ s/<th[ ]*.*?>/\t/ig;
+
+ # Cleaning up:
+ $str =~ s/<.*?>//sg; # Remove all tags.
+ $str =~ s/\n[ ]+\n/\n\n/sg; # Remove all obsolete spaces.
+ $str =~ s/\n[ ]+/\n/sg;
+ $str =~ s/\n{2,}/\n\n/sg; # Remove all obsolete newlines.
+ $str =~ s/^[ ]*//g; # Remove all leading spaces (again).
+ $str =~ s/[ ]+/ /g; # Remove all duplicate spaces (again).
+
+ $str =~ s/[\t\t]+/\t/g;
+ return $str;
+}
+
+sub PlanTxtAutoSmokeTestResult
+{
+ my ($iLogsPublishLocation, $iSnapshot, $iProduct, $iLinkPathLocation) = @_;
+ my $str;
+ $str = GenAutoSmokeTestResult::generateSTHTMLSummary($iLogsPublishLocation."AutoSmokeTest", $iSnapshot, $iProduct, $iLinkPathLocation."AutoSmokeTest");
+ $str =~ s/[\t]+//g; # Remove extra \t. the \t was gen by GenSmokeTestResult.pm
+
+ $str = _html2text($str);
+
+ $str =~ s/ //g; #remove  
+ $str =~ s/\n\t/\n/g;#remove \t at head
+ $str =~ s/\n\n/\n/g;
+ $str=~ s/^\n//g;#remove first empy line
+ return $str;
+}
+
+sub resultTestCasesXMLbody
+{
+ my ($str) = shift (@_);
+ my @lines = split(/\n/,$str);
+ #print Dumper(\@lines);
+ $Gtitle = $lines[0];#Auto Smoke Test
+ @results = @lines[2..$#lines];
+ #print Dumper(\@results);
+
+ my $ret ="<testcases>\n";
+ my @testTitle = split (/\t/, $lines[1]);
+ foreach my $APlatform (@results)
+ {
+ my @result = split (/\t/, $APlatform);
+ $plat = $result[0];# platform name;
+ $result[1];# Summary
+ $result[2];# Time World
+ $result[3];# Contacts
+ $result[4];# Messaging
+ $result[5];# Agenda
+ $result[6];# Defects
+ for (my $i =2;$i<6;++$i)
+ {
+ $ret .= "<testcase>\n<name>".$plat.$testTitle[$i]."</name>\n";
+ $ret .= "<status>".$result[$i]."</status>\n";
+ $ret .= "</testcase>\n";
+ if ($result[$i] =~/FAILURES/)
+ {$Gexecuted++;
+ $Gfailed++;} #FAILURES
+ elsif( $result[$i] =~/Unexecuted/)
+ {$Gnot_tested++;}#Unexecuted
+ elsif ( $result[$i] =~/OK/)
+ {$Gexecuted++;
+ $Gsuccessful++;}#OK
+
+ }
+ }
+ $ret .="</testcases>\n";
+ return $ret;
+}
+
+--@]
+ <tests>
+ <test_results>
+ <test type="[@--$Gtitle--@]">
+ <total>[@--$Gtotal--@]</total>
+ <executed>[@--$Gexecuted--@]</executed>
+ <successful>[@--$Gsuccessful--@]</successful>
+ <failed>[@--$Gfailed--@]</failed>
+ <not_tested>[@--$Gnot_tested--@]</not_tested>
+ [@--$Gtestcases--@]
+ </test>
+ </test_results>
+ </tests>
+</diamonds-build>
+