You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ma...@apache.org on 2010/10/14 16:59:21 UTC

svn commit: r1022566 - /felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ServiceDependencyComponentLifeCycleTest.java

Author: marrs
Date: Thu Oct 14 14:59:21 2010
New Revision: 1022566

URL: http://svn.apache.org/viewvc?rev=1022566&view=rev
Log:
Extended the test case.

Modified:
    felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ServiceDependencyComponentLifeCycleTest.java

Modified: felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ServiceDependencyComponentLifeCycleTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ServiceDependencyComponentLifeCycleTest.java?rev=1022566&r1=1022565&r2=1022566&view=diff
==============================================================================
--- felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ServiceDependencyComponentLifeCycleTest.java (original)
+++ felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ServiceDependencyComponentLifeCycleTest.java Thu Oct 14 14:59:21 2010
@@ -63,7 +63,7 @@ public class ServiceDependencyComponentL
         ServiceDependency dependency2 = m.createServiceDependency().setService(MyService.class).setRequired(true);
         ServiceTracker st = new ServiceTracker(context, MyService2.class.getName(), null);
         st.open();
-        Component component2 = m.createComponent().setInterface(MyService.class.getName(), null).setImplementation(MyImpl.class);
+        Component component2 = m.createComponent().setInterface(MyService.class.getName(), null).setImplementation(new MyImpl(e));
         
         // add the component: it has no dependencies so it should be activated immediately
         m.add(component);
@@ -90,6 +90,8 @@ public class ServiceDependencyComponentL
         
         // activate the service we depend on
         m.add(component2);
+        // init and start should be invoked here, so wait for them to complete
+        e.waitForStep(10, 5000);
         
         component.add(dependency);
         Assert.assertNotNull("service should be available", st.getService());
@@ -98,23 +100,23 @@ public class ServiceDependencyComponentL
         component.remove(dependency);
         Assert.assertNotNull("service should be available", st.getService());
         
-        e.step(9);
+        e.step(11);
         
         // remove the service again
         m.remove(component2);
-        e.step(11);
+        e.step(15);
         Assert.assertNull("service should no longer be available", st.getService());
         component.remove(dependency2);
         Assert.assertNotNull("service should be available", st.getService());
         m.remove(component);
-        e.step(15);
+        e.step(19);
     }
     
     public static class MyComponent implements MyService2 {
         private final Ensure m_ensure;
         private final Ensure.Steps m_initSteps = new Ensure.Steps(1, 5);
-        private final Ensure.Steps m_startSteps = new Ensure.Steps(2, 6, 8, 12);
-        private final Ensure.Steps m_stopSteps = new Ensure.Steps(3, 7, 10, 13);
+        private final Ensure.Steps m_startSteps = new Ensure.Steps(2, 6, 8, 16);
+        private final Ensure.Steps m_stopSteps = new Ensure.Steps(3, 7, 17, 18);
         private final Ensure.Steps m_destroySteps = new Ensure.Steps(4, 14);
 
         public MyComponent(Ensure e) {
@@ -149,5 +151,23 @@ public class ServiceDependencyComponentL
     }
     
     public static class MyImpl implements MyService {
+        private final Ensure m_ensure;
+
+        public MyImpl(Ensure e) {
+            m_ensure = e;
+        }
+        
+        public void init() {
+            m_ensure.step(9);
+        }
+        public void start() {
+            m_ensure.step(10);
+        }
+        public void stop() {
+            m_ensure.step(13);
+        }
+        public void destroy() {
+            m_ensure.step(14);
+        }
     }
 }