1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
#*************************************************************************
#
# $RCSfile: README,v $
#
# $Revision: 1.3 $
#
# last change: $Author: sb $ $Date: 2005-05-30 07:38:02 $
#
# The Contents of this file are made available subject to the terms of
# either of the following licenses
#
# - GNU Lesser General Public License Version 2.1
# - Sun Industry Standards Source License Version 1.1
#
# Sun Microsystems Inc., October, 2000
#
# GNU Lesser General Public License Version 2.1
# =============================================
# Copyright 2000 by Sun Microsystems, Inc.
# 901 San Antonio Road, Palo Alto, CA 94303, USA
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License version 2.1, as published by the Free Software Foundation.
#
# This library 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 for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
# MA 02111-1307 USA
#
#
# Sun Industry Standards Source License Version 1.1
# =================================================
# The contents of this file are subject to the Sun Industry Standards
# Source License Version 1.1 (the "License"); You may not use this file
# except in compliance with the License. You may obtain a copy of the
# License at http://www.openoffice.org/license.html.
#
# Software provided under this License is provided on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
# WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
# MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
# See the License for the specific provisions governing your rights and
# obligations concerning the Software.
#
# The Initial Developer of the Original Code is: Sun Microsystems, Inc.
#
# Copyright: 2005 by Sun Microsystems, Inc.
#
# All Rights Reserved.
#
# Contributor(s): _______________________________________
#
#
#*************************************************************************
This directory contains tests for the UNO Runtime Environment (URE). There are
two makefiles, Makefile and Makefile.pln, each to be executed with a
sufficiently recent GNU make.
The first, Makefile, is intended to be run from within a configured SDK
environment (where the SDK is configured to work with a URE installation, not an
office installation; see .../docs/install.html within the SDK installation).
Three things need to be noted:
- The SDK must be configured to use a C++ compiler (which is in principle
optional when working with the SDK, but needed by Makefile).
- The SDK must be configured to use a JDK (which is in principle optional when
working with the SDK, but needed by Makefile).
- On Linux x86, the environment variable GCCS_COMPAT can be used to work around
incompatibilities between the GCC version used to build the URE and the GCC
version used while executing the tests (see above for the configured C++
compiler). See the README of the UDK for further details.
The second, Makefile.pln, is intended to be run without setting up any special
environment. Currently, this variant is only intended to work on Linux x86.
The things that must be set up manually are:
- The environment variable SDK_HOME must point to the base directory of some
OpenOffice.org Software Development Kit (SDK) (e.g.,
/opt/OpenOffice.org2.0_SDK). This is only necessary to have access to some
UNO programming tools and files that are not part of the URE (idlc, cppumaker,
javamaker, UNOIDL files, and C++ headers).
- The environment variable URE_HOME, if set, can be used to overwrite the
default URE location (/opt/openoffice.org/ure).
- The environment variable GCCS_COMPAT can be used to work around
incompatibilities between the GCC version used to build the URE and the GCC
version used while executing the tests (see next). See the README of the UDK
for further details.
- A GCC installation (including g++) is expected to be available on the PATH.
See the SDK Installation Guide ($SDK_HOME/docs/install.html) for minimum
version requirements.
- A JDK installation (java, javac, jar) is expected ot be available on the PATH.
See the SDK Installation Guide ($SDK_HOME/docs/install.html) for minimum
version requirements.
The tests that are executed in Makefile and Makefile.pln are the same, though
they are built differently (note that Makefile uses a local sub-directory
./out.sdk for generated files, while Makefile.pln uses ./out.pln):
- test-regview checks that the regview executable from the URE installation
works reliably (only in Makefile.pln; the other executables from the URE
installation are tested indirectly when making the other tests).
- test-cpptest builds a C++ UNO component (cppmain.uno) that is run via the uno
executable. It first tries to instantiate all the UNO services and singletons
that are part of the URE installation. Then it tries to instantiate and call
a C++ UNO component (ccptest.uno) and a Java UNO component (javatest.uno),
both of which must throw a special exception which in turn is caught by
cppmain.uno.
- test-javatest builds a Java UNO component (javamain.uno) that is run via the
uno executable. It tries to instantiate and call a C++ UNO component
(cpptest.uno) and a Java UNO component (javatest.uno), both of which must
throw a special exception which in turn is caught by javamain.uno.
- test-clientserver builds a server C++ UNO component (cppserver.uno) that is
run via the uno executable and listens on a pipe connection, and a Java UNO
component (javaclient.uno) that us run via the java executable and connects to
the server (after waiting for five seconds to give the server time to start
up).
|