diff options
author | Vladimir Glazounov <vg@openoffice.org> | 2003-06-11 15:36:30 +0000 |
---|---|---|
committer | Vladimir Glazounov <vg@openoffice.org> | 2003-06-11 15:36:30 +0000 |
commit | 0e9bfebf67810eb1c729c6a82205b3b3a68cbffe (patch) | |
tree | 6d0e19abe9ab29d15d88f4c6113a67c31a5c4072 /sal/qa/helper | |
parent | 4b343e9cedb798e2cabdf55e9c09f870bb63866a (diff) |
INTEGRATION: CWS qadev8 (1.1.2); FILE ADDED
2003/06/10 09:46:23 lla 1.1.2.2: #110120# gcov enhancements.
2003/06/06 13:43:46 lla 1.1.2.1: #110120# gcov handling changes.
Diffstat (limited to 'sal/qa/helper')
-rw-r--r-- | sal/qa/helper/gcov/gcov_result.pl | 232 |
1 files changed, 232 insertions, 0 deletions
diff --git a/sal/qa/helper/gcov/gcov_result.pl b/sal/qa/helper/gcov/gcov_result.pl new file mode 100644 index 000000000000..414eac2c828b --- /dev/null +++ b/sal/qa/helper/gcov/gcov_result.pl @@ -0,0 +1,232 @@ +#!/usr/bin/perl -w +# +# $Id: gcov_result.pl,v 1.2 2003-06-11 16:36:30 vg Exp $ +# + +# GCOV_RESULT +# +# Helper, to interpret the result and put the result via html in a database. +# Put into DB works via php. +# +# Q: Why perl? +# A: regexp ;-) +# + +use strict; +use File::Basename; +use Getopt::Long; +use Time::localtime; + +our $version_info = 'gcov helper $Revision: 1.2 $ '; + +our $help; # Help option flag +our $version; # Version option flag +# our $infile; + +our $usedFunctions; # name of all functions filename, which have a value > 0 +our $nonusedFunctions; # name of all functions filename, which have a value == 0 +our $complete; # name of all functions filename, which have a value == 100 +our $incomplete; # name of all functions filename, which have a value > 0 && < 100 + +our $environment; +our $major; +our $minor; +our $cwsname; +our $outputDir; + +# Prototypes +sub print_usage(*); +sub read_gcov_function_file($); +sub create2DigitNumber($); + +# Parse command line options +if (!GetOptions( + "help" => \$help, + "version" => \$version, + + "usedfunctions=s" => \$usedFunctions, + "nonusedfunctions=s" => \$nonusedFunctions, + "complete=s" => \$complete, + "incomplete=s" => \$incomplete, + "cwsname=s" => \$cwsname, + "major=s" => \$major, + "minor=s" => \$minor, + "environment=s" => \$environment, + "outputdir=s" => \$outputDir + )) +{ + print_usage(*STDERR); + exit(1); +} + +# Check for help option +if ($help) +{ + print_usage(*STDOUT); + exit(0); +} + +# Check for version option +if ($version) +{ + print("$version_info\n"); + exit(0); +} + +# check if enough parameters +# if ($#ARGV < 0) +# { +# print("No input filename specified\n"); +# print_usage(*STDERR); +# exit(1); +# } + +# ------------------------------------------------------------------------------ + +my $sURL = "http://mahler.germany.sun.com/qadev/baselib/gcov_result_in_db_putter.php"; + +my $next = "?"; + +if ($complete) +{ + my $result = `cat $complete | wc -l`; + chomp($result); + $result =~ / *(\d+)/; + $sURL = $sURL . "$next" . "complete=$1"; + $next = "&"; +} + +if ($nonusedFunctions) +{ + my $result = `cat $nonusedFunctions | wc -l`; + chomp($result); + $result =~ / *(\d+)/; + $sURL = $sURL . "$next" . "notused=$1"; + $next = "&"; +} +if ($usedFunctions) +{ + my $result = `cat $usedFunctions | wc -l`; + chomp($result); + $result =~ / *(\d+)/; + $sURL = $sURL . "$next" . "used=$1"; + $next = "&"; +} +if ($incomplete) +{ + my $result = `cat $incomplete | wc -l`; + chomp($result); + $result =~ / *(\d+)/; + $sURL = $sURL . "$next" . "incomplete=$1"; + $next = "&"; +} + +if ($cwsname) +{ + # qadev8 + $sURL = $sURL . "$next" . "cwsname=$cwsname"; + $next = "&"; +} +if ($major) +{ + # srx645 + $sURL = $sURL . "$next" . "major=$major"; + $next = "&"; +} +if ($minor) +{ + # m3s1 + $sURL = $sURL . "$next" . "minor=$minor"; + $next = "&"; +} + +if ($environment) +{ + # unxlngi5 + $sURL = $sURL . "$next" . "environment=$environment"; + $next = "&"; +} + +my $year = localtime->year() + 1900; +my $month = create2DigitNumber(localtime->mon() + 1); +my $day = create2DigitNumber(localtime->mday()); +$sURL = $sURL . "$next" . "date=$year-$month-$day"; +$next = "&"; + +my $output; +if ($outputDir) +{ + chomp($outputDir); + $output = $outputDir; +} + +# check if output ends with "/" +if ( $output =~ /\/$/ ) +{ + print "Output name ends with '/'\n"; +} +else +{ + print "Output name does not end with '/'\n"; + $output = $output . "/"; +} +$output = $output . "php_result.txt"; + +my $result = `wget -O $output "$sURL"`; +print "$sURL\n"; + +print `cat $output`; + + +# ---------------------------------------------------------------------------- +sub print_usage(*) +{ + local *HANDLE = $_[0]; + my $tool_name = basename($0); + + print(HANDLE <<END_OF_USAGE); + +Usage: $tool_name [OPTIONS] + + -u, --usedfunctions count of all functions, which have a value > 0 + -n, --nonusedfunctions count of all functions, which have a value == 0 + -co, --complete count of all functions, which have a value == 100 + -i, --incomplete count of all functions, which have a value > 0 && < 100 + + -cw, --cwsname set cwsname + -ma, --major set major number + -mi, --minor set minor number + -e, --environment set environment + + -o, --outputdir set the directory, where to store the wget result + + -h, --help Print this help, then exit + -v, --version Print version number, then exit + +END_OF_USAGE + ; +} +# ------------------------------------------------------------------------------ +sub create2DigitNumber($) +{ + my $digit = $_[0]; + my $str; + my $nDigitLen = length $digit; + + if ($nDigitLen == 1) + { + $str = "0" . $digit; + } + else + { + if ($nDigitLen > 2) + { + $str = substr $digit, $nDigitLen - 2, 2; + } + else + { + $str = $digit; + } + } + return $str; +} |