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 2010/08/23 20:15:49 UTC

svn commit: r988240 - in /sling/trunk/installer/osgi/it/src/test/java/org/apache/sling/osgi/installer/it: ConfigInstallTest.java OsgiInstallerTestBase.java

Author: cziegeler
Date: Mon Aug 23 18:15:49 2010
New Revision: 988240

URL: http://svn.apache.org/viewvc?rev=988240&view=rev
Log:
SLING-1560 : Finally fix config install test case

Modified:
    sling/trunk/installer/osgi/it/src/test/java/org/apache/sling/osgi/installer/it/ConfigInstallTest.java
    sling/trunk/installer/osgi/it/src/test/java/org/apache/sling/osgi/installer/it/OsgiInstallerTestBase.java

Modified: sling/trunk/installer/osgi/it/src/test/java/org/apache/sling/osgi/installer/it/ConfigInstallTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/osgi/it/src/test/java/org/apache/sling/osgi/installer/it/ConfigInstallTest.java?rev=988240&r1=988239&r2=988240&view=diff
==============================================================================
--- sling/trunk/installer/osgi/it/src/test/java/org/apache/sling/osgi/installer/it/ConfigInstallTest.java (original)
+++ sling/trunk/installer/osgi/it/src/test/java/org/apache/sling/osgi/installer/it/ConfigInstallTest.java Mon Aug 23 18:15:49 2010
@@ -109,8 +109,10 @@ public class ConfigInstallTest extends O
 
     	final String cfgName = "org.apache.felix.configadmin";
     	Bundle configAdmin = null;
+    	// in some cases more than one config admin is installed!
+    	// therefore we just stopp all of them and restart the first one
     	for(Bundle b : bundleContext.getBundles()) {
-    		if(b.getSymbolicName().equals(cfgName)) {
+    		if (b.getSymbolicName().equals(cfgName)) {
     			configAdmin = b;
     			break;
     		}
@@ -124,7 +126,11 @@ public class ConfigInstallTest extends O
     	assertNull("Config " + cfgPid + " must not be found before test", findConfiguration(cfgPid));
 
     	// Config installs must be deferred if ConfigAdmin service is stopped
-    	configAdmin.stop();
+        for(Bundle b : bundleContext.getBundles()) {
+            if (b.getSymbolicName().equals(cfgName)) {
+                b.stop();
+            }
+        }
     	waitForConfigAdmin(false);
         final InstallableResource r = getInstallableResource(cfgPid, cfgData);
         installer.addResource(URL_SCHEME, r);

Modified: sling/trunk/installer/osgi/it/src/test/java/org/apache/sling/osgi/installer/it/OsgiInstallerTestBase.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/osgi/it/src/test/java/org/apache/sling/osgi/installer/it/OsgiInstallerTestBase.java?rev=988240&r1=988239&r2=988240&view=diff
==============================================================================
--- sling/trunk/installer/osgi/it/src/test/java/org/apache/sling/osgi/installer/it/OsgiInstallerTestBase.java (original)
+++ sling/trunk/installer/osgi/it/src/test/java/org/apache/sling/osgi/installer/it/OsgiInstallerTestBase.java Mon Aug 23 18:15:49 2010
@@ -311,7 +311,7 @@ class OsgiInstallerTestBase implements F
         return result;
     }
 
-    protected ConfigurationAdmin waitForConfigAdmin(boolean shouldBePresent) {
+    protected ConfigurationAdmin waitForConfigAdmin(final boolean shouldBePresent) {
     	ConfigurationAdmin result = null;
         if (configAdminTracker == null) {
             synchronized (this) {
@@ -322,15 +322,19 @@ class OsgiInstallerTestBase implements F
             }
         }
 
-    	final int timeout = 5;
+        final int timeout = 5;
     	final long waitUntil = System.currentTimeMillis() + (timeout * 1000L);
+    	boolean isPresent;
     	do {
     		result = (ConfigurationAdmin)configAdminTracker.getService();
-    		boolean isPresent = result != null;
-    		assertEquals("Expected ConfigurationAdmin to be " + (shouldBePresent ? "present" : "absent"),
-    				shouldBePresent, isPresent);
+    		isPresent = result != null;
+    		if ( shouldBePresent == isPresent ) {
+    		    return result;
+    		}
     	} while(System.currentTimeMillis() < waitUntil);
 
+        assertEquals("Expected ConfigurationAdmin to be " + (shouldBePresent ? "present" : "absent"),
+                shouldBePresent, isPresent);
     	return result;
     }