Author: rickhall
Date: Mon Jan 25 18:30:04 2010
New Revision: 902911

URL: http://svn.apache.org/viewvc?rev=902911&view=rev
Log:
Added some tests for fragment import package conflicts.

Added:
    
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b009.bnd
    
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b010.bnd
    
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b011.bnd
    
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b012.bnd
    
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b013.bnd
    
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b009/
    
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b009/b009.txt
    
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b010/
    
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b010/b010.txt
    
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b011/
    
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b011/b011.txt
    
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b012/
    
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b012/b012.txt
    
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b013/
    
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b013/b013.txt
Modified:
    felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/bnd.bnd
    
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/classloading.b002.bnd
    
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/classloading.b003.bnd
    
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/TestFragment.java

Modified: 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/bnd.bnd
URL: 
http://svn.apache.org/viewvc/felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/bnd.bnd?rev=902911&r1=902910&r2=902911&view=diff
==============================================================================
--- felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/bnd.bnd 
(original)
+++ felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/bnd.bnd Mon 
Jan 25 18:30:04 2010
@@ -1,3 +1,5 @@
+-runvm = -Xdebug, 
"-Xrunjdwp:transport=dt_socket,address=8001,server=y,suspend=n"
+
 Private-Package: ${p}
 Include-Resource: \
  classloading.b001.jar, classloading.b002.jar, classloading.b003.jar, \
@@ -9,6 +11,8 @@
  fragment.b001.jar, fragment.b002.jar, fragment.b003.jar, \
  fragment.b004.jar, fragment.b005.jar, \
  fragment.b006.jar, fragment.b007.jar, fragment.b008.jar, \
+ fragment.b009.jar, fragment.b010.jar, fragment.b011.jar, fragment.b012.jar, \
+ fragment.b013.jar, \
  activationpolicy.b1.jar, activationpolicy.b2.jar, activationpolicy.b3.jar, \
  activationpolicy.b4a.jar, activationpolicy.b4b.jar, \
  
org/apache/felix/framework/test/fragment/Message.properties=src/resource/Message.properties,org/apache/felix/framework/test/fragment/Message_fr.properties=src/resource/Message_fr.properties

Modified: 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/classloading.b002.bnd
URL: 
http://svn.apache.org/viewvc/felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/classloading.b002.bnd?rev=902911&r1=902910&r2=902911&view=diff
==============================================================================
--- 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/classloading.b002.bnd
 (original)
+++ 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/classloading.b002.bnd
 Mon Jan 25 18:30:04 2010
@@ -1,5 +1,7 @@
 Bundle-SymbolicName: org.apache.felix.framework.test.classloading.b002
-Export-Package: 
org.apache.felix.framework.test.classloading.b002b003split;-noimport:=true, 
org.apache.felix.framework.test.classloading.b002
+Export-Package: \
+ org.apache.felix.framework.test.classloading.b002b003split;-noimport:=true, \
+ org.apache.felix.framework.test.classloading.b002
 Require-Bundle: org.apache.felix.framework.test.classloading.b003
 Import-Package: !*
 

Modified: 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/classloading.b003.bnd
URL: 
http://svn.apache.org/viewvc/felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/classloading.b003.bnd?rev=902911&r1=902910&r2=902911&view=diff
==============================================================================
--- 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/classloading.b003.bnd
 (original)
+++ 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/classloading.b003.bnd
 Mon Jan 25 18:30:04 2010
@@ -1,5 +1,7 @@
 Bundle-SymbolicName: org.apache.felix.framework.test.classloading.b003
-Export-Package: 
org.apache.felix.framework.test.classloading.b002b003split;-noimport:=true, 
org.apache.felix.framework.test.classloading.b003
+Export-Package: \
+ org.apache.felix.framework.test.classloading.b002b003split;-noimport:=true, \
+ org.apache.felix.framework.test.classloading.b003
 Require-Bundle: org.apache.felix.framework.test.classloading.b002
 Import-Package: !*
 

