aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2013-10-01 15:34:05 +0200
committerSven Gothel <[email protected]>2013-10-01 15:34:05 +0200
commitb05f716cbcbc379588050c8f3d91579b3a14ec88 (patch)
tree6bb720e5dc500225d4a12bf3b6dc93f4d85f04fb /test
parent4aa1478b2e4f1401b08d093461b37a14c9501c29 (diff)
Bug 845: Fix JNILibLoaderBase.addNativeJarLibsImpl(..) fat-jar case.
Always use the jar-basename when calling TempJarCache.addNativeLibs(..), otherwise it is mapped and loaded multiple times leading to different native libraries. Simplify addNativeJarLibsImpl(..) argument semantics by passing complete jarBasename and nativeJarBasename (w/ suffix). Added manual test scripts validating [gluegen + jogl] usage with multi (Bug 843) and fat (Bug 845) jar configurations.
Diffstat (limited to 'test')
-rw-r--r--test/TestMultiAndFatJar/make-fat_and_multi.sh45
-rw-r--r--test/TestMultiAndFatJar/run-fat.sh9
-rw-r--r--test/TestMultiAndFatJar/run-multi.sh9
3 files changed, 63 insertions, 0 deletions
diff --git a/test/TestMultiAndFatJar/make-fat_and_multi.sh b/test/TestMultiAndFatJar/make-fat_and_multi.sh
new file mode 100644
index 0000000..945d29b
--- /dev/null
+++ b/test/TestMultiAndFatJar/make-fat_and_multi.sh
@@ -0,0 +1,45 @@
+THISDIR=`pwd`
+GLUEGEN=$THISDIR/../../../gluegen
+JOGL=$THISDIR/../../../jogl
+
+bdir=build-x86_64
+
+rm -rf temp
+
+#
+# make fat
+#
+rm -f jogl-fat.jar
+mkdir temp
+cd temp
+unzip -o $GLUEGEN/$bdir/gluegen-rt.jar
+unzip -o $GLUEGEN/$bdir/gluegen-rt-natives-linux-amd64.jar
+unzip -o $JOGL/$bdir/jar/jogl-all.jar
+unzip -o $JOGL/$bdir/jar/jogl-all-natives-linux-amd64.jar
+mkdir -p natives/linux-amd64
+mv lib*.so natives/linux-amd64/
+rm -rf META-INF
+jar cf ../jogl-fat.jar *
+cd ..
+rm -rf temp
+
+#
+# make multi
+#
+rm -f jogl-multi.jar jogl-multi-natives-linux-amd64.jar
+mkdir temp
+cd temp
+unzip -o $GLUEGEN/$bdir/gluegen-rt.jar
+unzip -o $JOGL/$bdir/jar/jogl-all.jar
+rm -rf META-INF
+jar cf ../jogl-multi.jar *
+rm -rf *
+unzip -o $GLUEGEN/$bdir/gluegen-rt-natives-linux-amd64.jar
+unzip -o $JOGL/$bdir/jar/jogl-all-natives-linux-amd64.jar
+mkdir -p natives/linux-amd64
+mv lib*.so natives/linux-amd64/
+rm -rf META-INF
+jar cf ../jogl-multi-natives-linux-amd64.jar *
+cd ..
+rm -rf temp
+
diff --git a/test/TestMultiAndFatJar/run-fat.sh b/test/TestMultiAndFatJar/run-fat.sh
new file mode 100644
index 0000000..60247a6
--- /dev/null
+++ b/test/TestMultiAndFatJar/run-fat.sh
@@ -0,0 +1,9 @@
+
+D_ARGS="-Djogamp.debug.JNILibLoader -Djogamp.debug.TempFileCache -Djogamp.debug.JarUtil -Djogamp.debug.TempJarCache"
+#D_ARGS="-Djogamp.debug.ProcAddressHelper -Djogamp.debug.NativeLibrary -Djogamp.debug.NativeLibrary.Lookup"
+#D_ARGS="-Djogamp.debug.JNILibLoader -Djogamp.debug.TempFileCache -Djogamp.debug.JarUtil -Djogamp.debug.TempJarCache -Djogamp.debug.NativeLibrary -Djogamp.debug.NativeLibrary.Lookup -Djogl.debug=all"
+
+#T_CLASS="com.jogamp.opengl.JoglVersion"
+T_CLASS="com.jogamp.newt.opengl.GLWindow"
+
+java -cp jogl-fat.jar $D_ARGS $T_CLASS 2>&1 | tee run-fat.log
diff --git a/test/TestMultiAndFatJar/run-multi.sh b/test/TestMultiAndFatJar/run-multi.sh
new file mode 100644
index 0000000..0cca10c
--- /dev/null
+++ b/test/TestMultiAndFatJar/run-multi.sh
@@ -0,0 +1,9 @@
+
+#D_ARGS="-Djogamp.debug.JNILibLoader -Djogamp.debug.TempFileCache -Djogamp.debug.JarUtil -Djogamp.debug.TempJarCache"
+#D_ARGS="-Djogamp.debug.ProcAddressHelper -Djogamp.debug.NativeLibrary -Djogamp.debug.NativeLibrary.Lookup"
+D_ARGS="-Djogamp.debug.JNILibLoader -Djogamp.debug.TempFileCache -Djogamp.debug.JarUtil -Djogamp.debug.TempJarCache -Djogamp.debug.NativeLibrary"
+
+#T_CLASS="com.jogamp.opengl.JoglVersion"
+T_CLASS="com.jogamp.newt.opengl.GLWindow"
+
+java -cp jogl-multi.jar $D_ARGS $T_CLASS 2>&1 | tee run-multi.log