diff options
author | Xisco Fauli <anistenis@gmail.com> | 2011-08-21 21:50:13 +0200 |
---|---|---|
committer | Xisco Fauli <anistenis@gmail.com> | 2011-08-21 21:50:13 +0200 |
commit | 6c76e4db034fd2c43884698b1a30225fd00b3bfd (patch) | |
tree | 1937cb9be81cd2b9f3d0ad27adcc7a7531b8f29d /testgraphical/source/cwstestresult.pl | |
parent | e9440fb5a0579096423c081b0f0a2185b628e896 (diff) | |
parent | 36703ca1de68cd62782d0d425123521a5bc6732b (diff) |
Merge branch 'master' into feature/gsoc2011_wizards
Conflicts:
automation/source/inc/cmdbasestream.hxx
automation/source/server/cmdbasestream.cxx
automation/source/server/retstrm.hxx
automation/source/testtool/cmdstrm.cxx
automation/source/testtool/cmdstrm.hxx
automation/source/testtool/tcommuni.cxx
basctl/prj/d.lst
basctl/uiconfig/basicide/toolbar/findbar.xml
cui/source/dialogs/about.cxx
cui/source/dialogs/about.src
cui/source/inc/about.hxx
extensions/source/abpilot/abpservices.cxx
extensions/source/dbpilots/dbpservices.cxx
extensions/source/propctrlr/pcrservices.cxx
extensions/source/svg/makefile.mk
forms/Library_frm.mk
lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hyphenimp.cxx
lingucomponent/source/spellcheck/spell/sspellimp.cxx
package/prj/d.lst
package/source/zipapi/XMemoryStream.cxx
package/source/zipapi/XMemoryStream.hxx
setup_native/prj/d.lst
setup_native/source/win32/customactions/relnotes/makefile.mk
tools/test/export.map
wizards/com/sun/star/wizards/common/ConfigGroup.py
wizards/com/sun/star/wizards/common/ConfigNode.py
wizards/com/sun/star/wizards/common/Configuration.py
wizards/com/sun/star/wizards/common/Desktop.py
wizards/com/sun/star/wizards/common/FileAccess.py
wizards/com/sun/star/wizards/common/Helper.py
wizards/com/sun/star/wizards/common/SystemDialog.py
wizards/com/sun/star/wizards/document/OfficeDocument.py
wizards/com/sun/star/wizards/fax/FaxDocument.py
wizards/com/sun/star/wizards/fax/FaxWizardDialog.py
wizards/com/sun/star/wizards/fax/FaxWizardDialogConst.py
wizards/com/sun/star/wizards/fax/FaxWizardDialogImpl.py
wizards/com/sun/star/wizards/fax/FaxWizardDialogResources.py
wizards/com/sun/star/wizards/letter/LetterDocument.py
wizards/com/sun/star/wizards/letter/LetterWizardDialog.py
wizards/com/sun/star/wizards/letter/LetterWizardDialogConst.py
wizards/com/sun/star/wizards/letter/LetterWizardDialogImpl.py
wizards/com/sun/star/wizards/letter/LetterWizardDialogResources.py
wizards/com/sun/star/wizards/text/TextDocument.py
wizards/com/sun/star/wizards/text/TextFieldHandler.py
wizards/com/sun/star/wizards/text/TextSectionHandler.py
wizards/com/sun/star/wizards/text/ViewHandler.py
wizards/com/sun/star/wizards/ui/UnoDialog.py
wizards/com/sun/star/wizards/ui/UnoDialog2.py
wizards/com/sun/star/wizards/ui/WizardDialog.py
wizards/com/sun/star/wizards/ui/event/CommonListener.py
wizards/com/sun/star/wizards/ui/event/DataAware.py
wizards/com/sun/star/wizards/ui/event/RadioDataAware.py
wizards/com/sun/star/wizards/ui/event/UnoDataAware.py
wizards/util/helpids.h
wizards/util/hidother.src
xmlsecurity/prj/build.lst
xmlsecurity/prj/d.lst
xmlsecurity/qa/certext/SanCertExt.cxx
Diffstat (limited to 'testgraphical/source/cwstestresult.pl')
-rw-r--r-- | testgraphical/source/cwstestresult.pl | 208 |
1 files changed, 208 insertions, 0 deletions
diff --git a/testgraphical/source/cwstestresult.pl b/testgraphical/source/cwstestresult.pl new file mode 100644 index 000000000000..63c68c827dbd --- /dev/null +++ b/testgraphical/source/cwstestresult.pl @@ -0,0 +1,208 @@ +: +eval 'exec perl -wS $0 ${1+"$@"}' + if 0; + +#************************************************************************* +# +# 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. +# +#************************************************************************* + +# +# cwstestresult.pl - publish results of CWS tests to EIS +# + +use strict; +use Getopt::Long; +use Cwd; + +#### module lookup +my @lib_dirs; +BEGIN { + if ( !defined($ENV{SOLARENV}) ) { + die "No environment found (environment variable SOLARENV is undefined)"; + } + push(@lib_dirs, "$ENV{SOLARENV}/bin/modules"); + push(@lib_dirs, "$ENV{COMMON_ENV_TOOLS}/modules") if defined($ENV{COMMON_ENV_TOOLS}); +} +use lib (@lib_dirs); + +use Cws; + +#### global ##### +( my $script_name = $0 ) =~ s/^.*\b(\w+)\.pl$/$1/; + +my $is_debug = 1; # enable debug +my $opt_master; # option: master workspace +my $opt_child; # option: child workspace +my $opt_milestone; # option: milestone +my $opt_testrunName; # option: testrunName +my $opt_testrunPlatform; # option: testrunPlatfrom +my $opt_resultPage; # option: resultPage + + +#### main ##### + +my $arg_status= parse_options(); +testresult($arg_status); +exit(0); + +#### subroutines #### + +sub testresult +{ + my $status = shift; + # get master and child workspace + my $masterws = $opt_master ? uc($opt_master) : $ENV{WORK_STAMP}; + my $milestone = $opt_milestone ? $opt_milestone : $ENV{UPDMINOR}; + my $childws = $opt_milestone ? undef : ( $opt_child ? $opt_child : $ENV{CWS_WORK_STAMP} ); + + if ( !defined($masterws) ) { + print_error("Can't determine master workspace environment.\n" + . "Please initialize environment with setsolar ...", 1); + } + + if ( !defined($childws) && !defined($milestone) ) { + print_error("Can't determine child workspace environment or milestone.\n" + . "Please initialize environment with setsolar ...", 1); + } + if ( !defined($opt_resultPage) ) { + $opt_resultPage=""; + } + my $cws = Cws->new(); + if ( defined($childws) ) { + $cws->child($childws); + } + $cws->master($masterws); + my $eis = $cws->eis(); + + no strict; + my $result=''; + + if ( defined($childws) ) { + $opt_resultPage=SOAP::Data->type(string => $opt_resultPage); + my $id = $cws->eis_id(); + if ( is_valid_cws($cws) ) { + $result=$eis->submitTestResult($id,$opt_testrunName,$opt_testrunPlatform, $opt_resultPage, $status); + } else { + print STDERR "cws is not valid"; + } + } else { + $opt_resultPage=SOAP::Data->type(string => $opt_resultPage); + $result=$eis->submitTestResultMWS($masterws,$milestone,$opt_testrunName,$opt_testrunPlatform, $opt_resultPage, $status); + } + + exit(0) +} + + +sub is_valid_cws +{ + my $cws = shift; + + my $masterws = $cws->master(); + my $childws = $cws->child(); + # check if we got a valid child workspace + my $id = $cws->eis_id(); + if ( !$id ) { + print_error("Child workspace '$childws' for master workspace '$masterws' not found in EIS database.", 2); + } + return 1; +} + +sub parse_options +{ + # parse options and do some sanity checks + Getopt::Long::Configure("no_ignore_case"); + my $help = 0; + my $success = GetOptions('h' => \$help, + 'M=s' => \$opt_master, + 'm=s' => \$opt_milestone, + 'c=s' => \$opt_child, + 'n=s' => \$opt_testrunName, + 'p=s' => \$opt_testrunPlatform , + 'r=s' => \$opt_resultPage ); + if ( $help || !$success || $#ARGV < 0 || (!defined($opt_testrunName)) || ( !defined($opt_testrunPlatform)) ) { + usage(); + exit(1); + } + + print "$opt_master\n"; + print "$opt_milestone\n"; + print "$opt_child\n"; + print "$opt_testrunName\n"; + print "$opt_testrunPlatform\n"; + print "$opt_resultPage\n"; + + if ( defined($opt_milestone) && defined($opt_child) ) { + print_error("-m and -c are mutually exclusive options",1); + } + + return $ARGV[0]; +} + +# sub print_message +# { +# my $message = shift; +# +# print STDERR "$script_name: "; +# print STDERR "$message\n"; +# return; +# } + +sub print_error +{ + my $message = shift; + my $error_code = shift; + + print STDERR "$script_name: "; + print STDERR "ERROR: $message\n"; + + if ( $error_code ) { + print STDERR "\nFAILURE: $script_name aborted.\n"; + exit($error_code); + } + return; +} + +sub usage +{ + print STDERR "Usage: cwstestresult[-h] [-M masterws] [-m milestone|-c childws] <-n testrunName> <-p testrunPlatform> <-r resultPage> statusName\n"; + print STDERR "\n"; + print STDERR "Publish result of CWS- or milestone-test to EIS\n"; + print STDERR "\n"; + print STDERR "Options:\n"; + print STDERR "\t-h\t\t\thelp\n"; + print STDERR "\t-M master\t\toverride MWS specified in environment\n"; + print STDERR "\t-m milestone\t\toverride milestone specified in environment\n"; + print STDERR "\t-c child\t\toverride CWS specified in environment\n"; + print STDERR "\t-n testrunName\t\tspecifiy name of the test\n"; + print STDERR "\t-p testrunPlatform\tspecify platform where the test ran on\n"; + print STDERR "\t-r resultPage\t\tspecify name of attachment or hyperlink\n"; + print STDERR "\t\t\t\tfor resultPage\n"; + + + print STDERR "\nExample:\n"; + print STDERR "\tcwstestresult -c mycws -n Performance -p Windows -r PerfomanceTestWindows.html ok\n"; +} |