You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by da...@apache.org on 2011/03/04 10:30:06 UTC

svn commit: r1077856 - in /aries/trunk/spi-fly: ./ spi-fly-core/ spi-fly-core/src/test/java/org/apache/aries/spifly/ spi-fly-core/src/test/resources/ spi-fly-core/src/test/resources/org/ spi-fly-core/src/test/resources/org/apache/ spi-fly-core/src/test...

Author: davidb
Date: Fri Mar  4 09:30:05 2011
New Revision: 1077856

URL: http://svn.apache.org/viewvc?rev=1077856&view=rev
Log:
Enabling the remainder of the new unit tests for SPI-Fly

Added:
    aries/trunk/spi-fly/spi-fly-core/src/test/resources/
    aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/
    aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/
    aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/
    aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/
    aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl1/
    aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl1/META-INF/
    aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl1/META-INF/services/
    aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl1/META-INF/services/org.apache.aries.mytest.MySPI
    aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl2/
    aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl2/META-INF/
    aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl2/META-INF/services/
    aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl2/META-INF/services/org.apache.aries.mytest.AltSPI
    aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl2/META-INF/services/org.apache.aries.mytest.MySPI
    aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl2_123/
    aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl2_123/META-INF/
    aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl2_123/META-INF/services/
    aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl2_123/META-INF/services/org.apache.aries.mytest.MySPI
    aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl3/
    aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl3/META-INF/
    aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl3/META-INF/services/
    aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl3/META-INF/services/javax.xml.parsers.DocumentBuilderFactory
    aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl4/
    aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl4/META-INF/
    aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl4/META-INF/services/
    aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl4/META-INF/services/org.apache.aries.mytest.AltSPI
    aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl4/META-INF/services/org.apache.aries.mytest.MySPI
Modified:
    aries/trunk/spi-fly/pom.xml
    aries/trunk/spi-fly/spi-fly-core/pom.xml
    aries/trunk/spi-fly/spi-fly-core/src/test/java/org/apache/aries/spifly/ClientWeavingHookTest.java

Modified: aries/trunk/spi-fly/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/spi-fly/pom.xml?rev=1077856&r1=1077855&r2=1077856&view=diff
==============================================================================
--- aries/trunk/spi-fly/pom.xml (original)
+++ aries/trunk/spi-fly/pom.xml Fri Mar  4 09:30:05 2011
@@ -45,87 +45,6 @@
         <url>http://svn.apache.org/viewvc/aries/trunk/spi-fly</url>
     </scm>
 
-    <!--
-    <repositories>
-        <!- - The SpringSource bundle repository is required in order to be able to download osgified AspectJ bundles - ->
-        <repository>
-            <id>com.springsource.repository.bundles.external</id>
-            <name>SpringSource Enterprise Bundle Repository - External Bundle Releases</name>
-            <url>http://repository.springsource.com/maven/bundles/external</url>
-        </repository> 
-    </repositories>
-    -->
-
-    <!--
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.configadmin</artifactId>
-                <version>1.2.4</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>org.apache.felix</groupId>
-                        <artifactId>org.osgi.compendium</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>org.apache.felix</groupId>
-                        <artifactId>org.osgi.core</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.aries</groupId>
-                <artifactId>org.apache.aries.util</artifactId>
-                <version>0.4-SNAPSHOT</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.aries.testsupport</groupId>
-                <artifactId>org.apache.aries.testsupport.unit</artifactId>
-                <version>0.4-SNAPSHOT</version>
-                <scope>test</scope>
-            </dependency>
-
-            <dependency>
-                <groupId>org.aspectj</groupId>
-                <artifactId>com.springsource.org.aspectj.weaver</artifactId>
-                <version>1.6.2.RELEASE</version>
-            </dependency>
-            <dependency>
-                <groupId>org.aspectj</groupId>
-                <artifactId>com.springsource.org.aspectj.runtime</artifactId>
-                <version>1.6.2.RELEASE</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.easymock</groupId>
-                <artifactId>easymock</artifactId>
-                <version>2.5.2</version>
-                <scope>test</scope>
-            </dependency>
-            <dependency>
-                <groupId>org.easymock</groupId>
-                <artifactId>easymockclassextension</artifactId>
-                <version>2.5.2</version>
-                <scope>test</scope>
-            </dependency>
-            <dependency>
-                <groupId>org.ops4j.pax.swissbox</groupId>
-                <artifactId>pax-swissbox-tinybundles</artifactId>
-                <version>1.2.0</version>
-                <scope>test</scope>
-            </dependency>
-
-            <!- - internal - ->
-            <dependency>
-                <groupId>org.apache.aries.spifly</groupId>
-                <artifactId>org.apache.aries.spifly.core</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
-    -->
-
     <dependencies>
         <dependency>
             <groupId>junit</groupId>
