Author: pderop
Date: Wed Oct 16 10:29:56 2013
New Revision: 1532708

URL: http://svn.apache.org/r1532708
Log:
code cleanup. Fixed TestBase.checkError. Cleaned pom.

Modified:
    felix/trunk/dependencymanager/test/pom.xml
    
felix/trunk/dependencymanager/test/src/main/java/org/apache/felix/dm/test/components/BundleAdapterServiceTestWithPublisher.java
    
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/annotations/BundleDependencyAnnotationTest.java
    
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/annotations/CompositeAnnotationsTest.java
    
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/annotations/MultipleAnnotationsTest.java
    
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/annotations/ResourceAnnotationTest.java
    
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/annotations/SimpleAnnotationsTest.java
    
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/api/AspectRaceTest.java
    
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/api/MultipleExtraDependencyTest2.java
    
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/common/TestBase.java

Modified: felix/trunk/dependencymanager/test/pom.xml
URL: 
http://svn.apache.org/viewvc/felix/trunk/dependencymanager/test/pom.xml?rev=1532708&r1=1532707&r2=1532708&view=diff
==============================================================================
--- felix/trunk/dependencymanager/test/pom.xml (original)
+++ felix/trunk/dependencymanager/test/pom.xml Wed Oct 16 10:29:56 2013
@@ -146,7 +146,7 @@
                                <configuration>
                                        <instructions>
                                                <Bundle-Name>Apache Felix 
Dependency Manager Annotations Tests</Bundle-Name>
-                                               
<Bundle-SymbolicName>org.apache.felix.dependencymanager.test.components</Bundle-SymbolicName>
+                                               
<Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName>
                                                
<Export-Package>org.apache.felix.dm.test.components</Export-Package>
                                        </instructions>
                                </configuration>
@@ -195,6 +195,10 @@
                                                                        
<name>project.bundle.file</name>
                                                                        
<value>${bundle.file.name}</value>
                                                                </property>
+                                                               <property>
+                                                                       
<name>project.bundle.symbolicName</name>
+                                                                       
<value>${pom.artifactId}</value>
+                                                               </property>     
                                                        
                                                        </systemProperties>
                                                        <excludes>
                                                                