Added: 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b009.bnd
URL: 
http://svn.apache.org/viewvc/felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b009.bnd?rev=902911&view=auto
==============================================================================
--- 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b009.bnd
 (added)
+++ 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b009.bnd
 Mon Jan 25 18:30:04 2010
@@ -0,0 +1,5 @@
+Bundle-SymbolicName: org.apache.felix.framework.test.fragment.b009
+Export-Package: \
+ org.apache.felix.framework.test.fragment.b009; version=1.0.0; 
-noimport:=true, \
+ org.apache.felix.framework.test.fragment.b009; version=2.0.0; -noimport:=true
+Include-Resource: 
org/apache/felix/framework/test/fragment/b009=src/org/apache/felix/framework/test/fragment/b009

Added: 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b010.bnd
URL: 
http://svn.apache.org/viewvc/felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b010.bnd?rev=902911&view=auto
==============================================================================
--- 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b010.bnd
 (added)
+++ 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b010.bnd
 Mon Jan 25 18:30:04 2010
@@ -0,0 +1,3 @@
+Bundle-SymbolicName: org.apache.felix.framework.test.fragment.b010
+Import-Package: org.apache.felix.framework.test.fragment.b009
+Include-Resource: 
org/apache/felix/framework/test/fragment/b010=src/org/apache/felix/framework/test/fragment/b010

Added: 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b011.bnd
URL: 
http://svn.apache.org/viewvc/felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b011.bnd?rev=902911&view=auto
==============================================================================
--- 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b011.bnd
 (added)
+++ 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b011.bnd
 Mon Jan 25 18:30:04 2010
@@ -0,0 +1,4 @@
+Bundle-SymbolicName: org.apache.felix.framework.test.fragment.b011
+Fragment-Host: org.apache.felix.framework.test.fragment.b010
+Include-Resource: src/org/apache/felix/framework/test/fragment/b011
+Import-Package: org.apache.felix.framework.test.fragment.b009; 
version="[1.0,2.0)"

Added: 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b012.bnd
URL: 
http://svn.apache.org/viewvc/felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b012.bnd?rev=902911&view=auto
==============================================================================
--- 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b012.bnd
 (added)
+++ 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b012.bnd
 Mon Jan 25 18:30:04 2010
@@ -0,0 +1,4 @@
+Bundle-SymbolicName: org.apache.felix.framework.test.fragment.b012
+Fragment-Host: org.apache.felix.framework.test.fragment.b010
+Include-Resource: src/org/apache/felix/framework/test/fragment/b012
+Import-Package: org.apache.felix.framework.test.fragment.b009; 
version="[1.0,1.6)"

Added: 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b013.bnd
URL: 
http://svn.apache.org/viewvc/felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b013.bnd?rev=902911&view=auto
==============================================================================
--- 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b013.bnd
 (added)
+++ 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/recipes/fragment.b013.bnd
 Mon Jan 25 18:30:04 2010
@@ -0,0 +1,4 @@
+Bundle-SymbolicName: org.apache.felix.framework.test.fragment.b013
+Fragment-Host: org.apache.felix.framework.test.fragment.b010
+Include-Resource: src/org/apache/felix/framework/test/fragment/b013
+Import-Package: org.apache.felix.framework.test.fragment.b009; 
version="(1.6,2.0]"

Modified: 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/TestFragment.java
URL: 
http://svn.apache.org/viewvc/felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/TestFragment.java?rev=902911&r1=902910&r2=902911&view=diff
==============================================================================
--- 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/TestFragment.java
 (original)
+++ 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/TestFragment.java
 Mon Jan 25 18:30:04 2010
@@ -347,6 +347,133 @@
         }
     }
 
