package cwstestresulthelper; #************************************************************************* # # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # Copyright 2000, 2010 Oracle and/or its affiliates. # # OpenOffice.org - a multi-platform office productivity suite # # This file is part of OpenOffice.org. # # OpenOffice.org is free software: you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License version 3 # only, as published by the Free Software Foundation. # # OpenOffice.org is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License version 3 for more details # (a copy is included in the LICENSE file that accompanied this code). # # You should have received a copy of the GNU Lesser General Public License # version 3 along with OpenOffice.org. If not, see # # for a copy of the LGPLv3 License. # #************************************************************************* use English; use warnings; use strict; use Cwd; use Cwd 'chdir'; use stringhelper; use loghelper; use oshelper; use filehelper; use CallExternals; BEGIN { use Exporter (); our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS); $VERSION = 1.00; # if using RCS/CVS, this may be preferred $VERSION = do { my @r = (q$Revision: 1.1 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r }; # must be all one line, for MakeMaker @ISA = qw(Exporter); @EXPORT = qw(&cwstestresult); %EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ], # your exported package globals go here, # as well as any optionally exported functions @EXPORT_OK = ( ); # qw($Var1 %Hashit &func3); } sub cwstestresult($$$$$$) { my $sStatus = shift; my $sDBdistinct = shift; my $sourceversion = shift; my $destinationversion = shift; my $sSOLARENV; # = getSolenvPath(); my $nSOLARENV_fake = 0; my $sCOMMON_ENV_TOOLS; my $nCOMMON_ENV_TOOLS_fake = 0; my $MAJOR; my $MINOR; # we need an extra state in DB # if this state is given here, we need to add information in cws back. if ( ! $sSOLARENV) { my @MAJORMINOR=split('_', $sourceversion); if ($#MAJORMINOR < 1) { print "Failure with sourceversion '$sourceversion' not splitable.\n"; return; } $MAJOR=$MAJORMINOR[0]; # DEV300, OOH310, ... $MINOR=$MAJORMINOR[1]; # m45, ... if (getEnvironment() eq "wntmsci") { $sSOLARENV="o:/$MAJOR/ooo.$MINOR/solenv"; if (! -e $sSOLARENV) { # fallback to old before ause103 (treeconfig) $sSOLARENV="o:/$MAJOR/src.$MINOR/solenv"; } } elsif (getEnvironment() eq "unxlngi" || getEnvironment() eq "unxsoli") { $sSOLARENV="/so/ws/$MAJOR/ooo.$MINOR/solenv"; # automount system("ls -al $sSOLARENV >/dev/null"); sleep(1); if (! -e $sSOLARENV) { # fallback to old before ause103 (treeconfig) $sSOLARENV="/so/ws/$MAJOR/src.$MINOR/solenv"; } } else { log_print("cwstestresult(): This environment is not supported."); return; } } if ( !defined($ENV{SOLARENV}) || length($ENV{SOLARENV}) == 0 ) { $ENV{SOLARENV} = $sSOLARENV; log_print(" SOLARENV is: $ENV{SOLARENV} faked\n"); $nSOLARENV_fake = 1; } if ( ! $sCOMMON_ENV_TOOLS) { if (isWindowsEnvironment()) { $sCOMMON_ENV_TOOLS="r:/etools"; } elsif (isUnixEnvironment() ) { $sCOMMON_ENV_TOOLS="/so/env/etools"; # automount system("ls -al $sCOMMON_ENV_TOOLS >/dev/null"); sleep(1); } else { log_print("cwstestresult(): This environment is not supported. (variable COMMON_ENV_TOOLS not set.)"); return; } } if ( !defined($ENV{COMMON_ENV_TOOLS}) || length($ENV{COMMON_ENV_TOOLS}) == 0 ) { $ENV{COMMON_ENV_TOOLS} = $sCOMMON_ENV_TOOLS; log_print( "COMMON_ENV_TOOLS is: $ENV{COMMON_ENV_TOOLS} faked\n"); $nCOMMON_ENV_TOOLS_fake = 1; } # if ( !defined($ENV{WORK_STAMP}) ) # { # $ENV{WORK_STAMP} = $MAJOR; # log_print( " WORK_STAMP is: $ENV{WORK_STAMP} faked\n"); # } # if ( !defined($ENV{UPDMINOR}) ) # { # $ENV{UPDMINOR} = $MINOR; # log_print( " UPDMINOR is: $ENV{UPDMINOR} faked\n"); # } my $nWORK_STAMP_fake = 0; my $nUPDMINOR_fake = 0; if ( !defined($ENV{WORK_STAMP}) || length($ENV{WORK_STAMP}) == 0 ) { $ENV{WORK_STAMP} = $MAJOR; log_print(" WORK_STAMP is: $ENV{WORK_STAMP} faked\n"); $nWORK_STAMP_fake = 1; } if ( !defined($ENV{UPDMINOR}) || length($ENV{WORK_STAMP}) == 0 ) { $ENV{UPDMINOR} = $MINOR; log_print(" UPDMINOR is: $ENV{UPDMINOR} faked\n"); $nUPDMINOR_fake = 1; } # my $sStatus = "ok"; # if ($nFailure == 0) # { # $sStatus = $sInfo; # } # elsif ($nFailure == 1) # { # $sStatus = "failed"; # } # elsif ($nFailure == 2) # { # $sStatus = "incomplete"; # } # system("cwstestresult -c mycws -n Performance -p Windows ok"); my $sPerlProgram = appendPath($sSOLARENV, "bin/cwstestresult.pl"); # if ( -e "cwstestresult.pl" ) # { # # use a local version instead # $sPerlProgram = "cwstestresult.pl"; # } # else # { # my $currentdir =cwd(); # log_print( "We are in $currentdir\n"); # } my $sPerlParam; # $sPerlParam = " -m $MAJOR"; # master CWS $sPerlParam .= " -c $destinationversion"; # name of CWS $sPerlParam .= " -n ConvWatch"; # ConvWatch need to be capitalised for cwstestresult my $sCWSEnv; if (isWindowsEnvironment()) { $sCWSEnv = "Windows"; } elsif (getEnvironment() eq "unxlngi") { $sCWSEnv = "Linux"; } elsif (getEnvironment() eq "unxsoli") { $sCWSEnv = "SolarisX86"; } else { log_print("cwstestresult(): This environment is not supported. (getEnvironment() returns wrong value?)"); return; } $sPerlParam .= " -p " . $sCWSEnv; $sPerlParam .= " -r http://so-gfxcmp-lin.germany.sun.com/gfxcmp_ui/status_new.php?distinct=$sDBdistinct"; $sPerlParam .= " "; $sPerlParam .= $sStatus; # my $sSetcwsAndPerl = "setcws $destinationversion; " . getPerlExecutable(); my $err = callperl(getPerlExecutable(), $sPerlProgram, $sPerlParam); if ($err != 0) { log_print( "Can't call cwstestresult.pl\n"); } if ($nSOLARENV_fake == 1) { $ENV{SOLARENV} = ""; undef( $ENV{SOLARENV} ); $nSOLARENV_fake = 0; # if ( defined($ENV{SOLARENV}) ) # { # print "SOLARENV always defined.\n"; # } } if ($nCOMMON_ENV_TOOLS_fake == 1) { $ENV{COMMON_ENV_TOOLS} = ""; undef( $ENV{COMMON_ENV_TOOLS} ); $nCOMMON_ENV_TOOLS_fake = 0; } if ( $nWORK_STAMP_fake == 1 ) { # undef($ENV{WORK_STAMP}); $ENV{WORK_STAMP} = ""; undef($ENV{WORK_STAMP}); $nWORK_STAMP_fake = 0; } if ( $nUPDMINOR_fake == 1 ) { $ENV{UPDMINOR} = ""; undef($ENV{UPDMINOR}); $nUPDMINOR_fake = 0; } } 1;