You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by pd...@apache.org on 2014/10/06 10:23:45 UTC
svn commit: r1629588 - in
/felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.runtime.itest:
./ src/org/apache/felix/dm/runtime/itest/components/
src/org/apache/felix/dm/runtime/itest/tests/
Author: pderop
Date: Mon Oct 6 08:23:44 2014
New Revision: 1629588
URL: http://svn.apache.org/r1629588
Log:
Don't use sub-bundles for runtime integration tests (because sometimes, all tests are in error).
Removed:
felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.runtime.itest/components.bnd
felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/tests/PublisherAnnotationParallelTest.java
felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.runtime.itest/tests.bnd
Modified:
felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.runtime.itest/bnd.bnd
felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/BundleDependencyAnnotation.java
felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/Utils.java
felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/tests/BundleDependencyAnnotationTest.java
Modified: felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.runtime.itest/bnd.bnd
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.runtime.itest/bnd.bnd?rev=1629588&r1=1629587&r2=1629588&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.runtime.itest/bnd.bnd (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.runtime.itest/bnd.bnd Mon Oct 6 08:23:44 2014
@@ -4,13 +4,11 @@
org.apache.felix.dependencymanager.itest.api;version=latest,\
org.apache.felix.dependencymanager.annotation;version=latest,\
osgi.cmpn;version=4.2,\
- biz.aQute.junit;version=999999999.0
+ junit.osgi;version=3.8
-runbundles: \
org.apache.felix.configadmin;version=1.8.0,\
org.apache.felix.dependencymanager;version=latest,\
org.apache.felix.dependencymanager.itest.api;version=latest,\
- org.apache.felix.dependencymanager.runtime.itest.components;version=latest,\
- org.apache.felix.dependencymanager.runtime.itest.tests;version=latest,\
org.apache.felix.dependencymanager.runtime;version=latest,\
org.apache.felix.metatype;version=1.0.4,\
org.apache.felix.gogo.runtime;version=0.10.0,\
@@ -20,7 +18,8 @@
-runsystempackages: \
sun.reflect
-runvm:-ea
--sub: \
- *.bnd
-plugin: org.apache.felix.dm.annotation.plugin.bnd.AnnotationPlugin;log=debug;\
- path:=${workspace}/org.apache.felix.dependencymanager.annotation/generated/org.apache.felix.dependencymanager.annotation.jar
\ No newline at end of file
+ path:=${workspace}/org.apache.felix.dependencymanager.annotation/generated/org.apache.felix.dependencymanager.annotation.jar
+Private-Package: \
+ org.apache.felix.dm.runtime.itest.tests,\
+ org.apache.felix.dm.runtime.itest.components
\ No newline at end of file
Modified: felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/BundleDependencyAnnotation.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/BundleDependencyAnnotation.java?rev=1629588&r1=1629587&r2=1629588&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/BundleDependencyAnnotation.java (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/BundleDependencyAnnotation.java Mon Oct 6 08:23:44 2014
@@ -36,6 +36,7 @@ import org.osgi.framework.BundleContext;
public class BundleDependencyAnnotation {
public static final String ENSURE_CONSUMER = "BundleDependencyAnnotation.consumer";
public static final String ENSURE_ADAPTER = "BundleDependencyAnnotation.adapter";
+ public static final String METATYPE_BSN = "org.apache.felix.metatype";
public interface ServiceInterface extends Runnable {
}
@@ -45,38 +46,30 @@ public class BundleDependencyAnnotation
*/
@Component
public static class Consumer {
- protected volatile boolean m_added;
- protected volatile boolean m_removed;
-
@ServiceDependency(filter = "(name=" + ENSURE_CONSUMER + ")")
private volatile Ensure m_sequencer;
- @BundleDependency(required = false, removed = "removed", filter = "(Bundle-SymbolicName=" + DM_BSN + ")")
+ @BundleDependency(required = true, removed = "removed", filter = "(Bundle-SymbolicName=" + METATYPE_BSN + ")", stateMask = Bundle.ACTIVE)
public void add(Bundle b) {
- if (b != null && b.getSymbolicName().equals(DM_BSN)) {
- m_added = true;
+ if (b != null && b.getSymbolicName().equals(METATYPE_BSN)) {
+ m_sequencer.step(1);
}
}
- protected void removed(Bundle b) {
- m_removed = true;
- }
-
@Start
public void start() {
- m_sequencer.step(1);
+ m_sequencer.step(2);
}
@Stop
public void stop() {
- if (!m_added) {
- throw new IllegalStateException("Did not get DependencyManager bundle");
- }
-
- if (!m_removed) {
- throw new IllegalStateException("Did not remove DependencyManager bundle");
+ m_sequencer.step(3);
+ }
+
+ protected void removed(Bundle b) {
+ if (b != null && b.getSymbolicName().equals(METATYPE_BSN)) {
+ m_sequencer.step(4);
}
- m_sequencer.step(2);
}
}
@@ -101,7 +94,7 @@ public class BundleDependencyAnnotation
/**
* A BundleAdapter test, which adapts the dependency manager bundle to the ServiceInterface service.
*/
- @BundleAdapterService(filter = "(Bundle-SymbolicName=" + DM_BSN + ")", stateMask = Bundle.INSTALLED
+ @BundleAdapterService(filter = "(Bundle-SymbolicName=" + METATYPE_BSN + ")", stateMask = Bundle.INSTALLED
| Bundle.RESOLVED | Bundle.ACTIVE, propagate = true, properties = {@Property(name = "foo", value = "bar")})
public static class ServiceProvider implements ServiceInterface {
// Adapted bundle (injected by reflection).
@@ -131,7 +124,7 @@ public class BundleDependencyAnnotation
}
public void run() {
- if (m_bundle == null || !m_bundle.getSymbolicName().equals(DM_BSN)) {
+ if (m_bundle == null || !m_bundle.getSymbolicName().equals(METATYPE_BSN)) {
throw new IllegalStateException("ServiceProvider did not get proper bundle: " + m_bundle);
}
m_sequencer.step(3);
Modified: felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/Utils.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/Utils.java?rev=1629588&r1=1629587&r2=1629588&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/Utils.java (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/Utils.java Mon Oct 6 08:23:44 2014
@@ -20,7 +20,6 @@ package org.apache.felix.dm.runtime.ites
public class Utils {
public static final String DM_BSN = "org.apache.felix.dependencymanager";
- public static final String DM_RUNTIME_IT_COMPONENTS_BSN = "org.apache.felix.dependencymanager.runtime.itest.components";
public static void schedule(final Runnable task, final long n) {
Thread t = new Thread() {
Modified: felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/tests/BundleDependencyAnnotationTest.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/tests/BundleDependencyAnnotationTest.java?rev=1629588&r1=1629587&r2=1629588&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/tests/BundleDependencyAnnotationTest.java (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/tests/BundleDependencyAnnotationTest.java Mon Oct 6 08:23:44 2014
@@ -32,15 +32,16 @@ public class BundleDependencyAnnotationT
/**
* Tests a simple Consumer, which has a BundleDependency over the dependency manager bundle.
+ * TODO: this test is not currently working.
*/
public void testBundleDependencyAnnotation() {
Ensure e = new Ensure();
ServiceRegistration sr = register(e, BundleDependencyAnnotation.ENSURE_CONSUMER);
- e.waitForStep(1, 10000);
- stopBundle(Utils.DM_RUNTIME_IT_COMPONENTS_BSN);
e.waitForStep(2, 10000);
+ stopBundle(BundleDependencyAnnotation.METATYPE_BSN);
+ e.waitForStep(4, 10000);
sr.unregister();
- startBundle(Utils.DM_RUNTIME_IT_COMPONENTS_BSN);
+ startBundle(BundleDependencyAnnotation.METATYPE_BSN);
}
/**