+    public void testFragmentConflicts() throws Exception
+    {
+        InputStream is = null;
+
+        // Scenario #1
+        // Attach two fragments with different, but overlappig version ranges
+        // for an imported package.
+        try
+        {
+            is = 
this.getClass().getClassLoader().getResourceAsStream("fragment.b009.jar");
+            m_bundleA = getBundleContext().installBundle("fragment.b009.jar", 
is);
+            is = 
this.getClass().getClassLoader().getResourceAsStream("fragment.b010.jar");
+            m_bundleB = getBundleContext().installBundle("fragment.b010.jar", 
is);
+            is = 
this.getClass().getClassLoader().getResourceAsStream("fragment.b011.jar");
+            m_bundleC = getBundleContext().installBundle("fragment.b011.jar", 
is);
+            is = 
this.getClass().getClassLoader().getResourceAsStream("fragment.b012.jar");
+            m_bundleD = getBundleContext().installBundle("fragment.b012.jar", 
is);
+
+            getPackageAdmin().resolveBundles(new Bundle[] { m_bundleB });
+
+            assertEquals(
+                "Fragment should be resolved.", m_bundleC.getState(), 
Bundle.RESOLVED);
+            assertNotNull(
+                "Fragment resource should be found.", 
m_bundleB.getResource("b011.txt"));
+
+            assertEquals(
+                "Fragment should be resolved.", m_bundleD.getState(), 
Bundle.RESOLVED);
+            assertNotNull(
+                "Fragment resource should be found.", 
m_bundleB.getResource("b012.txt"));
+        }
+        finally
+        {
+            cleanup();
+        }
+
+        // Scenario #2
+        // Same as #1, but reversing fragments.
+        try
+        {
+            is = 
this.getClass().getClassLoader().getResourceAsStream("fragment.b009.jar");
+            m_bundleA = getBundleContext().installBundle("fragment.b009.jar", 
is);
+            is = 
this.getClass().getClassLoader().getResourceAsStream("fragment.b010.jar");
+            m_bundleB = getBundleContext().installBundle("fragment.b010.jar", 
is);
+            is = 
this.getClass().getClassLoader().getResourceAsStream("fragment.b012.jar");
+            m_bundleC = getBundleContext().installBundle("fragment.b012.jar", 
is);
+            is = 
this.getClass().getClassLoader().getResourceAsStream("fragment.b011.jar");
+            m_bundleD = getBundleContext().installBundle("fragment.b011.jar", 
is);
+
+            getPackageAdmin().resolveBundles(new Bundle[] { m_bundleB });
+
+            assertEquals(
+                "Fragment should be resolved.", m_bundleC.getState(), 
Bundle.RESOLVED);
+            assertNotNull(
+                "Fragment resource should be found.", 
m_bundleB.getResource("b012.txt"));
+
+            assertEquals(
+                "Fragment should be resolved.", m_bundleD.getState(), 
Bundle.RESOLVED);
+            assertNotNull(
+                "Fragment resource should be found.", 
m_bundleB.getResource("b011.txt"));
+        }
+        finally
+        {
+            cleanup();
+        }
+
+        // Scenario #3
+        // Attach two fragments with non-overlapping version ranges for
+        // an imported package.
+        try
+        {
+            is = 
this.getClass().getClassLoader().getResourceAsStream("fragment.b009.jar");
+            m_bundleA = getBundleContext().installBundle("fragment.b009.jar", 
is);
+            is = 
this.getClass().getClassLoader().getResourceAsStream("fragment.b010.jar");
+            m_bundleB = getBundleContext().installBundle("fragment.b010.jar", 
is);
+            is = 
this.getClass().getClassLoader().getResourceAsStream("fragment.b012.jar");
+            m_bundleC = getBundleContext().installBundle("fragment.b012.jar", 
is);
+            is = 
this.getClass().getClassLoader().getResourceAsStream("fragment.b013.jar");
+            m_bundleD = getBundleContext().installBundle("fragment.b013.jar", 
is);
+
+            getPackageAdmin().resolveBundles(new Bundle[] { m_bundleB });
+
+            assertEquals(
+                "Fragment should be resolved.", m_bundleC.getState(), 
Bundle.RESOLVED);
+            assertNotNull(
+                "Fragment resource should be found.", 
m_bundleB.getResource("b012.txt"));
+
+            assertEquals(
+                "Fragment should not be resolved.", m_bundleD.getState(), 
Bundle.INSTALLED);
+            assertNull(
+                "Fragment resource should not be found.", 
m_bundleB.getResource("b013.txt"));
+        }
+        finally
+        {
+            cleanup();
+        }
+
+        // Scenario #4
+        // Same as #3, but reversing fragments.
+        try
+        {
+            is = 
this.getClass().getClassLoader().getResourceAsStream("fragment.b009.jar");
+            m_bundleA = getBundleContext().installBundle("fragment.b009.jar", 
is);
+            is = 
this.getClass().getClassLoader().getResourceAsStream("fragment.b010.jar");
+            m_bundleB = getBundleContext().installBundle("fragment.b010.jar", 
is);
+            is = 
this.getClass().getClassLoader().getResourceAsStream("fragment.b013.jar");
+            m_bundleC = getBundleContext().installBundle("fragment.b013.jar", 
is);
+            is = 
this.getClass().getClassLoader().getResourceAsStream("fragment.b012.jar");
+            m_bundleD = getBundleContext().installBundle("fragment.b012.jar", 
is);
+
+            getPackageAdmin().resolveBundles(new Bundle[] { m_bundleB });
+
+            assertEquals(
+                "Fragment should be resolved.", m_bundleC.getState(), 
Bundle.RESOLVED);
+            assertNotNull(
+                "Fragment resource should be found.", 
m_bundleB.getResource("b013.txt"));
+
+            assertEquals(
+                "Fragment should not be resolved.", m_bundleD.getState(), 
Bundle.INSTALLED);
+            assertNull(
+                "Fragment resource should not be found.", 
m_bundleB.getResource("b012.txt"));
+        }
+        finally
+        {
+            cleanup();
+        }
+    }
+
     public void testFragmentMisc() throws Exception
     {
         InputStream is = null;

Added: 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b009/b009.txt
URL: 
http://svn.apache.org/viewvc/felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b009/b009.txt?rev=902911&view=auto
==============================================================================
--- 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b009/b009.txt
 (added)
+++ 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b009/b009.txt
 Mon Jan 25 18:30:04 2010
@@ -0,0 +1 @@
+b009
\ No newline at end of file

Added: 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b010/b010.txt
URL: 
http://svn.apache.org/viewvc/felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b010/b010.txt?rev=902911&view=auto
==============================================================================
--- 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b010/b010.txt
 (added)
+++ 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b010/b010.txt
 Mon Jan 25 18:30:04 2010
@@ -0,0 +1 @@
+b010
\ No newline at end of file

Added: 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b011/b011.txt
URL: 
http://svn.apache.org/viewvc/felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b011/b011.txt?rev=902911&view=auto
==============================================================================
--- 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b011/b011.txt
 (added)
+++ 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b011/b011.txt
 Mon Jan 25 18:30:04 2010
@@ -0,0 +1 @@
+b011
\ No newline at end of file

Added: 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b012/b012.txt
URL: 
http://svn.apache.org/viewvc/felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b012/b012.txt?rev=902911&view=auto
==============================================================================
--- 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b012/b012.txt
 (added)
+++ 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b012/b012.txt
 Mon Jan 25 18:30:04 2010
@@ -0,0 +1 @@
+b012
\ No newline at end of file

Added: 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b013/b013.txt
URL: 
http://svn.apache.org/viewvc/felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b013/b013.txt?rev=902911&view=auto
==============================================================================
--- 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b013/b013.txt
 (added)
+++ 
felix/sandbox/rickhall/bnd-test/org.apache.felix.framework.test/src/org/apache/felix/framework/test/fragment/b013/b013.txt
 Mon Jan 25 18:30:04 2010
@@ -0,0 +1 @@
+b013
\ No newline at end of file


Reply via email to