summaryrefslogtreecommitdiffstats
path: root/test/source/java/OfficeConnection.java
diff options
context:
space:
mode:
Diffstat (limited to 'test/source/java/OfficeConnection.java')
-rw-r--r--test/source/java/OfficeConnection.java54
1 files changed, 33 insertions, 21 deletions
diff --git a/test/source/java/OfficeConnection.java b/test/source/java/OfficeConnection.java
index 55cf54320a2d..6887c3bfa3cd 100644
--- a/test/source/java/OfficeConnection.java
+++ b/test/source/java/OfficeConnection.java
@@ -49,28 +49,38 @@ public final class OfficeConnection {
/** Start up an OOo instance.
*/
public void setUp() throws Exception {
- description = "pipe,name=oootest" + UUID.randomUUID();
- ProcessBuilder pb = new ProcessBuilder(
- getArgument("path"), "-quickstart=no", "-nofirststartwizard",
- "-norestore", "-accept=" + description + ";urp",
- "-env:UserInstallation=" + getArgument("user"),
- "-env:UNO_JAVA_JFW_ENV_JREHOME=true",
- "-env:UNO_JAVA_JFW_ENV_CLASSPATH=true");
- String envArg = getArgument("env");
- if (envArg != null) {
- Map<String, String> env = pb.environment();
- int i = envArg.indexOf("=");
- if (i == -1) {
- env.remove(envArg);
- } else {
- env.put(envArg.substring(0, i), envArg.substring(i + 1));
+ String sofficeArg = getArgument("soffice");
+ if (sofficeArg.startsWith("path:")) {
+ description = "pipe,name=oootest" + UUID.randomUUID();
+ ProcessBuilder pb = new ProcessBuilder(
+ sofficeArg.substring("path:".length()), "-quickstart=no",
+ "-nofirststartwizard", "-norestore",
+ "-accept=" + description + ";urp",
+ "-env:UserInstallation=" + getArgument("user"),
+ "-env:UNO_JAVA_JFW_ENV_JREHOME=true",
+ "-env:UNO_JAVA_JFW_ENV_CLASSPATH=true");
+ String envArg = getArgument("env");
+ if (envArg != null) {
+ Map<String, String> env = pb.environment();
+ int i = envArg.indexOf("=");
+ if (i == -1) {
+ env.remove(envArg);
+ } else {
+ env.put(envArg.substring(0, i), envArg.substring(i + 1));
+ }
}
+ process = pb.start();
+ outForward = new Forward(process.getInputStream(), System.out);
+ outForward.start();
+ errForward = new Forward(process.getErrorStream(), System.err);
+ errForward.start();
+ } else if (sofficeArg.startsWith("connect:")) {
+ description = sofficeArg.substring("connect:".length());
+ } else {
+ fail(
+ "\"soffice\" argument \"" + sofficeArg +
+ " starts with neither \"path:\" nor \"connect:\"");
}
- process = pb.start();
- outForward = new Forward(process.getInputStream(), System.out);
- outForward.start();
- errForward = new Forward(process.getErrorStream(), System.err);
- errForward.start();
XUnoUrlResolver resolver = UnoUrlResolver.create(
Bootstrap.createInitialComponentContext(null));
for (;;) {
@@ -82,7 +92,9 @@ public final class OfficeConnection {
";urp;StarOffice.ServiceManager"));
break;
} catch (NoConnectException e) {}
- assertNull(waitForProcess(process, 1000)); // 1 sec
+ if (process != null) {
+ assertNull(waitForProcess(process, 1000)); // 1 sec
+ }
}
}