summaryrefslogtreecommitdiff
path: root/jurt/test/com/sun/star/lib/uno/environments/remote
diff options
context:
space:
mode:
Diffstat (limited to 'jurt/test/com/sun/star/lib/uno/environments/remote')
-rw-r--r--jurt/test/com/sun/star/lib/uno/environments/remote/JavaThreadPoolFactory_Test.java56
-rw-r--r--jurt/test/com/sun/star/lib/uno/environments/remote/JobQueue_Test.java274
-rw-r--r--jurt/test/com/sun/star/lib/uno/environments/remote/TestIWorkAt.java49
-rw-r--r--jurt/test/com/sun/star/lib/uno/environments/remote/TestMessage.java89
-rw-r--r--jurt/test/com/sun/star/lib/uno/environments/remote/TestReceiver.java33
-rw-r--r--jurt/test/com/sun/star/lib/uno/environments/remote/TestWorkAt.java97
-rw-r--r--jurt/test/com/sun/star/lib/uno/environments/remote/ThreadId_Test.java63
-rw-r--r--jurt/test/com/sun/star/lib/uno/environments/remote/ThreadPool_Test.java443
-rw-r--r--jurt/test/com/sun/star/lib/uno/environments/remote/makefile.mk44
9 files changed, 0 insertions, 1148 deletions
diff --git a/jurt/test/com/sun/star/lib/uno/environments/remote/JavaThreadPoolFactory_Test.java b/jurt/test/com/sun/star/lib/uno/environments/remote/JavaThreadPoolFactory_Test.java
deleted file mode 100644
index 1434caed3..000000000
--- a/jurt/test/com/sun/star/lib/uno/environments/remote/JavaThreadPoolFactory_Test.java
+++ /dev/null
@@ -1,56 +0,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.
- *
- ************************************************************************/
-
-package com.sun.star.lib.uno.environments.remote;
-
-import complexlib.ComplexTestCase;
-
-public final class JavaThreadPoolFactory_Test extends ComplexTestCase {
- public String[] getTestMethodNames() {
- return new String[] { "test" };
- }
-
- public void test() throws InterruptedException {
- ThreadId i1 = JavaThreadPoolFactory.getThreadId();
- assure(i1.equals(JavaThreadPoolFactory.getThreadId()));
- final ThreadId[] i2 = new ThreadId[1];
- new Thread() {
- public void run() {
- synchronized (i2) {
- i2[0] = JavaThreadPoolFactory.getThreadId();
- i2.notify();
- }
- }
- }.start();
- synchronized (i2) {
- while (i2[0] == null) {
- i2.wait();
- }
- }
- assure(!i1.equals(i2[0]));
- }
-}
diff --git a/jurt/test/com/sun/star/lib/uno/environments/remote/JobQueue_Test.java b/jurt/test/com/sun/star/lib/uno/environments/remote/JobQueue_Test.java
deleted file mode 100644
index 83829cd95..000000000
--- a/jurt/test/com/sun/star/lib/uno/environments/remote/JobQueue_Test.java
+++ /dev/null
@@ -1,274 +0,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.
- *
- ************************************************************************/
-
-package com.sun.star.lib.uno.environments.remote;
-
-import com.sun.star.lib.uno.typedesc.MethodDescription;
-import com.sun.star.lib.uno.typedesc.TypeDescription;
-import complexlib.ComplexTestCase;
-
-public final class JobQueue_Test extends ComplexTestCase {
- public String getTestObjectName() {
- return getClass().getName();
- }
-
- public String[] getTestMethodNames() {
- return new String[] { "testThreadLeavesJobQueueOnDispose0",
- "testThreadLeavesJobQueueOnDispose5000",
- "testThreadLeavesJobQueueOnReply0",
- "testThreadLeavesJobQueueOnReply5000",
- "testStaticThreadExecutesJobs0",
- "testStaticThreadExecutesJobs5000",
- "testDynamicThreadExecutesJob",
- "testStaticThreadExecutesAsyncs",
- "testDynamicThreadExecutesAsyncs" };
- }
-
- public void testThreadLeavesJobQueueOnDispose0() throws InterruptedException
- {
- testThreadLeavesJobQueueOnDispose(0);
- }
-
- public void testThreadLeavesJobQueueOnDispose5000()
- throws InterruptedException
- {
- testThreadLeavesJobQueueOnDispose(5000);
- }
-
- private void testThreadLeavesJobQueueOnDispose(int waitTime)
- throws InterruptedException
- {
- TestThread t = new TestThread(waitTime);
- t.waitToStart();
- String msg = "xcxxxxxxxx";
- t._jobQueue.dispose(t._disposeId, new RuntimeException (msg));
- t.waitToTerminate();
- assure("", t._message.equals(msg));
- }
-
- public void testThreadLeavesJobQueueOnReply0() throws InterruptedException {
- testThreadLeavesJobQueueOnReply(0);
- }
-
- public void testThreadLeavesJobQueueOnReply5000()
- throws InterruptedException
- {
- testThreadLeavesJobQueueOnReply(5000);
- }
-
- private void testThreadLeavesJobQueueOnReply(int waitTime)
- throws InterruptedException
- {
- TestThread t = new TestThread(waitTime);
- t.waitToStart();
- // put reply job:
- t._jobQueue.putJob(
- new Job(null, __iReceiver,
- new Message(
- null, false, "oid", __workAt_td, null, false, null,
- false, null, null)),
- null);
- t.waitToTerminate();
- assure("", true); // TODO! ???
- }
-
- public void testStaticThreadExecutesJobs0() throws InterruptedException {
- testStaticThreadExecutesJobs(0);
- }
-
- public void testStaticThreadExecutesJobs5000() throws InterruptedException {
- testStaticThreadExecutesJobs(5000);
- }
-
- private void testStaticThreadExecutesJobs(int waitTime)
- throws InterruptedException
- {
- TestThread t = new TestThread(waitTime);
- t.waitToStart();
- testExecuteJobs(t._jobQueue);
- t._jobQueue.dispose(t._disposeId,
- new RuntimeException("xxxxxxxxxxxxx"));
- t.waitToTerminate();
- }
-
- public void testDynamicThreadExecutesJob() throws InterruptedException {
- testExecuteJobs(
- new JobQueue(
- __javaThreadPoolFactory, ThreadId.createFresh(), true));
- }
-
- public void testStaticThreadExecutesAsyncs() throws InterruptedException {
- TestThread t = new TestThread();
- JobQueue async_jobQueue = new JobQueue(__javaThreadPoolFactory,
- t._threadId);
- assure("", async_jobQueue._ref_count == 1);
- t._jobQueue = __javaThreadPoolFactory.getJobQueue(t._threadId);
- assure("", t._jobQueue._ref_count == 1);
- t.waitToStart();
- TestWorkAt workAt = new TestWorkAt();
- testAsyncJobQueue(workAt, async_jobQueue, t._threadId);
- t._jobQueue.dispose(t._disposeId,
- new RuntimeException("xxxxxxxxxxxxx"));
- t.waitToTerminate();
- assure("", workAt._async_counter == TestWorkAt.MESSAGES);
- assure("", workAt._sync_counter == TestWorkAt.MESSAGES);
- }
-
- public void testDynamicThreadExecutesAsyncs() throws InterruptedException {
- ThreadId threadId = ThreadId.createFresh();
- JobQueue async_jobQueue = new JobQueue(__javaThreadPoolFactory,
- threadId);
- TestWorkAt workAt = new TestWorkAt();
- testAsyncJobQueue(workAt, async_jobQueue, threadId);
- assure("", workAt._async_counter == TestWorkAt.MESSAGES);
- assure("", workAt._sync_counter == TestWorkAt.MESSAGES);
- }
-
- private void testExecuteJobs(JobQueue jobQueue) throws InterruptedException
- {
- TestWorkAt workAt = new TestWorkAt();
- testSendRequests(workAt, "increment", jobQueue);
- synchronized (workAt) {
- jobQueue.putJob(new Job(workAt, __iReceiver,
- new Message(
- null, true, "oid", __workAt_td,
- ((MethodDescription)
- __workAt_td.getMethodDescription(
- "notifyme")),
- true, null, false, null, null)),
- null);
- while (!workAt._notified) {
- workAt.wait();
- }
- }
- assure("", workAt._counter == TestWorkAt.MESSAGES);
- }
-
- private void testAsyncJobQueue(TestWorkAt workAt, JobQueue async_jobQueue,
- ThreadId threadId)
- throws InterruptedException
- {
- // put slow async calls first, followed by fast sync calls:
- testSendRequests(workAt, "asyncCall", async_jobQueue);
- testSendRequests(workAt, "syncCall",
- __javaThreadPoolFactory.getJobQueue(threadId));
- synchronized (workAt) {
- async_jobQueue._sync_jobQueue.putJob(
- new Job(workAt, __iReceiver,
- new Message(
- null, true, "oid", __workAt_td,
- ((MethodDescription)
- __workAt_td.getMethodDescription("notifyme")),
- true, null, false, null, null)),
- null);
- while (!workAt._notified) {
- workAt.wait();
- }
- }
- assure("", workAt.passedAsyncTest());
- }
-
- private void testSendRequests(TestWorkAt workAt, String operation,
- JobQueue jobQueue) {
- Message iMessage = new Message(
- null, true, "oid", __workAt_td,
- (MethodDescription) __workAt_td.getMethodDescription(operation),
- true, null, false, null, null);
- for (int i = 0; i < TestWorkAt.MESSAGES; ++ i) {
- Thread.yield(); // force scheduling
- jobQueue.putJob(new Job(workAt, __iReceiver, iMessage),
- new Object());
- }
- }
-
- private static final class TestThread extends Thread {
- public final ThreadId _threadId = JavaThreadPoolFactory.getThreadId();
- public final Object _disposeId = new Object();
- public JobQueue _jobQueue = null;
- public String _message;
-
- public TestThread(int waitTime) {
- this.waitTime = waitTime;
- _jobQueue = new JobQueue(__javaThreadPoolFactory, _threadId, false);
- }
-
- public TestThread() {
- waitTime = 0;
- }
-
- public void run() {
- synchronized (lock) {
- state = STATE_STARTED;
- lock.notifyAll();
- }
- try {
- if (waitTime != 0) {
- Thread.sleep(waitTime);
- }
- _jobQueue.enter(_disposeId);
- } catch (Throwable e) {
- _message = e.getMessage();
- }
- synchronized (lock) {
- state = STATE_DONE;
- lock.notifyAll();
- }
- }
-
- public void waitToStart() throws InterruptedException {
- start();
- synchronized (lock) {
- while (state == STATE_INITIAL) {
- lock.wait();
- }
- }
- }
-
- public void waitToTerminate() throws InterruptedException {
- synchronized (lock) {
- while (state != STATE_DONE) {
- lock.wait();
- }
- }
- join();
- }
-
- private final int waitTime;
-
- private final Object lock = new Object();
- private int state = STATE_INITIAL;
- private static final int STATE_INITIAL = 0;
- private static final int STATE_STARTED = 1;
- private static final int STATE_DONE = 2;
- }
-
- private static final JavaThreadPoolFactory __javaThreadPoolFactory
- = new JavaThreadPoolFactory();
- private static final IReceiver __iReceiver = new TestReceiver();
- private static final TypeDescription __workAt_td
- = TypeDescription.getTypeDescription(TestIWorkAt.class);
-}
diff --git a/jurt/test/com/sun/star/lib/uno/environments/remote/TestIWorkAt.java b/jurt/test/com/sun/star/lib/uno/environments/remote/TestIWorkAt.java
deleted file mode 100644
index c4946208f..000000000
--- a/jurt/test/com/sun/star/lib/uno/environments/remote/TestIWorkAt.java
+++ /dev/null
@@ -1,49 +0,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.
- *
- ************************************************************************/
-
-package com.sun.star.lib.uno.environments.remote;
-
-
-import com.sun.star.lib.uno.typeinfo.MethodTypeInfo;
-import com.sun.star.lib.uno.typeinfo.TypeInfo;
-import com.sun.star.uno.XInterface;
-
-public interface TestIWorkAt extends XInterface {
- void syncCall() throws Throwable ;
- void asyncCall() throws Throwable ;
-
- void increment() throws Throwable;
-
- void notifyme();
-
- public static final TypeInfo UNOTYPEINFO[] = {
- new MethodTypeInfo("increment", 0, 0),
- new MethodTypeInfo("notifyme", 1, 0),
- new MethodTypeInfo("syncCall", 2, 0),
- new MethodTypeInfo("asyncCall", 3, 0)
- };
-}
diff --git a/jurt/test/com/sun/star/lib/uno/environments/remote/TestMessage.java b/jurt/test/com/sun/star/lib/uno/environments/remote/TestMessage.java
deleted file mode 100644
index c4bc55696..000000000
--- a/jurt/test/com/sun/star/lib/uno/environments/remote/TestMessage.java
+++ /dev/null
@@ -1,89 +0,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.
- *
- ************************************************************************/
-package com.sun.star.lib.uno.environments.remote;
-
-
-import com.sun.star.uno.Type;
-
-import com.sun.star.uno.ITypeDescription;
-
-
-class TestMessage implements IMessage {
- boolean _synchron;
- ITypeDescription _iTypeDescription;
- String _oid;
- ThreadId _threadId;
- Object _result;
- String _operation;
- Object _params[];
-
- TestMessage(boolean synchron, ITypeDescription iTypeDescription, String oid, ThreadId threadId, Object result, String operation, Object params[]) {
- _synchron = synchron;
- _iTypeDescription = iTypeDescription;
- _oid = oid;
- _threadId = threadId;
- _result = result;
- _operation = operation;
- _params = params;
- }
-
- public String getOperation() {
- return _operation;
- }
-
- public ThreadId getThreadId() {
- return _threadId;
- }
-
- public ITypeDescription getInterface() {
- return _iTypeDescription;
- }
-
- public boolean isSynchron() {
- return _synchron;
- }
-
- public boolean mustReply() {
- return _synchron;
- }
-
- public boolean isException() {
- return false;
- }
-
- public String getOid() {
- return _oid;
- }
-
- public Object getData(Object params[][]) {
- params[0] = _params;
- return _result;
-// return new Integer(_requestId);
- }
-}
-
-
diff --git a/jurt/test/com/sun/star/lib/uno/environments/remote/TestReceiver.java b/jurt/test/com/sun/star/lib/uno/environments/remote/TestReceiver.java
deleted file mode 100644
index 0a42d4f2d..000000000
--- a/jurt/test/com/sun/star/lib/uno/environments/remote/TestReceiver.java
+++ /dev/null
@@ -1,33 +0,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.
- *
- ************************************************************************/
-
-package com.sun.star.lib.uno.environments.remote;
-
-final class TestReceiver implements IReceiver {
- public void sendReply(boolean exception, ThreadId threadId, Object result) {
- }
-}
diff --git a/jurt/test/com/sun/star/lib/uno/environments/remote/TestWorkAt.java b/jurt/test/com/sun/star/lib/uno/environments/remote/TestWorkAt.java
deleted file mode 100644
index c45b020da..000000000
--- a/jurt/test/com/sun/star/lib/uno/environments/remote/TestWorkAt.java
+++ /dev/null
@@ -1,97 +0,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.
- *
- ************************************************************************/
-
-package com.sun.star.lib.uno.environments.remote;
-
-class TestWorkAt implements TestIWorkAt {
- /**
- * When set to true, enables various debugging output.
- */
- private static final boolean DEBUG = false;
-
- static final int MESSAGES = 35;
-
-
- int _counter;
-
- int _sync_counter;
- int _async_counter;
-
- Thread _sync_thread;
- Thread _async_thread;
-
- boolean _passedAync = true;
- boolean _notified = false;
-
- public void syncCall() throws Throwable {
- ++ _sync_counter;
-
- if(_async_counter != MESSAGES)
- _passedAync = false;
-
- if(_sync_thread == null)
- _sync_thread = Thread.currentThread();
-
-// if(_sync_thread != Thread.currentThread())
-// _passedAync = false;
-
- if(DEBUG) System.err.println("syncCall:" + _sync_counter + " " + _passedAync + " " + Thread.currentThread());
- }
-
- public void asyncCall() throws Throwable {
-// Thread.sleep(50);
-
- ++ _async_counter;
-
- if(_async_thread == null)
- _async_thread = Thread.currentThread();
-
-// if(_async_thread != Thread.currentThread())
-// _passedAync = false;
-
- if(DEBUG) System.err.println("asyncCall:" + _async_counter + " " + Thread.currentThread());
- }
-
- public synchronized void increment() throws Throwable {
- if(DEBUG) System.err.println("increment - " + Thread.currentThread());
-
- ++ _counter;
- notifyAll();
- }
-
- public synchronized void notifyme() {
- if(DEBUG) System.err.println("\t\t\tnotifying me" + Thread.currentThread());
-
- notifyAll();
-
- _notified = true;
- }
-
- public boolean passedAsyncTest() {
- return _passedAync && (_sync_counter == MESSAGES);
- }
-}
diff --git a/jurt/test/com/sun/star/lib/uno/environments/remote/ThreadId_Test.java b/jurt/test/com/sun/star/lib/uno/environments/remote/ThreadId_Test.java
deleted file mode 100644
index b3ff1c757..000000000
--- a/jurt/test/com/sun/star/lib/uno/environments/remote/ThreadId_Test.java
+++ /dev/null
@@ -1,63 +0,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.
- *
- ************************************************************************/
-
-package com.sun.star.lib.uno.environments.remote;
-
-import complexlib.ComplexTestCase;
-import java.util.Arrays;
-
-public final class ThreadId_Test extends ComplexTestCase {
- public String[] getTestMethodNames() {
- return new String[] { "test" };
- }
-
- public void test() {
- ThreadId i1 = ThreadId.createFresh();
- assure(i1.equals(i1));
- assure(!i1.equals(null));
- assure(!i1.equals(new Object()));
- assure(i1.hashCode() == i1.hashCode());
- byte[] i1bytes = i1.getBytes();
- assure(i1bytes != null);
- assure(
- i1bytes.length >= 5 && i1bytes[0] == 'j' && i1bytes[1] == 'a'
- && i1bytes[2] == 'v' && i1bytes[3] == 'a' && i1bytes[4] == ':');
- assure(Arrays.equals(i1bytes, i1.getBytes()));
-
- ThreadId i2 = ThreadId.createFresh();
- assure(!i1.equals(i2));
- assure(!i2.equals(i1));
- assure(!Arrays.equals(i1bytes, i2.getBytes()));
-
- ThreadId i3 = new ThreadId(i1bytes);
- assure(i3.equals(i1));
- assure(!i3.equals(i2));
- assure(i1.equals(i3));
- assure(i1.hashCode() == i3.hashCode());
- assure(Arrays.equals(i1bytes, i3.getBytes()));
- }
-}
diff --git a/jurt/test/com/sun/star/lib/uno/environments/remote/ThreadPool_Test.java b/jurt/test/com/sun/star/lib/uno/environments/remote/ThreadPool_Test.java
deleted file mode 100644
index 45c05e72d..000000000
--- a/jurt/test/com/sun/star/lib/uno/environments/remote/ThreadPool_Test.java
+++ /dev/null
@@ -1,443 +0,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.
- *
- ************************************************************************/
-
-package com.sun.star.lib.uno.environments.remote;
-
-import com.sun.star.lib.uno.typedesc.MethodDescription;
-import com.sun.star.lib.uno.typedesc.TypeDescription;
-import complexlib.ComplexTestCase;
-
-public class ThreadPool_Test extends ComplexTestCase {
- public String getTestObjectName() {
- return getClass().getName();
- }
-
- public String[] getTestMethodNames() {
- return new String[] { "testDispose",
- "testThreadAsync",
- "testDynamicThreadSync",
- "testStaticThreadSync",
- "testDynamicThreadAsyncSyncOrder",
- "testStaticThreadAsyncSyncOrder",
- "testStress",
- "testAsyncSync" };
- }
-
- public void testDispose() throws InterruptedException {
- IThreadPool iThreadPool = ThreadPoolManager.create();
- TestThread testThread = new TestThread(iThreadPool);
-
- ThreadId threadId = null;
-
- // start the test thread
- synchronized(testThread) {
- testThread.start();
-
- testThread.wait();
-
- threadId = testThread._threadId;
-
- // let the thread attach and enter the threadpool
- testThread.notifyAll();
- }
-
- String message = "blabla";
-
- // terminate the test thread
- synchronized(testThread) {
- // put reply job
- iThreadPool.dispose(new RuntimeException(message));
-
- testThread.wait();
- }
-
- testThread.join();
-
- assure("", testThread._message.equals(message));
- }
-
- public void testThreadAsync() throws InterruptedException {
- TestWorkAt workAt = new TestWorkAt();
-
- ThreadId threadId = ThreadId.createFresh();
-
- // queue asyncs
- for(int i = 0; i < TestWorkAt.MESSAGES; ++ i) {
- Thread.yield(); // force scheduling
- putJob(workAt, false, threadId, "increment");
- }
-
- synchronized(workAt) {
- putJob(workAt, false, threadId, "notifyme");
-
- while(!workAt._notified)
- workAt.wait();
- }
-
- assure("", workAt._counter == TestWorkAt.MESSAGES);
- }
-
- public void testDynamicThreadSync() throws InterruptedException {
- TestWorkAt workAt = new TestWorkAt();
-
- ThreadId threadId = ThreadId.createFresh();
-
- // queue asyncs
- for(int i = 0; i < TestWorkAt.MESSAGES; ++ i) {
- Thread.yield(); // force scheduling
- putJob(workAt, true, threadId, "increment");
- }
-
- synchronized(workAt) {
- putJob(workAt, true, threadId, "notifyme");
-
- while(!workAt._notified)
- workAt.wait();
- }
-
- assure("", workAt._counter == TestWorkAt.MESSAGES);
- }
-
- public void testStaticThreadSync() throws InterruptedException {
- TestWorkAt workAt = new TestWorkAt();
-
- TestThread testThread = new TestThread();
-
- ThreadId threadId = null;
-
- // start the test thread
- synchronized(testThread) {
- testThread.start();
-
- testThread.wait();
-
- threadId = testThread._threadId;
-
- // let the thread attach and enter the threadpool
- testThread.notifyAll();
- }
-
- // queue syncs
- for(int i = 0; i < TestWorkAt.MESSAGES; ++ i) {
- Thread.yield(); // force scheduling
- putJob(workAt, true, threadId, "increment");
- }
-
- // terminate the test thread
- synchronized(testThread) {
- // put reply job
- putJob(workAt, true, threadId, null);
-
- testThread.wait();
- }
-
- testThread.join();
-
- assure("", workAt._counter == TestWorkAt.MESSAGES);
- }
-
- public void testDynamicThreadAsyncSyncOrder() throws InterruptedException {
- TestWorkAt workAt = new TestWorkAt();
-
- ThreadId threadId = ThreadId.createFresh();
-
- // queue asyncs
- for(int i = 0; i < TestWorkAt.MESSAGES; ++ i) {
- Thread.yield(); // force scheduling
- putJob(workAt, false, threadId, "asyncCall");
- }
-
- // queue syncs
- for(int i = 0; i < TestWorkAt.MESSAGES; ++ i) {
- Thread.yield(); // force scheduling
- putJob(workAt, true, threadId, "syncCall");
- }
-
- synchronized(workAt) {
- putJob(workAt, true, threadId, "notifyme");
-
- while(!workAt._notified)
- workAt.wait();
- }
-
- assure("", workAt.passedAsyncTest());
- }
-
- public void testStaticThreadAsyncSyncOrder() throws InterruptedException {
- TestWorkAt workAt = new TestWorkAt();
-
- TestThread testThread = new TestThread();
-
- // start the test thread
- synchronized(testThread) {
- testThread.start();
-
- testThread.wait();
- }
-
- ThreadId threadId = testThread._threadId;
-
- // queue asyncs
- for(int i = 0; i < TestWorkAt.MESSAGES; ++ i) {
- Thread.yield(); // force scheduling
- putJob(workAt, false, threadId, "asyncCall");
- }
-
- // let the thread attach and enter the threadpool
- synchronized(testThread) {
- testThread.notifyAll();
- }
-
- // queue syncs
- for(int i = 0; i < TestWorkAt.MESSAGES; ++ i) {
- Thread.yield(); // force scheduling
- putJob(workAt, true, threadId, "syncCall");
- }
-
- // terminate the test thread
- synchronized(testThread) {
- // put reply job
- putJob(workAt, true, threadId, null);
-
- testThread.wait();
- }
-
- testThread.join();
-
- assure("", workAt.passedAsyncTest());
- }
-
- public void testStress() throws InterruptedException {
- TestWorkAt workAt = new TestWorkAt();
- for (int i = 0; i < TestWorkAt.MESSAGES; ++i) {
- Thread.yield(); // force scheduling
- ThreadId threadID = ThreadId.createFresh();
- putJob(workAt, true, threadID, "increment");
- putJob(workAt, false, threadID, "increment");
- }
- synchronized (workAt) {
- while (workAt._counter < 2 * TestWorkAt.MESSAGES) {
- workAt.wait();
- }
- }
-
- abstract class Stress extends Thread {
- public Stress(int count) {
- this.count = count;
- }
-
- public void run() {
- try {
- for (int i = 0; i < count; ++i) {
- runTest();
- }
- } catch (Throwable e) {
- e.printStackTrace(System.err);
- }
- }
-
- protected abstract void runTest() throws InterruptedException;
-
- private final int count;
- };
-
- Stress stress1 = new Stress(50) {
- protected void runTest() throws InterruptedException {
- testThreadAsync();
- }
- };
- stress1.start();
-
- Stress stress2 = new Stress(50) {
- protected void runTest() throws InterruptedException {
- testDynamicThreadSync();
- }
- };
- stress2.start();
-
- Stress stress3 = new Stress(50) {
- protected void runTest() throws InterruptedException {
- testStaticThreadSync();
- }
- };
- stress3.start();
-
- Stress stress4 = new Stress(50) {
- protected void runTest() throws InterruptedException {
- testDynamicThreadAsyncSyncOrder();
- }
- };
- stress4.start();
-
- Stress stress5 = new Stress(50) {
- protected void runTest() throws InterruptedException {
- testStaticThreadAsyncSyncOrder();
- }
- };
- stress5.start();
-
- Stress stress6 = new Stress(500) {
- protected void runTest() throws InterruptedException {
- testDispose();
- }
- };
- stress6.start();
-
- stress1.join();
- stress2.join();
- stress3.join();
- stress4.join();
- stress5.join();
- stress6.join();
- }
-
- public void testAsyncSync() throws InterruptedException {
- TestWorkAt workAt = new TestWorkAt();
- ThreadId threadId = ThreadId.createFresh();
- MyWorkAt myWorkAt = new MyWorkAt( workAt );
-
- // queue asyncs
- for(int i = 0; i < TestWorkAt.MESSAGES; ++ i) {
- if( i == 2 )
- {
- putJob( myWorkAt, false , threadId, "asyncCall" );
- }
- putJob(workAt, false, threadId, "asyncCall");
- }
-
- synchronized(workAt) {
- putJob(workAt, false, threadId, "notifyme");
-
- while(!workAt._notified)
- workAt.wait();
- }
-
- assure("",
- workAt._async_counter == TestWorkAt.MESSAGES
- && myWorkAt._success);
- }
-
- private static void putJob(TestIWorkAt iWorkAt, boolean synchron,
- ThreadId threadId, String operation) {
- __iThreadPool.putJob(
- new Job(iWorkAt, __iReceiver,
- new Message(
- threadId, operation != null, "oid", __workAt_td,
- (operation == null
- ? null
- : ((MethodDescription)
- __workAt_td.getMethodDescription(operation))),
- synchron, null, false, null, null)));
- }
-
- private static final class TestThread extends Thread {
- ThreadId _threadId;
- Object _disposeId = new Object();
- String _message;
- IThreadPool _iThreadPool;
-
- TestThread() {
- this(__iThreadPool);
- }
-
- TestThread(IThreadPool iThreadPool) {
- _iThreadPool = iThreadPool;
- }
-
- public void run() {
- _threadId = _iThreadPool.getThreadId();
-
-
- try {
- synchronized(this) {
- // notify that we are running
- notify();
-
- _iThreadPool.attach();
-
- // wait until we should continue
- wait();
- }
-
- _iThreadPool.enter();
- }
- catch(Throwable throwable) {
- _message = throwable.getMessage();
- }
-
- _iThreadPool.detach();
-
- synchronized(this) {
- // notify the listeners that we are dying
- notifyAll();
- }
- }
- }
-
- private static final class MyWorkAt implements TestIWorkAt {
- public MyWorkAt( TestWorkAt async_WorkAt ) {
- _async_WorkAt = async_WorkAt;
- }
-
- public void syncCall() throws Throwable
- {
- Message iMessage = new Message(
- __iThreadPool.getThreadId(), false, "oid", __workAt_td, null,
- false, null, false, null, null);
-
- // marshal reply
- ThreadPool_Test.__iThreadPool.putJob(
- new Job(this, ThreadPool_Test. __iReceiver, iMessage));
- }
-
- public void asyncCall() throws Throwable {
- for (int i = 0 ; i < 5 ; ++i) {
- ThreadPool_Test.__iThreadPool.attach();
- ThreadPool_Test.putJob(this, true, __iThreadPool.getThreadId(),
- "syncCall");
- // wait for reply
- ThreadPool_Test.__iThreadPool.enter();
- ThreadPool_Test.__iThreadPool.detach();
- }
- // async must have waited for this call
- _success = _async_WorkAt._async_counter == 2;
- }
-
- public void increment() throws Throwable {}
-
- public void notifyme() {}
-
- public boolean _success = false;
-
- private final TestWorkAt _async_WorkAt;
- }
-
- private static final IThreadPool __iThreadPool = ThreadPoolManager.create();
- private static final IReceiver __iReceiver = new TestReceiver();
- private static final TypeDescription __workAt_td
- = TypeDescription.getTypeDescription(TestIWorkAt.class);
-}
diff --git a/jurt/test/com/sun/star/lib/uno/environments/remote/makefile.mk b/jurt/test/com/sun/star/lib/uno/environments/remote/makefile.mk
deleted file mode 100644
index e2323a54b..000000000
--- a/jurt/test/com/sun/star/lib/uno/environments/remote/makefile.mk
+++ /dev/null
@@ -1,44 +0,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.
-#
-#*************************************************************************
-
-PRJ := ..$/..$/..$/..$/..$/..$/..$/..
-PRJNAME := jurt
-TARGET := test_com_sun_star_lib_uno_environments_remote
-
-PACKAGE := com$/sun$/star$/lib$/uno$/environments$/remote
-JAVATESTFILES := \
- JavaThreadPoolFactory_Test.java \
- JobQueue_Test.java \
- ThreadId_Test.java \
- ThreadPool_Test.java
-JAVAFILES := \
- TestIWorkAt.java \
- TestReceiver.java \
- TestWorkAt.java
-JARFILES := ridl.jar
-
-.INCLUDE: javaunittest.mk