Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.osgi.tests')
-rw-r--r--bundles/org.eclipse.osgi.tests/META-INF/MANIFEST.MF2
-rw-r--r--bundles/org.eclipse.osgi.tests/pom.xml2
-rw-r--r--bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/BundleInstallUpdateTests.java16
-rw-r--r--bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/ClassLoadingBundleTests.java4
-rwxr-xr-xbundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/SystemBundleTests.java3
5 files changed, 21 insertions, 6 deletions
diff --git a/bundles/org.eclipse.osgi.tests/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/META-INF/MANIFEST.MF
index 3ae62e2ec..58c45dd4e 100644
--- a/bundles/org.eclipse.osgi.tests/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.osgi.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Core OSGi Tests
Bundle-SymbolicName: org.eclipse.osgi.tests;singleton:=true
-Bundle-Version: 3.13.400.qualifier
+Bundle-Version: 3.13.500.qualifier
Bundle-Vendor: Eclipse.org
Bundle-Localization: plugin
Require-Bundle:
diff --git a/bundles/org.eclipse.osgi.tests/pom.xml b/bundles/org.eclipse.osgi.tests/pom.xml
index aac6bf942..b923070f8 100644
--- a/bundles/org.eclipse.osgi.tests/pom.xml
+++ b/bundles/org.eclipse.osgi.tests/pom.xml
@@ -19,7 +19,7 @@
</parent>
<groupId>org.eclipse.osgi</groupId>
<artifactId>org.eclipse.osgi.tests</artifactId>
- <version>3.13.400-SNAPSHOT</version>
+ <version>3.13.500-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<properties>
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/BundleInstallUpdateTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/BundleInstallUpdateTests.java
index 783a59c7b..eccc62878 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/BundleInstallUpdateTests.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/BundleInstallUpdateTests.java
@@ -18,8 +18,9 @@ import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
import java.net.MalformedURLException;
-import java.net.URISyntaxException;
import java.net.URL;
import java.net.URLEncoder;
import java.util.Collection;
@@ -37,6 +38,7 @@ import org.osgi.framework.Constants;
import org.osgi.framework.InvalidSyntaxException;
import org.osgi.framework.ServiceRegistration;
import org.osgi.framework.hooks.bundle.CollisionHook;
+import org.osgi.framework.wiring.BundleWiring;
public class BundleInstallUpdateTests extends AbstractBundleTests {
public static Test suite() {
@@ -435,20 +437,23 @@ public class BundleInstallUpdateTests extends AbstractBundleTests {
is.close();
}
- public void testEscapeZipRoot() throws IOException, BundleException, InvalidSyntaxException, URISyntaxException {
+ public void testEscapeZipRoot() throws IOException, BundleException, InvalidSyntaxException, NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
String entry1 = "../../escapedZipRoot1.txt";
String entry2 = "dir1/../../../escapedZipRoot2.txt";
String cp1 = "../../cp.jar";
+ String nativeCode = "../../lib/nativeCode";
File bundlesDirectory = OSGiTestsActivator.getContext().getDataFile(getName());
bundlesDirectory.mkdirs();
Map<String, String> headers = new HashMap<String, String>();
headers.put(Constants.BUNDLE_MANIFESTVERSION, "2");
headers.put(Constants.BUNDLE_SYMBOLICNAME, getName());
- headers.put(Constants.BUNDLE_CLASSPATH, "., ../../cp.jar");
+ headers.put(Constants.BUNDLE_CLASSPATH, "., " + cp1);
+ headers.put(Constants.BUNDLE_NATIVECODE, nativeCode);
Map<String, String> entries = new HashMap<>();
entries.put(entry1, "value");
entries.put(entry2, "value");
entries.put(cp1, "value");
+ entries.put(nativeCode, "value");
File testBundleJarFile = SystemBundleTests.createBundle(bundlesDirectory, getName(), headers, entries);
Bundle testBundle = getContext().installBundle(getName(), new FileInputStream(testBundleJarFile));
@@ -458,6 +463,11 @@ public class BundleInstallUpdateTests extends AbstractBundleTests {
} catch (ClassNotFoundException e) {
// expected
}
+ ClassLoader cl = testBundle.adapt(BundleWiring.class).getClassLoader();
+ Method findLibrary = ClassLoader.class.getDeclaredMethod("findLibrary", String.class);
+ findLibrary.setAccessible(true);
+ assertNull("Found library.", findLibrary.invoke(cl, "nativeCode"));
+
URLConverter bundleURLConverter = getContext().getService(getContext().getServiceReferences(URLConverter.class, "(protocol=bundleentry)").iterator().next());
URL dir1 = bundleURLConverter.toFileURL(testBundle.getEntry("dir1/"));
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 f53778a2b..0246e2619 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
@@ -1506,6 +1506,10 @@ public class ClassLoadingBundleTests extends AbstractBundleTests {
}
public void testUninstallInUse01() throws BundleException {
+ if (getContext().getServiceReference("org.eclipse.equinox.region.RegionDigraph") != null) {
+ System.out.println("Cannot test uninstall in use with RegionDigraph service");
+ return;
+ }
Bundle exporter1 = installer.installBundle("exporter.importer1"); //$NON-NLS-1$
BundleRevision iExporter1 = exporter1.adapt(BundleRevision.class);
Bundle exporter2 = installer.installBundle("exporter.importer2"); //$NON-NLS-1$
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/SystemBundleTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/SystemBundleTests.java
index 67607a729..8a4232659 100755
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/SystemBundleTests.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/SystemBundleTests.java
@@ -3312,7 +3312,8 @@ public class SystemBundleTests extends AbstractBundleTests {
URI uri = new URI(frameworkLocation);
File f = new File(uri);
if (!f.isFile()) {
- Assert.fail("Cannot test when framework location is a directory: " + f.getAbsolutePath());
+ System.out.println("Cannot test when framework location is a directory: " + f.getAbsolutePath());
+ return;
}
File testDestination = OSGiTestsActivator.getContext().getDataFile(getName() + ".framework.jar");
BaseSecurityTest.copy(new FileInputStream(f), testDestination);

Back to the top