@@ -137,9 +56,5 @@
     <modules>
         <module>spi-fly-deps</module>
         <module>spi-fly-core</module>
-        <!--
-        <module>spi-fly-itests</module>
-        -->
     </modules>
-
 </project>

Modified: aries/trunk/spi-fly/spi-fly-core/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/spi-fly/spi-fly-core/pom.xml?rev=1077856&r1=1077855&r2=1077856&view=diff
==============================================================================
--- aries/trunk/spi-fly/spi-fly-core/pom.xml (original)
+++ aries/trunk/spi-fly/spi-fly-core/pom.xml Fri Mar  4 09:30:05 2011
@@ -59,17 +59,4 @@ JRE through META-INF/services resources)
             <scope>test</scope>
         </dependency>
     </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <configuration>
-                    <includes>
-                        <include>**/UtilTest.java</include>
-                    </includes>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
 </project>

Modified: aries/trunk/spi-fly/spi-fly-core/src/test/java/org/apache/aries/spifly/ClientWeavingHookTest.java
URL: http://svn.apache.org/viewvc/aries/trunk/spi-fly/spi-fly-core/src/test/java/org/apache/aries/spifly/ClientWeavingHookTest.java?rev=1077856&r1=1077855&r2=1077856&view=diff
==============================================================================
--- aries/trunk/spi-fly/spi-fly-core/src/test/java/org/apache/aries/spifly/ClientWeavingHookTest.java (original)
+++ aries/trunk/spi-fly/spi-fly-core/src/test/java/org/apache/aries/spifly/ClientWeavingHookTest.java Fri Mar  4 09:30:05 2011
@@ -18,21 +18,20 @@
  */
 package org.apache.aries.spifly;
 
+import java.io.File;
 import java.io.IOException;
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
+import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.URLClassLoader;
 import java.security.ProtectionDomain;
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Collections;
 import java.util.Dictionary;
 import java.util.Enumeration;
-import java.util.HashSet;
 import java.util.Hashtable;
 import java.util.List;
-import java.util.Set;
 
 import org.apache.aries.spifly.api.SpiFlyConstants;
 import org.easymock.EasyMock;
@@ -498,29 +497,33 @@ public class ClientWeavingHookTest {
         return spiFlyBundle;
     }
 
