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