<exclude>**/components/*</exclude>

Modified: 
felix/trunk/dependencymanager/test/src/main/java/org/apache/felix/dm/test/components/BundleAdapterServiceTestWithPublisher.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/dependencymanager/test/src/main/java/org/apache/felix/dm/test/components/BundleAdapterServiceTestWithPublisher.java?rev=1532708&r1=1532707&r2=1532708&view=diff
==============================================================================
--- 
felix/trunk/dependencymanager/test/src/main/java/org/apache/felix/dm/test/components/BundleAdapterServiceTestWithPublisher.java
 (original)
+++ 
felix/trunk/dependencymanager/test/src/main/java/org/apache/felix/dm/test/components/BundleAdapterServiceTestWithPublisher.java
 Wed Oct 16 10:29:56 2013
@@ -59,8 +59,7 @@ public class BundleAdapterServiceTestWit
             if 
("org.apache.felix.dependencymanager".equals(properties.get("Bundle-SymbolicName")))
 {
                 m_sequencer.step(4);
             } else {
-                Thread.dumpStack();
-                System.out.println(properties);
+                System.out.println("Consumer.bind: properties=" + properties);
             }
         }
 

Modified: 
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/annotations/BundleDependencyAnnotationTest.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/annotations/BundleDependencyAnnotationTest.java?rev=1532708&r1=1532707&r2=1532708&view=diff
==============================================================================
--- 
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/annotations/BundleDependencyAnnotationTest.java
 (original)
+++ 
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/annotations/BundleDependencyAnnotationTest.java
 Wed Oct 16 10:29:56 2013
@@ -43,7 +43,7 @@ public class BundleDependencyAnnotationT
         Ensure e = new Ensure();
         ServiceRegistration sr = register(e, 
BundleDependencyAnnotation.ENSURE_CONSUMER);
         e.waitForStep(1, 10000);
-        stopTestComponentsBundle();
+        stopTestBundle();
         e.waitForStep(2, 10000);
         sr.unregister();
     }

Modified: 
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/annotations/CompositeAnnotationsTest.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/annotations/CompositeAnnotationsTest.java?rev=1532708&r1=1532707&r2=1532708&view=diff
==============================================================================
--- 
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/annotations/CompositeAnnotationsTest.java
 (original)
+++ 
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/annotations/CompositeAnnotationsTest.java
 Wed Oct 16 10:29:56 2013
@@ -44,7 +44,7 @@ public class CompositeAnnotationsTest ex
         ServiceRegistration sr2 = register(e, Dependency1.ENSURE);
         ServiceRegistration sr3 = register(e, Dependency2.ENSURE);
         e.waitForStep(4, 10000);
-        stopTestComponentsBundle();
+        stopTestBundle();
         e.waitForStep(12, 10000);
         sr3.unregister();
         sr2.unregister();

Modified: 
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/annotations/MultipleAnnotationsTest.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/annotations/MultipleAnnotationsTest.java?rev=1532708&r1=1532707&r2=1532708&view=diff
==============================================================================
--- 
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/annotations/MultipleAnnotationsTest.java
 (original)
+++ 
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/annotations/MultipleAnnotationsTest.java
 Wed Oct 16 10:29:56 2013
@@ -40,7 +40,7 @@ public class MultipleAnnotationsTest ext
         Ensure e = new Ensure();
         ServiceRegistration sr = register(e, MultipleAnnotations.ENSURE);
         e.waitForStep(7, 10000);
-        stopTestComponentsBundle();
+        stopTestBundle();
         // And check if the test.annotation bundle has been deactivated orderly
         e.waitForStep(11, 10000);
         sr.unregister();

Modified: 
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/annotations/ResourceAnnotationTest.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/annotations/ResourceAnnotationTest.java?rev=1532708&r1=1532707&r2=1532708&view=diff
==============================================================================
--- 
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/annotations/ResourceAnnotationTest.java
 (original)
+++ 
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/annotations/ResourceAnnotationTest.java
 Wed Oct 16 10:29:56 2013
@@ -44,7 +44,7 @@ public class ResourceAnnotationTest exte
         Ensure e = new Ensure();
         ServiceRegistration sr = register(e, 
ResourceAnnotation.ENSURE_RESOURCE);
         ServiceRegistration sr2 = register(e, 
ResourceAnnotation.ENSURE_PROVIDER);
-        stopTestComponentsBundle();
+        stopTestBundle();
         e.waitForStep(1, 10000);
         sr.unregister();
         sr2.unregister();
@@ -58,7 +58,7 @@ public class ResourceAnnotationTest exte
         Ensure e = new Ensure();
         ServiceRegistration sr = register(e, ResourceAnnotation.ENSURE_FIELD);
         ServiceRegistration sr2 = register(e, 
ResourceAnnotation.ENSURE_PROVIDER);
-        stopTestComponentsBundle();
+        stopTestBundle();
         e.waitForStep(1, 10000);
         sr.unregister();
         sr2.unregister();
@@ -73,7 +73,7 @@ public class ResourceAnnotationTest exte
         Ensure e = new Ensure();
         ServiceRegistration sr = register(e, 
ResourceAnnotation.ENSURE_ADAPTER);
         ServiceRegistration sr2 = register(e, 
ResourceAnnotation.ENSURE_PROVIDER);
-        stopTestComponentsBundle();
+        stopTestBundle();
         e.waitForStep(2, 10000);
         e.ensure();
         sr.unregister();

Modified: 
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/annotations/SimpleAnnotationsTest.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/annotations/SimpleAnnotationsTest.java?rev=1532708&r1=1532707&r2=1532708&view=diff
==============================================================================
--- 
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/annotations/SimpleAnnotationsTest.java
 (original)
+++ 
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/annotations/SimpleAnnotationsTest.java
 Wed Oct 16 10:29:56 2013
@@ -49,6 +49,6 @@ public class SimpleAnnotationsTest exten
         // And check if components have been deactivated orderly.
         e.waitForStep(10, 10000);
         e.ensure();
-        stopTestComponentsBundle();
+        stopTestBundle();
     }
 }

Modified: 
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/api/AspectRaceTest.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/api/AspectRaceTest.java?rev=1532708&r1=1532707&r2=1532708&view=diff
==============================================================================
--- 
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/api/AspectRaceTest.java
 (original)
+++ 
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/api/AspectRaceTest.java
 Wed Oct 16 10:29:56 2013
@@ -86,11 +86,11 @@ public class AspectRaceTest extends Test
 
                                if ((loop) % 100 == 0) {
                                        warn("Performed " + loop + " tests.");
-                               }
-                       }
+                               }                               
 
-                       if (super.errorsLogged()) {
-                               Assert.assertFalse("Test failed.", false);
+                   if (super.errorsLogged()) {
+                       throw new IllegalStateException("Race test interrupted 
(some error occured, see previous logs)");
+                   }
                        }
                }
 

Modified: 
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/api/MultipleExtraDependencyTest2.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/api/MultipleExtraDependencyTest2.java?rev=1532708&r1=1532707&r2=1532708&view=diff
==============================================================================
--- 
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/api/MultipleExtraDependencyTest2.java
 (original)
+++ 
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/api/MultipleExtraDependencyTest2.java
 Wed Oct 16 10:29:56 2013
@@ -156,15 +156,15 @@ public class MultipleExtraDependencyTest
         volatile ServiceProvider2 m_serviceProvider2;
         volatile ServiceDependency m_d1, m_d2;
 
-        public void init(Component s)
+        public void init(Component c)
         {
-            DependencyManager m = s.getDependencyManager();
-            s.add(m_d1 = m.createServiceDependency()
+            DependencyManager m = c.getDependencyManager();
+            c.add(m_d1 = m.createServiceDependency()
                   .setService(Sequencer.class)
                   .setRequired(true)
                   .setInstanceBound(true)
                   .setAutoConfig("m_sequencer"));
-            s.add(m_d2 = m.createServiceDependency()
+            c.add(m_d2 = m.createServiceDependency()
                   .setService(ServiceProvider2.class)
                   .setRequired(true)
                   .setInstanceBound(true)
@@ -205,15 +205,16 @@ public class MultipleExtraDependencyTest
         volatile Runnable m_runnable;
         volatile ServiceDependency m_d1, m_d2;
 
-        public void init(Component s)
+        public void init(Component c)
         {
-            DependencyManager m = s.getDependencyManager();
-            s.add(m_d1 = m.createServiceDependency()
+            System.out.println("ServiceProvider2.init");
+            DependencyManager m = c.getDependencyManager();
+            c.add(m_d1 = m.createServiceDependency()
                   .setService(Runnable.class, "(foo=bar)")
                   .setRequired(false)
                   .setInstanceBound(true)
                   .setAutoConfig("m_runnable"));
-            s.add(m_d2 = m.createServiceDependency()
+            c.add(m_d2 = m.createServiceDependency()
                   .setService(Sequencer.class)
                   .setRequired(true)
                   .setInstanceBound(true)
@@ -229,6 +230,7 @@ public class MultipleExtraDependencyTest
 
         void start()
         {
+            System.out.println("ServiceProvider2.start: m_runnable=" + 
m_runnable + ", m_sequencer = " + m_sequencer);
             m_sequencer.step(3);
             m_runnable.run(); // NullObject
         }

Modified: 
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/common/TestBase.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/common/TestBase.java?rev=1532708&r1=1532707&r2=1532708&view=diff
==============================================================================
--- 
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/common/TestBase.java
 (original)
+++ 
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/integration/common/TestBase.java
 Wed Oct 16 10:29:56 2013
@@ -57,48 +57,77 @@ import org.slf4j.LoggerFactory;
 import ch.qos.logback.classic.Level;
 import ch.qos.logback.classic.Logger;
 
+/**
+ * Base class for all integration tests.
+ */
 public abstract class TestBase implements LogService, FrameworkListener {
+    // Default OSGI log service level.
     private final static int LOG_LEVEL = LogService.LOG_WARNING;
+    
+    // Flag used to check if some errors have been logged during the execution 
of a given test.
     private volatile boolean m_errorsLogged;
 
-    // the name of the system property providing the bundle file to be 
installed
-    // and tested
-    protected static final String BUNDLE_JAR_SYS_PROP = "project.bundle.file";
+    // The name of the system property providing the bundle file to be 
installed and tested.
+    protected static final String TESTBUNDLE_FILE = "project.bundle.file";
+    
+    // The default bundle jar file name
+    protected static final String TESTBUNDLE_FILE_DEF = 
"target/org.apache.felix.dependencymanager.test-3.0.1-SNAPSHOT.jar";
+
+    // The name of the system property providing the test bundle symbolic name.
+    protected static final String TESTBUNDLE_SN = 
"project.bundle.symbolicName";
 
-    // the default bundle jar file name
-    protected static final String BUNDLE_JAR_DEFAULT = 
"target/org.apache.felix.dependencymanager.test-3.0.1-SNAPSHOT.jar";
+    // The default symbolic name for our test bundle
+    protected static final String TESTBUNDLE_SN_DEF = 
"org.apache.felix.dependencymanager.test";
 
-    // the JVM option to set to enable remote debugging
-    protected static final String DEBUG_VM_OPTION = 
"-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=30303";
+    // The JVM option to set to enable remote debugging
+    protected static final String DEBUG_VM_OPTION = 
"-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005";
 
-    // the actual JVM option set, extensions may implement a static
+    // The package exported by our test bundle, which we import from all 
integration tests.
+    private static final String TESTBUNDLE_PACKAGE = 
"org.apache.felix.dm.test.components";
+
+    // The actual JVM option set, extensions may implement a static
     // initializer overwriting this value to have the configuration()
     // method include it when starting the OSGi framework JVM
     protected static String paxRunnerVmOption = null;
 
+    // Bundle context injected by pax-exam for each integration test.
     @Inject
     protected BundleContext context;
 
+    // We implement OSGI log service.
     protected ServiceRegistration logService;
     
-    // Flag used to check if our test components (src/main/java/**/*) bundle 
must be started
-    private final boolean m_startTestComponentsBundle;
+    // Flag used to check if our test bundle (src/main/java/**/*) bundle must 
be started
+    // (true for annotation based integration tests)
+    private final boolean m_startTestBundle; 
     
+    /**
+     * Default constructor. By default, we don't start the bundle generated by 
this project.
+     * (the test bundle (src/main/java/...) contains some annotated components 
only meant to be
+     * used by annotation based tests.
+     */
     public TestBase() {
         this(false);
     }
     
-    public TestBase(boolean startTestComponentsBundle) {
-        m_startTestComponentsBundle = startTestComponentsBundle;
+    /**
+     * Creates a new TestBase instance.
+     * @param startTestBundle true if the test bundle must be started, false 
if not.
+     */
+    public TestBase(boolean startTestBundle) {
+        m_startTestBundle = startTestBundle;
     }
  
+    /**
+     * Pax Exam Configuration.
+     */
     @Configuration
     public Option[] configuration() {
-        final String bundleFileName = System.getProperty(BUNDLE_JAR_SYS_PROP, 
BUNDLE_JAR_DEFAULT);
-        final File bundleFile = new File(bundleFileName);
-        if (!bundleFile.canRead()) {
-            throw new IllegalArgumentException("Cannot read from bundle file " 
+ bundleFileName
-                    + " specified in the " + BUNDLE_JAR_SYS_PROP + " system 
property");
+        final String testBundle = System.getProperty(TESTBUNDLE_FILE, 
TESTBUNDLE_FILE_DEF);
+        final File testBundleFile = new File(testBundle);
+        if (!testBundleFile.canRead()) {
+            throw new IllegalArgumentException("Cannot read from test bundle 
file " + testBundle
+                    + " specified in the " + TESTBUNDLE_FILE + " system 
property");
         }
         
         // Reduce pax exam log level.
@@ -109,7 +138,8 @@ public abstract class TestBase implement
                 workingDirectory("target/paxexam/"),
                 systemProperty("dm.runtime.log").value("false"),
                 
systemProperty("org.ops4j.pax.logging.DefaultServiceLog.level").value("WARN"),
-                systemTimeout(5000),
+                
//vmOption("-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"),
+                systemTimeout(15000),                
                 cleanCaches(true),
                 junitBundles(),
                 mavenBundle("org.apache.felix", "org.apache.felix.metatype", 
"1.0.8"),
@@ -120,23 +150,35 @@ public abstract class TestBase implement
                 mavenBundle("org.apache.felix", 
"org.apache.felix.dependencymanager","3.1.1-SNAPSHOT"),
                 mavenBundle("org.apache.felix", 
"org.apache.felix.dependencymanager.shell", "3.0.2-SNAPSHOT"),
                 mavenBundle("org.apache.felix", 
"org.apache.felix.dependencymanager.runtime", "3.1.1-SNAPSHOT"),
-                
bundle(bundleFile.toURI().toString()).start(m_startTestComponentsBundle));
+                
bundle(testBundleFile.toURI().toString()).start(m_startTestBundle));
         final Option option = (paxRunnerVmOption != null) ? 
vmOption(paxRunnerVmOption) : null;
         return OptionUtils.combine(base, option);
     }
 
+    /**
+     * pax exam hook used to customize the OSGI manifest of the bundle 
generated for each integration test.
+     */
     @ProbeBuilder
     public TestProbeBuilder buildProbe(TestProbeBuilder builder) {
-        return builder.setHeader(Constants.IMPORT_PACKAGE,
-                "org.apache.felix.dm.test.components");
+        // We import the package exported by our test bundle 
(src/main/java/*), which contains:
+        //
+        // - the Ensure helper (used by ALL tests)
+        // - some Annotated components (only used by annotation based tests).
+        return builder.setHeader(Constants.IMPORT_PACKAGE, TESTBUNDLE_PACKAGE);
     }
 
+    /**
+     * Test initialization.
+     */
     @Before
     public void setUp() {
         logService = context.registerService(LogService.class.getName(), this, 
null);
         context.addFrameworkListener(this);
     }
 
+    /**
+     * Test shutdown
+     */
     @After
     public void tearDown() throws BundleException {
        logService.unregister();
@@ -144,7 +186,7 @@ public abstract class TestBase implement
     }
 
     /**
-     * Create and provide an Ensure object with a name service property.
+     * Creates and provides an Ensure object with a name service property into 
the OSGi service registry.
      */
     protected ServiceRegistration register(Ensure e, String name) {
         Hashtable<String, String> props = new Hashtable<String, String>();
@@ -179,12 +221,12 @@ public abstract class TestBase implement
     }
 
     /**
-     * Stops our test components bundle.
+     * Stops our test bundle.
      */
-    protected void stopTestComponentsBundle() {
-        stopBundle("org.apache.felix.dependencymanager.test.components");
+    protected void stopTestBundle() { 
+        stopBundle(System.getProperty(TESTBUNDLE_SN, TESTBUNDLE_SN_DEF));
     }
-
+    
     /**
      * Suspend the current thread for a while.
      * 
@@ -268,7 +310,7 @@ public abstract class TestBase implement
     }
 
     private void checkError(int level, Throwable exception) {
-        if (level >= LOG_ERROR) {
+        if (level <= LOG_ERROR) {
             m_errorsLogged = true;
         }
         if (exception != null) {


Reply via email to