summaryrefslogtreecommitdiffstats
path: root/solenv
diff options
context:
space:
mode:
authorsb <sb@openoffice.org>2010-02-12 17:36:13 +0100
committersb <sb@openoffice.org>2010-02-12 17:36:13 +0100
commit13de8eb0e0d603fdaab6503616ae72c11d972ac1 (patch)
tree467680aa099adf4f7e58ee3c38334dee3c83a4d7 /solenv
parentsb118: #i109112# re-purpose EXTRAJARFILES (diff)
downloadcore-13de8eb0e0d603fdaab6503616ae72c11d972ac1.tar.gz
core-13de8eb0e0d603fdaab6503616ae72c11d972ac1.zip
sb118: moved test OOo installation stuff to new solenv/inc/installationtest.mk (makefile parts) and new test module (C++ and, new, Java unit test parts); adapted sw/qa/unoapi to new (Java) test framework
Diffstat (limited to 'solenv')
-rw-r--r--solenv/inc/installationtest.mk121
-rw-r--r--solenv/inc/libs.mk2
2 files changed, 123 insertions, 0 deletions
diff --git a/solenv/inc/installationtest.mk b/solenv/inc/installationtest.mk
new file mode 100644
index 000000000000..29660f18c971
--- /dev/null
+++ b/solenv/inc/installationtest.mk
@@ -0,0 +1,121 @@
+#*************************************************************************
+# 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.
+#***********************************************************************/
+
+.IF "$(OS)" == "WNT"
+my_file = file:///
+.ELSE
+my_file = file://
+.END
+
+# The following conditional is an approximation of: UPDATER set to YES and
+# SHIPDRIVE set and CWS_WORK_STAMP not set and either SOL_TMP not set or
+# SOLARENV set to a pathname of which SOL_TMP is not a prefix:
+.IF "$(UPDATER)" == "YES" && "$(SHIPDRIVE)" != "" && \
+ "$(CWS_WORK_STAMP)" == "" && "$(SOLARENV:s/$(SOL_TMP)//" == "$(SOLARENV)"
+my_instsets = $(shell ls -dt \
+ $(SHIPDRIVE)/$(INPATH)/OpenOffice/archive/$(WORK_STAMP)_$(UPDMINOR)_native_packed-*_$(defaultlangiso).$(BUILD))
+my_instset = $(my_instsets:1)
+.ELSE
+my_instset = \
+ $(SOLARSRC)/instsetoo_native/$(INPATH)/OpenOffice/archive/install/$(defaultlangiso)
+.END
+
+.IF "$(OS)" == "MACOSX"
+my_soffice = $(MISC)/$(TARGET)/installation/opt/OpenOffice.org.app/Contents/MacOS/soffice
+.ELIF "$(OS)" == "WNT"
+my_soffice = `cat \
+ $(MISC)/$(TARGET)/installation.flag`'/opt/OpenOffice.org 3/program/soffice.exe'
+.ELSE
+my_soffice = $(MISC)/$(TARGET)/installation/opt/openoffice.org3/program/soffice
+.END
+
+.IF "$(OOO_LIBRARY_PATH_VAR)" != ""
+my_cppenv = \
+ -env:arg-env=$(OOO_LIBRARY_PATH_VAR)"$${{$(OOO_LIBRARY_PATH_VAR)+=$$$(OOO_LIBRARY_PATH_VAR)}}"
+my_javaenv = \
+ -Dorg.openoffice.test.arg.env=$(OOO_LIBRARY_PATH_VAR)"$${{$(OOO_LIBRARY_PATH_VAR)+=$$$(OOO_LIBRARY_PATH_VAR)}}"
+.END
+
+# Work around Windows problems with long pathnames (see issue 50885) by
+# installing into the temp directory instead of the module output tree (in which
+# case $(TARGET).installation.flag contains the path to the temp installation,
+# which is removed after smoketest); can be removed once issue 50885 is fixed:
+.IF "$(OS)" == "WNT"
+$(MISC)/$(TARGET)/installation.flag : \
+ $(shell ls $(my_instset)/OOo_*_install.zip)
+ $(MKDIRHIER) $(@:d)
+ my_tmp=$$(cygpath -m $$(mktemp -dt ooosmoke.XXXXXX)) && \
+ unzip $(my_instset)/OOo_*_install.zip -d "$$my_tmp" && \
+ mv "$$my_tmp"/OOo_*_install "$$my_tmp"/opt && \
+ echo "$$my_tmp" > $@
+.ELSE
+$(MISC)/$(TARGET)/installation.flag : \
+ $(shell ls $(my_instset)/OOo_*_install.tar.gz)
+ $(RM) -r $(MISC)/$(TARGET)/installation
+ $(MKDIRHIER) $(MISC)/$(TARGET)/installation
+ cd $(MISC)/$(TARGET)/installation && \
+ $(GNUTAR) xfz $(my_instset)/OOo_*_install.tar.gz
+ $(MV) $(MISC)/$(TARGET)/installation/OOo_*_install \
+ $(MISC)/$(TARGET)/installation/opt
+ $(TOUCH) $@
+.END
+
+cpptest .PHONY : $(MISC)/$(TARGET)/installation.flag \
+ $(MISC)/$(TARGET)/services.rdb
+ $(RM) -r $(MISC)/$(TARGET)/user
+ $(MKDIRHIER) $(MISC)/$(TARGET)/user
+ $(CPPUNITTESTER) \
+ -env:UNO_SERVICES=$(my_file)$(PWD)/$(MISC)/$(TARGET)/services.rdb \
+ -env:UNO_TYPES=$(my_file)$(SOLARBINDIR)/types.rdb \
+ -env:arg-path=$(my_soffice) -env:arg-user=$(MISC)/$(TARGET)/user \
+ $(my_cppenv) $(OOO_CPPTEST_ARGS)
+.IF "$(OS)" == "WNT"
+ $(RM) -r $(MISC)/$(TARGET)/installation.flag \
+ `cat $(MISC)/$(TARGET)/installation.flag`
+.END
+
+$(MISC)/$(TARGET)/services.rdb :
+ $(MKDIRHIER) $(@:d)
+ $(RM) $@
+ $(REGCOMP) -register -r $@ -wop -c bridgefac.uno -c connector.uno \
+ -c remotebridge.uno -c uuresolver.uno
+
+.IF "$(SOLAR_JAVA)" == "TRUE"
+javatest .PHONY : $(MISC)/$(TARGET)/installation.flag $(JAVATARGET)
+ $(RM) -r $(MISC)/$(TARGET)/user
+ $(MKDIR) $(MISC)/$(TARGET)/user
+ $(JAVAI) $(JAVACPS) $(OOO_JUNIT_JAR)$(PATH_SEPARATOR)$(CLASSPATH) \
+ -Dorg.openoffice.test.arg.path=$(my_soffice) \
+ -Dorg.openoffice.test.arg.user=$(my_file)$(PWD)/$(MISC)/$(TARGET)/user \
+ $(my_javaenv) org.junit.runner.JUnitCore \
+ $(foreach,i,$(JAVATESTFILES) $(subst,/,. $(PACKAGE)).$(i:s/.java//))
+.IF "$(OS)" == "WNT"
+ $(RM) -r $(MISC)/$(TARGET)/installation.flag \
+ `cat $(MISC)/$(TARGET)/installation.flag`
+.END
+.ELSE
+javatest .PHONY :
+ echo 'javatest needs SOLAR_JAVA=TRUE'
+.END
diff --git a/solenv/inc/libs.mk b/solenv/inc/libs.mk
index 5ad14d4d87c7..3ee4441c33a2 100644
--- a/solenv/inc/libs.mk
+++ b/solenv/inc/libs.mk
@@ -347,6 +347,7 @@ PYUNOLIB=-lpyuno
LPSOLVELIB=-llpsolve55
SOFFICELIB=-lsofficeapp
UNOPKGAPPLIB=-lunopkgapp
+TESTLIB=-ltest
.ELSE # ("$(GUI)"=="UNX" || "$(COM)"=="GCC") && "$(GUI)"!="OS2"
@@ -527,5 +528,6 @@ PYUNOLIB=ipyuno.lib
LPSOLVELIB=lpsolve55.lib
SOFFICELIB=isofficeapp.lib
UNOPKGAPPLIB=iunopkgapp.lib
+TESTLIB=itest.lib
.ENDIF # ("$(GUI)"=="UNX" || "$(COM)"=="GCC") && "$(GUI)"!="OS2"