From aedaaa8a62f85e10c4aee4a9bcdfc86d9009b824 Mon Sep 17 00:00:00 2001
From: Thomas Watson
Date: Mon, 14 Jul 2014 09:05:28 -0500
Subject: Bug 438904 - Global buddy class loading is not working for packages
in a fragment
- add new testcase for global buddy and fragments---
bundles/org.eclipse.osgi.tests/.classpath | 3 +++
bundles/org.eclipse.osgi.tests/build.properties | 11 ++++++++++-
.../bundles_src/test.bug438904.frag/META-INF/MANIFEST.MF | 3 +++
.../test.bug438904.frag/test/bug438904/frag/Test2.java | 15 +++++++++++++++
.../test.bug438904.global/META-INF/MANIFEST.MF | 4 ++++
.../bundles_src/test.bug438904.host/META-INF/MANIFEST.MF | 5 +++++
.../test.bug438904.host/test/bug438904/host/Test1.java | 15 +++++++++++++++
.../osgi/tests/bundles/ClassLoadingBundleTests.java | 9 +++++++++
8 files changed, 64 insertions(+), 1 deletion(-)
create mode 100644 bundles/org.eclipse.osgi.tests/bundles_src/test.bug438904.frag/META-INF/MANIFEST.MF
create mode 100644 bundles/org.eclipse.osgi.tests/bundles_src/test.bug438904.frag/test/bug438904/frag/Test2.java
create mode 100644 bundles/org.eclipse.osgi.tests/bundles_src/test.bug438904.global/META-INF/MANIFEST.MF
create mode 100644 bundles/org.eclipse.osgi.tests/bundles_src/test.bug438904.host/META-INF/MANIFEST.MF
create mode 100644 bundles/org.eclipse.osgi.tests/bundles_src/test.bug438904.host/test/bug438904/host/Test1.java
(limited to 'bundles')
diff --git a/bundles/org.eclipse.osgi.tests/.classpath b/bundles/org.eclipse.osgi.tests/.classpath
index 0ba78979f..cb132ac61 100644
--- a/bundles/org.eclipse.osgi.tests/.classpath
+++ b/bundles/org.eclipse.osgi.tests/.classpath
@@ -124,5 +124,8 @@
+
+
+
diff --git a/bundles/org.eclipse.osgi.tests/build.properties b/bundles/org.eclipse.osgi.tests/build.properties
index 987e3da15..8653aa84a 100644
--- a/bundles/org.eclipse.osgi.tests/build.properties
+++ b/bundles/org.eclipse.osgi.tests/build.properties
@@ -252,6 +252,12 @@ source.bundle_tests/ext.framework.osgiee.b.jar = bundles_src/ext.framework.osgie
manifest.bundle_tests/ext.framework.osgiee.b.jar = META-INF/MANIFEST.MF
source.bundle_tests/classloader.hooks.a.jar = bundles_src/classloader.hooks.a/
manifest.bundle_tests/classloader.hooks.a.jar = META-INF/MANIFEST.MF
+source.bundle_tests/test.bug438904.host.jar = bundles_src/test.bug438904.host/
+manifest.bundle_tests/test.bug438904.host.jar = META-INF/MANIFEST.MF
+source.bundle_tests/test.bug438904.frag.jar = bundles_src/test.bug438904.frag/
+manifest.bundle_tests/test.bug438904.frag.jar = META-INF/MANIFEST.MF
+source.bundle_tests/test.bug438904.global.jar = bundles_src/test.bug438904.global/
+manifest.bundle_tests/test.bug438904.global.jar = META-INF/MANIFEST.MF
jars.compile.order = bundle_tests/ext.framework.b.jar,\
osgitests.jar,\
@@ -373,4 +379,7 @@ jars.compile.order = bundle_tests/ext.framework.b.jar,\
bundle_tests/test.uninstall.start2.jar,\
bundle_tests/ext.framework.osgiee.a.jar,\
bundle_tests/ext.framework.osgiee.b.jar,\
- bundle_tests/classloader.hooks.a.jar
+ bundle_tests/classloader.hooks.a.jar,\
+ bundle_tests/test.bug438904.host.jar,\
+ bundle_tests/test.bug438904.frag.jar,\
+ bundle_tests/test.bug438904.global.jar
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug438904.frag/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug438904.frag/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..c27c4e879
--- /dev/null
+++ b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug438904.frag/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Bundle-SymbolicName: test.bug438904.host
+Bundle-Version: 1.0
+Export-Package: test.bug438904.host
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug438904.frag/test/bug438904/frag/Test2.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug438904.frag/test/bug438904/frag/Test2.java
new file mode 100644
index 000000000..054485004
--- /dev/null
+++ b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug438904.frag/test/bug438904/frag/Test2.java
@@ -0,0 +1,15 @@
+/*******************************************************************************
+ * Copyright (c) 2013 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package test.bug438904.frag;
+
+public class Test2 {
+
+}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug438904.global/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug438904.global/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..485f36ddc
--- /dev/null
+++ b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug438904.global/META-INF/MANIFEST.MF
@@ -0,0 +1,4 @@
+Bundle-SymbolicName: test.bug438904.global
+Bundle-Version: 1.0
+Eclipse-BuddyPolicy: global
+
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug438904.host/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug438904.host/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..1254dea39
--- /dev/null
+++ b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug438904.host/META-INF/MANIFEST.MF
@@ -0,0 +1,5 @@
+Bundle-SymbolicName: test.bug438904.frag
+Bundle-Version: 1.0
+Export-Package: test.bug438904.frag
+Fragment-Host: test.bug438904.host
+
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug438904.host/test/bug438904/host/Test1.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug438904.host/test/bug438904/host/Test1.java
new file mode 100644
index 000000000..89ba446d6
--- /dev/null
+++ b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug438904.host/test/bug438904/host/Test1.java
@@ -0,0 +1,15 @@
+/*******************************************************************************
+ * Copyright (c) 2013 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package test.bug438904.host;
+
+public class Test1 {
+
+}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/ClassLoadingBundleTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/ClassLoadingBundleTests.java
index 67fa572f3..0fe0ed544 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/ClassLoadingBundleTests.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/ClassLoadingBundleTests.java
@@ -1651,6 +1651,15 @@ public class ClassLoadingBundleTests extends AbstractBundleTests {
}
}
+ public void testBuddyClassloadingBug438904() throws Exception {
+ Bundle host = installer.installBundle("test.bug438904.host");
+ Bundle frag = installer.installBundle("test.bug438904.frag");
+ Bundle global = installer.installBundle("test.bug438904.global");
+ installer.resolveBundles(new Bundle[] {host, frag, global});
+ global.loadClass("test.bug438904.host.Test1");
+ global.loadClass("test.bug438904.frag.Test2");
+ }
+
public void testBundleReference01() throws Exception {
Bundle test = installer.installBundle("test"); //$NON-NLS-1$
Class clazz = test.loadClass("test1.Activator"); //$NON-NLS-1$
--
cgit v1.2.3