diff -r 60be34e1b006 -r 8e27d440923e deprecated/buildtools/buildsystemtools/scanlog/compare_summary.pl --- a/deprecated/buildtools/buildsystemtools/scanlog/compare_summary.pl Wed Oct 27 16:03:51 2010 +0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,203 +0,0 @@ -# -# Copyright (c) 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: -# -# usage: -# perl compare_summary.pl new_build.summary last_build.summary > summary.summary -# - -sub usage - { - print "syntax: perl compare_summary.pl new_build.summary last_build.summary\n"; - exit 1; - } - -sub showtable - { - my $f=$_[0]; - my $s=$_[1]; - my %first=%$f; - my %second=%$s; - - my %comps; - my $key,$n,$n2,$temp; - - while ($key = each %first) { - $comps{$key}++;} - while ($key = each %second){ - $comps{$key}++;} - - foreach $key (sort keys %comps) - { - $n=$first{$key}; if ($n==0) {$n="0";} - $n2=$second{$key}; if ($n2==0) {$n2="0";} - $d=$n-$n2; - if ($d==0) {$d="";} - if ($d > 0) { $d="+$d";} - - $temp=sprintf "(%s)",$n2; - printf "%-24.24s %-5.5s%-7.7s\t\t%s\n", $key, $n, $temp, $d; - } - } - - - -$summaryfile1=$ARGV[0]; -$summaryfile2=$ARGV[1]; - -if (($summaryfile1 eq "") or ($summaryfile2 eq "")) { usage() }; - -open(FILE1, "< $summaryfile1") || die ("can't open summary file: $!"); -open(FILE2, "< $summaryfile2") || die ("can't open summary file: $!"); - -# find the start of the error summary in file 1 -while () - { - if (/Total+\s+(\S+)+\s+(\d+)+\s+(\d+)/) - { - $build1time=$1; - $build1errors=$2; - $build1warnings=$3; - last; - } - } -# find the start of the error summary in file 2 -while () - { - if (/Total+\s+(\S+)+\s+(\d+)+\s+(\d+)/) - { - $build2time=$1; - $build2errors=$2; - $build2warnings=$3; - last; - } - } - -print "Total\t\t$build1time($build2time)\t$build1errors($build2errors)\t$build1warnings($build2warnings)\n\n"; - -# compare builds -$build1haserrors=0; -$build2haserrors=0; - -# find the "Fatal errors" line -$dummy=;$dummy=; -if ($dummy =~ /Fatal Errors by Component/) { $build1haserrors=1;} -$dummy=;$dummy=; -if ($dummy =~ /Fatal Errors by Component/) { $build2haserrors=1;} - -if ($build1haserrors) - { - while () - { - if (/^(\S+)+\s+(\d+)/) - { - $theerrors1{$1}="$2"; - } - else - { - last; - } - } - } -if ($build2haserrors) - { - while () - { - if (/^(\S+)+\s+(\d+)/) - { - $theerrors2{$1}="$2"; - } - else - { - last; - } - } - } - -if ($build1haserrors || $build2haserrors) - { - print "Fatal Errors by Component\n"; - showtable(\%theerrors1, \%theerrors2); - print; - } - - -# do the warnings now -$build1haswarnings=0; -$build2haswarnings=0; -seek FILE1,0,0; -seek FILE2,0,0; -while () - { - if (/Warnings by Component/) - { - $build1haswarnings=1; - last; - } - } - -while () - { - if (/Warnings by Component/) - { - $build2haswarnings=1; - last; - } - } - -# compare builds -if ($build1haswarnings || $build2haswarnings) - { - - -if ($build1haswarnings) - { - while () - { - if (/^(\S+)\s+(\d+)/) - { - $thewarnings1{$1}=$2; - } - else - { - last; - } - } - } -if ($build2haswarnings) - { - while () - { - if (/^(\S+)\s+(\d+)/) - { - $thewarnings2{$1}=$2; - } - else - { - last; - } - } - } - - print "Warnings by Component\n"; - print " this (last)\n"; - showtable(\%thewarnings1, \%thewarnings2); - } - - - - -close FILE1; -close FILE2; -