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;
}