summaryrefslogtreecommitdiff
path: root/testgraphical
diff options
context:
space:
mode:
authorLars Langhans <lla@openoffice.org>2010-05-10 14:22:17 +0200
committerLars Langhans <lla@openoffice.org>2010-05-10 14:22:17 +0200
commita140d01587697909c3fb8a0e5d8e0055cfff0de1 (patch)
tree35cd532cc8be761b6c4b9ee418a0e5358cfab993 /testgraphical
parent44cdcc97d0238924d9446a0c4b4768b627f96cdc (diff)
gfxcmp02: #159601# add graphical compare test
Diffstat (limited to 'testgraphical')
-rw-r--r--testgraphical/source/cwstestresulthelper.pm268
1 files changed, 268 insertions, 0 deletions
diff --git a/testgraphical/source/cwstestresulthelper.pm b/testgraphical/source/cwstestresulthelper.pm
new file mode 100644
index 000000000000..37a5315445af
--- /dev/null
+++ b/testgraphical/source/cwstestresulthelper.pm
@@ -0,0 +1,268 @@
+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
+# <http://www.openoffice.org/license.html>
+# 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;