Author: jmarino
Date: Mon Jul 24 07:59:40 2006
New Revision: 425084
URL: http://svn.apache.org/viewvc?rev=425084&view=rev
Log:
fix testcase race condition
Modified:
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/services/work/jsr237/workmanager/ThreadPoolWorkManagerTestCase.java
Modified:
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/services/work/jsr237/workmanager/ThreadPoolWorkManagerTestCase.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/services/work/jsr237/workmanager/ThreadPoolWorkManagerTestCase.java?rev=425084&r1=425083&r2=425084&view=diff
==============================================================================
---
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/services/work/jsr237/workmanager/ThreadPoolWorkManagerTestCase.java
(original)
+++
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/services/work/jsr237/workmanager/ThreadPoolWorkManagerTestCase.java
Mon Jul 24 07:59:40 2006
@@ -20,16 +20,24 @@
public class ThreadPoolWorkManagerTestCase extends TestCase {
public void testSchedule() throws Exception {
+ final CountDownLatch latch = new CountDownLatch(1);
Work work = createMock(Work.class);
work.run();
- expectLastCall();
+ expectLastCall().andStubAnswer(new IAnswer() {
+ public Object answer() throws Throwable {
+ latch.countDown();
+ return null;
+ }
+ });
replay(work);
ThreadPoolWorkManager mgr = new ThreadPoolWorkManager(1);
mgr.schedule(work);
+ latch.await();
verify(work);
}
public void testListener() throws Exception {
+ final CountDownLatch latch = new CountDownLatch(1);
WorkListener listener = createStrictMock(WorkListener.class);
listener.workAccepted(isA(WorkEvent.class));
listener.workStarted(isA(WorkEvent.class));
@@ -38,10 +46,16 @@
replay(listener);
Work work = createMock(Work.class);
work.run();
- expectLastCall();
+ expectLastCall().andStubAnswer(new IAnswer() {
+ public Object answer() throws Throwable {
+ latch.countDown();
+ return null;
+ }
+ });
replay(work);
ThreadPoolWorkManager mgr = new ThreadPoolWorkManager(1);
mgr.schedule(work, listener);
+ latch.await();
verify(work);
}
@@ -75,6 +89,7 @@
}
public void testErrorListener() throws Exception {
+ final CountDownLatch latch = new CountDownLatch(1);
WorkListener listener = createStrictMock(WorkListener.class);
listener.workAccepted(isA(WorkEvent.class));
listener.workStarted(isA(WorkEvent.class));
@@ -82,10 +97,16 @@
replay(listener);
Work work = createMock(Work.class);
work.run();
- expectLastCall().andThrow(new RuntimeException());
+ expectLastCall().andStubAnswer(new IAnswer() {
+ public Object answer() throws Throwable {
+ latch.countDown();
+ throw new RuntimeException();
+ }
+ });
replay(work);
ThreadPoolWorkManager mgr = new ThreadPoolWorkManager(1);
mgr.schedule(work, listener);
+ latch.await();
verify(work);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]