--- a/bldsystemtools/commonbldutils/GenResult/BragStatus.pm Fri Apr 16 16:10:01 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,320 +0,0 @@
-# Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "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:
-# Script summarise and hotlink logfiles by reading
-# HTMLscanlog generated files
-# This initial version is phase 1 of 3.
-# 1. HTML scanlog input --> HTML report output
-# 2. HTML scanlog input --> XML report output + XSLT to HTML
-# 3. XML scanlog input --> XML report output + XSLT to HTML
-#
-#
-
-#!/usr/bin/perl -w
-package BragStatus;
-use FindBin;
-use FileRead;
-require GenResult;
-use strict;
-
-use constant SINGLE_SMOKETEST_FAILURE => 1;
-use constant PLATFORM_SMOKETEST_FAILURE => 2;
-use constant PLATFORM_SMOKETEST_SUCCESS => 0;
-
-my $gBragStatus = "Green";
-my $iHTMLFileName = "testlog.html";
-my $iTraceFileName = "trace.txt";
-my $iDevkitFileName = "Devkit\.log";
-
-my $iCfgFileLocation = $FindBin::Bin;
-#Read in the products from a cfg file
-my $text = FileRead::file_read("$iCfgFileLocation\\Product_AutoSmokeTest.cfg");
-my %iProducts = $text =~ /^\s*(\w+\.?\w+)\s*=\s*(.+)$/mg ;
-#Read in the smoketest list from a cfg file
-my $Smoketext = FileRead::file_read ("$iCfgFileLocation\\AutoSmoketests.cfg");
-my %iTests = $Smoketext =~ /^\s*(\w+\s*\w*\s*)=\s*(.+)$/mg ;
-
-my $iNumberOfTests = scalar(my @iTempArray = values %iTests);
-my $iLogsPublishLocation = "";
-
-# Entry point into the BragStatus module
-sub main
-{
- my ($iDir, $iSnapshot, $iProduct, $iLinkPath) = @_;
- # set file names, so that they can be accessed globally
- ${GenResult::iGTFileName} = "GT.summary.html";
- ${GenResult::iTVFileName} = "TV.summary.html";
- ${GenResult::iBUILDFileName} = "$iSnapshot"."_Symbian_OS_v"."$iProduct".".summary.html";
- ${GenResult::iCBRFileName} = "$iSnapshot"."_Symbian_OS_v"."$iProduct"."_cbr.summary.html";
- ${GenResult::iROMFileName} = "techviewroms"."$iSnapshot"."_Symbian_OS_v"."$iProduct". ".log";
-
- my $iLinkPathLocation = "";
- $iDir =~ s/[^\\]$/$&\\/; #add trailing backslash, if missing
- $iLogsPublishLocation = $iDir;
- if (-e $iLinkPath) {
- $iLinkPathLocation = $iLinkPath;
- } else {
- # if no link path is specified, then use current directory location
- #print "WARNING:" .$iLinkPath. " does not exist, linking with relative paths\n";
- $iLinkPathLocation = $iLogsPublishLocation;
- }
-
- if (-e $iLogsPublishLocation)
- {
- #Set the Files for the Smoketest package
- ${GenResult::iGTLogFileLocation} = $iLogsPublishLocation.${GenResult::iGTFileName};
- ${GenResult::iTVLogFileLocation} = $iLogsPublishLocation.${GenResult::iTVFileName};
- ${GenResult::iBUILDLogFileLocation} = $iLogsPublishLocation.${GenResult::iBUILDFileName};
- ${GenResult::iCBRLogFileLocation} = $iLogsPublishLocation.${GenResult::iCBRFileName};
- ${GenResult::iROMLogFileLocation} = $iLogsPublishLocation.${GenResult::iROMFileName};
-
- ####################################
- #BUILD RESULTS
- ####################################
- CheckBuildResults();
- }
- else
- {
- #Something is seriously wrong if there is no logs
- setBragStatus("Black");
- }
-
- ###############################
- #SMOKETEST
- ###############################
- CheckSmokeTest($iProduct, $iSnapshot."_Symbian_OS_v".$iProduct);
- ###############################
- CheckDevkit($iProduct);
- #CBR EXIST
- ###############################
- CheckCBRs($iProduct, $iSnapshot);
- return $gBragStatus;
-}
-
-#########################################################
-# Name:CheckSmokeTest
-# Input: Product
-# Outout: None
-# Description: Checks the smoketest tables for any errors
-#########################################################
-sub CheckSmokeTest
-{
- my $iProduct = shift;
- my $iFileName = shift;
- my $iResult = 0;
- my @iProductList = ($iProducts{$iProduct} =~ m/\S+/ig);
- my $iplatform_counter = 0;
-
-
- # Parse results from dabs/autorom smoketest solution
- # Passing 1 as the second argument ensures that the function acts for brag status only.
- $iResult = &GenAutoSmokeTestResult::printSTResultRow(1,($iLogsPublishLocation."AutoSmokeTest\\"),@iProductList);
-
- if($iResult == 1)
- {
- #Some tests failed for $iPlatform
- setBragStatus("Amber");
- }
- if($iResult == 2)
- {
- #Platform Failure
- setBragStatus("Red");
- }
-
- if($iResult == -1)
- {
- # BRAG status set to TBA as smoke tests do not appear to have been run
- setBragStatus("TBA");
- }
-}
-
-###########################################
-#Name: CheckBuildResults
-#inputs :None
-#Outputs:None
-#Description:Checks the same files as the Build Results table.
-###########################################
-sub CheckBuildResults
-{
- my @ListofChecks = qw(GT TV BUILD CBR ROM CDB);
- my $iCount = "0";
- while(@ListofChecks)
- {
- my $iFile = shift @ListofChecks;
- # zero errors, means 'None' is displayed
- if (!&GenResult::getHandleErrors($iFile))
- {
- setBragStatus("TBA");
- #Should jump up to While loop again
- next;
- }
-
- my $iResultRow;
- my @iResult = &GenResult::getResults($iFile);
- foreach (&GenResult::getResults($iFile)) {
- undef $iResultRow;
- if (($_->[1] != "0") || ($_->[3] != "0"))
- {
- #A Build Results Error
- setBragStatus("Amber");
- }
- if ($_->[5] != "0")
- {
- $GenResult::iBraggflag=1;
- }
-
- }#foreach
- $iCount++;
- }#end while
-}
-##############################################
-# Name: CheckCBRs
-# Inputs : product and snapshot number
-# Outputs: None
-# Description: Checks that the CBRs are created and sets the brag
-# status to Red if they havent been
-###############################################
-sub CheckCBRs
-{
- my $iProduct = shift;
- my $iSnapshot = shift;
-
- my $iCBR_GT_only_Location = "\\\\builds01\\devbuilds\\ComponentisedReleases\\DailyBuildArchive\\Symbian_OS_v$iProduct\\";
- my $iCBR_GT_techview_Location = "\\\\builds01\\devbuilds\\ComponentisedReleases\\DailyBuildArchive\\Symbian_OS_v$iProduct\\";
- #Check to see if its a test build
- if(&GenResult::isTestBuild() eq "1")
- {
- $iCBR_GT_only_Location = "\\\\builds01\\devbuilds\\Test_Builds\\ComponentisedReleases\\TestArchive\\Symbian_OS_v$iProduct\\";
- $iCBR_GT_techview_Location = "\\\\builds01\\devbuilds\\Test_Builds\\ComponentisedReleases\\TestArchive\\Symbian_OS_v$iProduct\\";
- }
-
- if( -e $iCBR_GT_only_Location)
- {
- #Check the GT_ONLY
- if( -e $iCBR_GT_only_Location."\\GT_only_baseline\\$iSnapshot\_Symbian_OS_v$iProduct\\reldata")
- {
- setBragStatus("Green");
- }
- else
- {
- setBragStatus("Red");
- }
- #Check the GT_techview_baseline
- if( -e $iCBR_GT_techview_Location."\\GT_techview_baseline\\$iSnapshot\_Symbian_OS_v$iProduct\\reldata")
- {
- setBragStatus("Green");
- }
- else
- {
- setBragStatus("Red");
- }
- }
- else #No CBRs built so BragStatus is Red
- {
- setBragStatus("Red");
- }
-}
-
-#########################################################
-# Name:CheckDevkit
-# Input: Product
-# Outout: None
-# Description: Checks the Devkit log file for any errors
-#########################################################
-sub CheckDevkit
-{
- my $iProduct = shift;
- my $iResult = 0;
- my @iProductList = ($iProducts{$iProduct} =~ m/\S+/ig);
- my $iplatform_counter = 0;
- foreach my $iPlatform (@iProductList)
- {
- $iResult = getDEVKITRow($iPlatform);
- if($iResult == 1)
- {
- #Error in $iPlatform
- setBragStatus("Amber");
- }
-
- }
-}
-
-sub getDEVKITRow
-{
-###############################################
-# Name: getDEVKITRow
-# Input: Platform
-# Output: 0 - No problems
-# 1 - error in log file
-#
-##############################################
-
- my $iPlatform = $_[0];
- my $iDKdir = "\\SmokeTest\\";
-
- open (DevkitLOGFILE, $iLogsPublishLocation.$iDKdir.$iDevkitFileName);
- my @iDevkitLog = <DevkitLOGFILE>;
- my $iErrorCount = 0;
- my $iLineOK = 0;
-
- foreach (@iDevkitLog) {
- if (m/ERROR:/)
- {
- $iErrorCount++;
- }
- else
- {
- $iLineOK++;
- }
- }
- if($iErrorCount > 0) { return 1;}else{return 0;}
-
-}
-
-###############################################
-# Name : setBragStatus
-# Inputs: Suggested Brag Status "Green","Amber","Red","Black"
-# Outputs: None
-# Description: This function sets the brag status
-# Brag status can only deteriorate, not improve
-###############################################
-sub setBragStatus
-{
- my $iBstatus = shift;
- if($gBragStatus eq "Green")
- {
- $gBragStatus = $iBstatus;
- return 0;
- }
- if(($gBragStatus eq "Amber") && (($iBstatus eq "Black") || ($iBstatus eq "Red")))
- {
- $gBragStatus = $iBstatus;
- return 0;
- }
-
- if(($gBragStatus eq "Red") && ($iBstatus eq "Black"))
- {
- $gBragStatus = $iBstatus;
- return 0;
- }
-
- if($iBstatus eq "TBA") # Set BRAG to "TBA" if the SmokeTests do not appear to have run.
- {
- $gBragStatus = $iBstatus;
- return 0;
- }
-
-#For Everything Else leave gBragStatus as is
- return 0;
-}
-1;