-    private Bundle mockProviderBundle(String subdir, long id) {
+    private Bundle mockProviderBundle(String subdir, long id) throws Exception {
         return mockProviderBundle(subdir, id, Version.emptyVersion);
     }
     
-    private Bundle mockProviderBundle(String subdir, long id, Version version) {
-        // Discover all the relevant resources in the META-INF/services directory of specified subdir
-        String location = getClass().getPackage().getName().replace('.', '/') + "/" + subdir + "/META-INF/services";
-        Bundle testBundle = ((BundleReference) getClass().getClassLoader()).getBundle();
-        
-        Set<String> resources = new HashSet<String>(); // findEntries happens to sometimes return duplicates in Eclipse
-        // This findEntries call is quite slow, can we do something that's a bit faster?
-        Enumeration<URL> entries = testBundle.findEntries("/", null, true);
-        for (URL entry : Collections.list(entries)) {
-            String s = entry.toExternalForm();
-            if (s.contains(location)) {
-                int idx = s.lastIndexOf("META-INF/services");
-                String resource = s.substring(idx);
-                if (!resource.endsWith("META-INF/services") && !resource.endsWith("META-INF/services/") && 
-                    !resource.substring("META-INF/services/".length()).contains("/")) {
-                    resources.add(resource);
-                }
+    private Bundle mockProviderBundle(String subdir, long id, Version version) throws Exception {
+        URL url = getClass().getResource("/" + getClass().getName().replace('.', '/') + ".class");
+        File classFile = new File(url.getFile());
+        File baseDir = new File(classFile.getParentFile(), subdir);
+        File directory = new File(baseDir, "/META-INF/services");
+
+        // Do a directory listing of the applicable META-INF/services directory
+        List<String> resources = new ArrayList<String>();
+        for (File f : directory.listFiles()) {
+            String fileName = f.getName();
+            if (fileName.startsWith(".") || fileName.endsWith("."))
+                continue;
+            
+            
+            // Needs to be something like: META-INF/services/org.apache.aries.mytest.MySPI
+            String path = f.getAbsolutePath().substring(baseDir.getAbsolutePath().length());
+            path = path.replace('\\', '/');
+            if (path.startsWith("/")) {
+                path = path.substring(1);
             }
+            resources.add(path);
         }
+            
         // Set up the classloader that will be used by the ASM-generated code as the TCCL. 
         // It can load a META-INF/services file
         ClassLoader cl = new TestImplClassLoader(subdir, resources.toArray(new String [] {}));

Added: aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl1/META-INF/services/org.apache.aries.mytest.MySPI
URL: http://svn.apache.org/viewvc/aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl1/META-INF/services/org.apache.aries.mytest.MySPI?rev=1077856&view=auto
==============================================================================
--- aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl1/META-INF/services/org.apache.aries.mytest.MySPI (added)
+++ aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl1/META-INF/services/org.apache.aries.mytest.MySPI Fri Mar  4 09:30:05 2011
@@ -0,0 +1 @@
+org.apache.aries.spifly.impl1.MySPIImpl1

Added: aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl2/META-INF/services/org.apache.aries.mytest.AltSPI
URL: http://svn.apache.org/viewvc/aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl2/META-INF/services/org.apache.aries.mytest.AltSPI?rev=1077856&view=auto
==============================================================================
--- aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl2/META-INF/services/org.apache.aries.mytest.AltSPI (added)
+++ aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl2/META-INF/services/org.apache.aries.mytest.AltSPI Fri Mar  4 09:30:05 2011
@@ -0,0 +1 @@
+org.apache.aries.spifly.impl2.AltSPIImpl1

Added: aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl2/META-INF/services/org.apache.aries.mytest.MySPI
URL: http://svn.apache.org/viewvc/aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl2/META-INF/services/org.apache.aries.mytest.MySPI?rev=1077856&view=auto
==============================================================================
--- aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl2/META-INF/services/org.apache.aries.mytest.MySPI (added)
+++ aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl2/META-INF/services/org.apache.aries.mytest.MySPI Fri Mar  4 09:30:05 2011
@@ -0,0 +1,2 @@
+org.apache.aries.spifly.impl2.MySPIImpl2
+org.apache.aries.spifly.impl2.MySPIImpl3
\ No newline at end of file

Added: aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl2_123/META-INF/services/org.apache.aries.mytest.MySPI
URL: http://svn.apache.org/viewvc/aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl2_123/META-INF/services/org.apache.aries.mytest.MySPI?rev=1077856&view=auto
==============================================================================
--- aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl2_123/META-INF/services/org.apache.aries.mytest.MySPI (added)
+++ aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl2_123/META-INF/services/org.apache.aries.mytest.MySPI Fri Mar  4 09:30:05 2011
@@ -0,0 +1 @@
+org.apache.aries.spifly.impl2_123.MySPIImpl2B
\ No newline at end of file

Added: aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl3/META-INF/services/javax.xml.parsers.DocumentBuilderFactory
URL: http://svn.apache.org/viewvc/aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl3/META-INF/services/javax.xml.parsers.DocumentBuilderFactory?rev=1077856&view=auto
==============================================================================
--- aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl3/META-INF/services/javax.xml.parsers.DocumentBuilderFactory (added)
+++ aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl3/META-INF/services/javax.xml.parsers.DocumentBuilderFactory Fri Mar  4 09:30:05 2011
@@ -0,0 +1 @@
+org.apache.aries.spifly.impl3.MyAltDocumentBuilderFactory

Added: aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl4/META-INF/services/org.apache.aries.mytest.AltSPI
URL: http://svn.apache.org/viewvc/aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl4/META-INF/services/org.apache.aries.mytest.AltSPI?rev=1077856&view=auto
==============================================================================
--- aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl4/META-INF/services/org.apache.aries.mytest.AltSPI (added)
+++ aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl4/META-INF/services/org.apache.aries.mytest.AltSPI Fri Mar  4 09:30:05 2011
@@ -0,0 +1 @@
+org.apache.aries.spifly.impl4.AltSPIImpl2

Added: aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl4/META-INF/services/org.apache.aries.mytest.MySPI
URL: http://svn.apache.org/viewvc/aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl4/META-INF/services/org.apache.aries.mytest.MySPI?rev=1077856&view=auto
==============================================================================
--- aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl4/META-INF/services/org.apache.aries.mytest.MySPI (added)
+++ aries/trunk/spi-fly/spi-fly-core/src/test/resources/org/apache/aries/spifly/impl4/META-INF/services/org.apache.aries.mytest.MySPI Fri Mar  4 09:30:05 2011
@@ -0,0 +1,2 @@
+org.apache.aries.spifly.impl4.MySPIImpl4
+