You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by ge...@apache.org on 2012/02/10 10:00:45 UTC
svn commit: r1242707 -
/karaf/branches/karaf-2.2.x/features/core/src/test/java/org/apache/karaf/features/internal/FeaturesServiceImplTest.java
Author: gertv
Date: Fri Feb 10 09:00:44 2012
New Revision: 1242707
URL: http://svn.apache.org/viewvc?rev=1242707&view=rev
Log:
KARAF-1195: FeaturesServiceImplTest intermittently fails on slower machines
Modified:
karaf/branches/karaf-2.2.x/features/core/src/test/java/org/apache/karaf/features/internal/FeaturesServiceImplTest.java
Modified: karaf/branches/karaf-2.2.x/features/core/src/test/java/org/apache/karaf/features/internal/FeaturesServiceImplTest.java
URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.2.x/features/core/src/test/java/org/apache/karaf/features/internal/FeaturesServiceImplTest.java?rev=1242707&r1=1242706&r2=1242707&view=diff
==============================================================================
--- karaf/branches/karaf-2.2.x/features/core/src/test/java/org/apache/karaf/features/internal/FeaturesServiceImplTest.java (original)
+++ karaf/branches/karaf-2.2.x/features/core/src/test/java/org/apache/karaf/features/internal/FeaturesServiceImplTest.java Fri Feb 10 09:00:44 2012
@@ -25,6 +25,8 @@ import java.net.URLClassLoader;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
import junit.framework.TestCase;
@@ -134,6 +136,8 @@ public class FeaturesServiceImplTest ext
Map<String, Feature> versions2 = new HashMap<String, Feature>();
versions2.put("1.0.0", new FeatureImpl("ssh", "1.0.0"));
features.put("ssh", versions2);
+
+ final CountDownLatch latch = new CountDownLatch(2);
final FeaturesServiceImpl impl = new FeaturesServiceImpl() {
protected Map<String,Map<String,Feature>> getFeatures() throws Exception {
@@ -147,6 +151,8 @@ public class FeaturesServiceImplTest ext
}
@Override
protected void saveState() {
+ // this method will be invoked twice while features service is starting
+ latch.countDown();
}
};
impl.setBundleContext(bundleContext);
@@ -156,9 +162,12 @@ public class FeaturesServiceImplTest ext
impl.setBoot("transaction;version=1.2,ssh;version=1.0.0");
impl.start();
+ // waiting for the features service installation thread to finish its work
+ latch.await(2, TimeUnit.SECONDS);
+
assertFalse("Feature transaction 1.0.0 should not be installed", impl.isInstalled(impl.getFeature("transaction", "1.0.0")));
assertFalse("Feature transaction 2.0.0 should not be installed", impl.isInstalled(impl.getFeature("transaction", "2.0.0")));
- assertFalse("Feature ssh should be installed", impl.isInstalled(impl.getFeature("ssh", "1.0.0")));
+ assertTrue("Feature ssh should be installed", impl.isInstalled(impl.getFeature("ssh", "1.0.0")));
} catch (Exception e) {
fail(String.format("Service should not throw start-up exception but log the error instead: %s", e));
}