You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2011/02/28 16:02:59 UTC
svn commit: r1075362 - in
/sling/trunk/bundles/extensions/event/src/test/java/org/apache/sling/event/impl:
AbstractTest.java jobs/ExtendedJobManager.java jobs/IgnoreQueueTest.java
Author: cziegeler
Date: Mon Feb 28 15:02:58 2011
New Revision: 1075362
URL: http://svn.apache.org/viewvc?rev=1075362&view=rev
Log:
Fix for potential timing problem in IgnoreQueueTest
Modified:
sling/trunk/bundles/extensions/event/src/test/java/org/apache/sling/event/impl/AbstractTest.java
sling/trunk/bundles/extensions/event/src/test/java/org/apache/sling/event/impl/jobs/ExtendedJobManager.java
sling/trunk/bundles/extensions/event/src/test/java/org/apache/sling/event/impl/jobs/IgnoreQueueTest.java
Modified: sling/trunk/bundles/extensions/event/src/test/java/org/apache/sling/event/impl/AbstractTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/test/java/org/apache/sling/event/impl/AbstractTest.java?rev=1075362&r1=1075361&r2=1075362&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/event/src/test/java/org/apache/sling/event/impl/AbstractTest.java (original)
+++ sling/trunk/bundles/extensions/event/src/test/java/org/apache/sling/event/impl/AbstractTest.java Mon Feb 28 15:02:58 2011
@@ -183,4 +183,12 @@ public abstract class AbstractTest {
}
}
+
+ public static void sleep(final long ms) {
+ try {
+ Thread.sleep(ms);
+ } catch (final InterruptedException ie) {
+ // ignore
+ }
+ }
}
Modified: sling/trunk/bundles/extensions/event/src/test/java/org/apache/sling/event/impl/jobs/ExtendedJobManager.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/test/java/org/apache/sling/event/impl/jobs/ExtendedJobManager.java?rev=1075362&r1=1075361&r2=1075362&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/event/src/test/java/org/apache/sling/event/impl/jobs/ExtendedJobManager.java (original)
+++ sling/trunk/bundles/extensions/event/src/test/java/org/apache/sling/event/impl/jobs/ExtendedJobManager.java Mon Feb 28 15:02:58 2011
@@ -26,6 +26,8 @@ public class ExtendedJobManager extends
private final AtomicInteger added = new AtomicInteger();
+ private final AtomicInteger removed = new AtomicInteger();
+
@Override
public void process(JobEvent event) {
super.process(event);
@@ -38,6 +40,12 @@ public class ExtendedJobManager extends
this.added.incrementAndGet();
}
+ @Override
+ public void notifyRemoveJob(String key) {
+ super.notifyRemoveJob(key);
+ this.removed.incrementAndGet();
+ }
+
public int getProcessed() {
return processed.intValue();
}
@@ -45,4 +53,8 @@ public class ExtendedJobManager extends
public int getAdded() {
return added.intValue();
}
+
+ public int getRemoved() {
+ return removed.intValue();
+ }
}
Modified: sling/trunk/bundles/extensions/event/src/test/java/org/apache/sling/event/impl/jobs/IgnoreQueueTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/test/java/org/apache/sling/event/impl/jobs/IgnoreQueueTest.java?rev=1075362&r1=1075361&r2=1075362&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/event/src/test/java/org/apache/sling/event/impl/jobs/IgnoreQueueTest.java (original)
+++ sling/trunk/bundles/extensions/event/src/test/java/org/apache/sling/event/impl/jobs/IgnoreQueueTest.java Mon Feb 28 15:02:58 2011
@@ -26,6 +26,7 @@ import java.util.Hashtable;
import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
+import org.apache.sling.event.impl.AbstractTest;
import org.apache.sling.event.impl.SimpleEventAdmin;
import org.apache.sling.event.impl.jobs.config.ConfigurationConstants;
import org.apache.sling.event.impl.jobs.config.InternalQueueConfiguration;
@@ -127,7 +128,7 @@ public class IgnoreQueueTest extends Abs
// we wait until NUM_JOBS have been processed by the JobManager
while ( ((ExtendedJobManager)this.jobManager).getAdded() < NUM_JOBS ) {
- Thread.sleep(400);
+ AbstractTest.sleep(400);
}
// no jobs queued, none processed but available
@@ -139,13 +140,13 @@ public class IgnoreQueueTest extends Abs
// let'see if restarting helps
this.createConfiguration(QueueConfiguration.Type.UNORDERED);
this.jobManager.restart();
- // we wait
+ // we wait until all jobs are processed
while ( count.get() < NUM_JOBS ) {
- try {
- Thread.sleep(500);
- } catch (InterruptedException ie) {
- // ignore
- }
+ AbstractTest.sleep(500);
+ }
+ // we wait until all jobs are removed
+ while ( ((ExtendedJobManager)this.jobManager).getRemoved() < NUM_JOBS ) {
+ AbstractTest.sleep(500);
}
// no jobs queued, but processed and not available
assertEquals(0, this.jobManager.getStatistics().getNumberOfQueuedJobs());