summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2013-10-01 22:41:55 +0200
committerSven Gothel <[email protected]>2013-10-01 22:41:55 +0200
commit01c5d59c5245068b0d005ccbb64f8d0aa5165f12 (patch)
tree75b61bd2c6ac9e927eb1ad412bf2fe4819a262b5
parentb05f716cbcbc379588050c8f3d91579b3a14ec88 (diff)
Bug 846: Add manual test case for One-Jar (using 0.97.1)
Note: One-Jar lacks support of a URL handler for it's jar-in-jar files and hence we would need to extract the jar-in-jar resources w/ our TempJarCache from one one-jar file .. too bad. Looks like it's incomplete.
-rw-r--r--test/TestEclipse_JarInJar/lala02.orig.jarbin0 -> 4748589 bytes
-rw-r--r--test/TestEclipse_JarInJar/make-jarinjar.sh21
-rw-r--r--test/TestEclipse_JarInJar/run-jarinjar.sh8
-rw-r--r--test/TestMultiAndFatJar/run-fat.sh2
-rw-r--r--test/TestMultiAndFatJar/run-multi.sh4
-rw-r--r--test/TestOneJar_InJar/jogamp01/build.xml123
-rw-r--r--test/TestOneJar_InJar/jogamp01/ide/eclipse/jogamp01-suite.launch26
-rw-r--r--test/TestOneJar_InJar/jogamp01/ide/eclipse/test-jogamp01 (JarLaunch build).launch12
-rw-r--r--test/TestOneJar_InJar/jogamp01/junit/jogamp/test/Jogamp01Suite.java73
-rw-r--r--test/TestOneJar_InJar/jogamp01/lib/README.txt1
-rw-r--r--test/TestOneJar_InJar/jogamp01/one-jar/build.onejar.xml54
-rw-r--r--test/TestOneJar_InJar/jogamp01/one-jar/dist/one-jar-ant-task-0.97.jarbin0 -> 92003 bytes
-rw-r--r--test/TestOneJar_InJar/jogamp01/one-jar/dist/one-jar-ant-task.xml10
-rw-r--r--test/TestOneJar_InJar/jogamp01/one-jar/dist/one-jar-boot-0.97.jarbin0 -> 69299 bytes
-rw-r--r--test/TestOneJar_InJar/jogamp01/one-jar/lib/junit-3.8.1.jarbin0 -> 121070 bytes
-rw-r--r--test/TestOneJar_InJar/jogamp01/src/jogamp/main/Jogamp01Main.java31
-rw-r--r--test/TestOneJar_InJar/jogamp01/test/jogamp/test/Test.java32
-rw-r--r--test/TestOneJar_InJar/make-one_jar.sh18
-rw-r--r--test/TestOneJar_InJar/one-jar-license.txt33
-rw-r--r--test/TestOneJar_InJar/run-one.sh9
20 files changed, 454 insertions, 3 deletions
diff --git a/test/TestEclipse_JarInJar/lala02.orig.jar b/test/TestEclipse_JarInJar/lala02.orig.jar
new file mode 100644
index 0000000..39d52e5
--- /dev/null
+++ b/test/TestEclipse_JarInJar/lala02.orig.jar
Binary files differ
diff --git a/test/TestEclipse_JarInJar/make-jarinjar.sh b/test/TestEclipse_JarInJar/make-jarinjar.sh
new file mode 100644
index 0000000..53239a4
--- /dev/null
+++ b/test/TestEclipse_JarInJar/make-jarinjar.sh
@@ -0,0 +1,21 @@
+THISDIR=`pwd`
+GLUEGEN=$THISDIR/../../../gluegen
+JOGL=$THISDIR/../../../jogl
+
+bdir=build-x86_64
+
+rm -rf tmp
+mkdir tmp
+
+cd tmp
+unzip $THISDIR/lala02.orig.jar
+
+cp -av $GLUEGEN/$bdir/gluegen-rt.jar .
+cp -av $GLUEGEN/$bdir/gluegen-rt-natives-linux-amd64.jar .
+cp -av $JOGL/$bdir/jar/jogl-all.jar .
+cp -av $JOGL/$bdir/jar/jogl-all-natives-linux-amd64.jar .
+
+jar cmf META-INF/MANIFEST.MF ../lala02.jar *jar *class org
+cd ..
+
+rm -rf tmp
diff --git a/test/TestEclipse_JarInJar/run-jarinjar.sh b/test/TestEclipse_JarInJar/run-jarinjar.sh
new file mode 100644
index 0000000..404a301
--- /dev/null
+++ b/test/TestEclipse_JarInJar/run-jarinjar.sh
@@ -0,0 +1,8 @@
+
+THIS_DIR=`pwd`
+
+D_ARGS="-Djogamp.debug.JNILibLoader -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"
+
+java $D_ARGS -jar lala02.jar 2>&1 | tee run-jarinjar.log
diff --git a/test/TestMultiAndFatJar/run-fat.sh b/test/TestMultiAndFatJar/run-fat.sh
index 60247a6..2108446 100644
--- a/test/TestMultiAndFatJar/run-fat.sh
+++ b/test/TestMultiAndFatJar/run-fat.sh
@@ -1,5 +1,5 @@
-D_ARGS="-Djogamp.debug.JNILibLoader -Djogamp.debug.TempFileCache -Djogamp.debug.JarUtil -Djogamp.debug.TempJarCache"
+D_ARGS="-Djogamp.debug.JNILibLoader -Djogamp.debug.TempFileCache -Djogamp.debug.JarUtil -Djogamp.debug.TempJarCache -Djogamp.debug.IOUtil"
#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"
diff --git a/test/TestMultiAndFatJar/run-multi.sh b/test/TestMultiAndFatJar/run-multi.sh
index 0cca10c..86206a4 100644
--- a/test/TestMultiAndFatJar/run-multi.sh
+++ b/test/TestMultiAndFatJar/run-multi.sh
@@ -1,7 +1,7 @@
-#D_ARGS="-Djogamp.debug.JNILibLoader -Djogamp.debug.TempFileCache -Djogamp.debug.JarUtil -Djogamp.debug.TempJarCache"
+D_ARGS="-Djogamp.debug.JNILibLoader -Djogamp.debug.TempFileCache -Djogamp.debug.JarUtil -Djogamp.debug.TempJarCache -Djogamp.debug.IOUtil"
#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"
+#D_ARGS="-Djogamp.debug.JNILibLoader -Djogamp.debug.TempFileCache -Djogamp.debug.JarUtil -Djogamp.debug.TempJarCache -Djogamp.debug.NativeLibrary -Djogamp.debug.IOUtil"
#T_CLASS="com.jogamp.opengl.JoglVersion"
T_CLASS="com.jogamp.newt.opengl.GLWindow"
diff --git a/test/TestOneJar_InJar/jogamp01/build.xml b/test/TestOneJar_InJar/jogamp01/build.xml
new file mode 100644
index 0000000..e1a4b24
--- /dev/null
+++ b/test/TestOneJar_InJar/jogamp01/build.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="jogamp01" basedir="." default="build">
+
+ <!-- Hook into One-Jar project -->
+ <available property="one-jar.dir" file="../one-jar/build.onejar.xml" value="../one-jar"/>
+ <!-- Will be ignored if available above -->
+ <property name="one-jar.dir" location="one-jar" />
+ <import file="${one-jar.dir}/build.onejar.xml"/>
+
+ <property name="eclipse.jar-in-jar.dir" value="build-lib/eclipse"/>
+ <property name="temp.dir" value="temp" />
+ <path id="libraries">
+ <fileset dir="lib" includes="*.jar"/>
+ </path>
+
+ <target name="mkdirs">
+ <mkdir dir="${test.results.dir}" />
+ <mkdir dir="${test.reports.dir}"/>
+ <mkdir dir="classes/src"/>
+ <mkdir dir="classes/test"/>
+ <mkdir dir="classes/junit"/>
+ <mkdir dir="build"/>
+ </target>
+
+ <target name="build" depends="clean, mkdirs, compile, build.jogamp01" />
+
+ <target name="clean">
+ <delete dir="classes" />
+ </target>
+
+ <target name="distclean" depends="clean" description="clean distribution">
+ <delete dir="build"/>
+ <delete dir="test-reports"/>
+ <delete dir="test-results"/>
+ </target>
+
+ <target name="compile" depends="mkdirs">
+ <javac destdir="classes/src" includes="**/*.java" debug="true">
+ <src path="src" />
+ <classpath refid="libraries" />
+ <classpath refid="one-jar.libraries"/>
+ <classpath path="${one-jar.ant.jar}"/>
+ </javac>
+ <javac destdir="classes/test" includes="**/*.java" debug="true">
+ <src path="test" />
+ <classpath refid="libraries" />
+ <classpath refid="one-jar.libraries"/>
+ <classpath path="${one-jar.ant.jar}"/>
+ </javac>
+ <javac destdir="classes/junit" includes="**/*.java" debug="true">
+ <src path="junit" />
+ <classpath refid="libraries" />
+ <classpath refid="one-jar.libraries"/>
+ <!-- Uses Invoker to set up a JUnit test bridge -->
+ <classpath path="classes/test"/>
+ </javac>
+ </target>
+
+ <!-- Build the One-Jar -->
+ <target name="build.jogamp01">
+ <mkdir dir="build"/>
+ <one-jar destfile="build/jogamp01.jar">
+ <manifest>
+ <attribute name="Main-Class" value="jogamp.Boot"/>
+ <attribute name="One-Jar-Main-Class" value="com.jogamp.newt.opengl.GLWindow"/>
+ </manifest>
+ <main>
+ <fileset dir="classes/src"/>
+ </main>
+ <lib>
+ <fileset dir="lib" includes="*.jar" />
+ </lib>
+ </one-jar>
+ <one-jar destfile="build/test-jogamp01.jar">
+ <manifest>
+ <attribute name="Main-Class" value="jogamp.Boot"/>
+ <attribute name="One-Jar-Main-Class" value="jogamp.test.Test"/>
+ </manifest>
+ <zipfileset src="${one-jar.ant.jar}" includes="**/Testable.class"/>
+ <main>
+ <fileset dir="classes/test"/>
+ </main>
+ <lib>
+ <fileset dir="lib" includes="*.jar" />
+ </lib>
+ </one-jar>
+ <delete dir="${temp.dir}" />
+ </target>
+
+ <property name="formatter" value="xml" />
+
+ <!-- Test the distribution -->
+ <target name="junit.report.jogamp01" depends="build" description="JUnit test of jogamp01">
+ <antcall target="junit.jogamp01" />
+ <antcall target="junit.report"/>
+ </target>
+
+ <target name="junit.jogamp01" depends="build">
+ <echo>********** junit-jogamp01.jar</echo>
+ <junit fork="yes" showoutput="no" printsummary="yes">
+ <jvmarg value="-Done-jar.verbose=true" />
+ <jvmarg value="-Done-jar.jarname=${basedir}/build/test-jogamp01.jar" />
+ <classpath>
+ <fileset file="${basedir}/build/test-jogamp01.jar" />
+ <path refid="one-jar.libraries"/>
+ <path location="classes/junit" />
+ </classpath>
+
+ <!-- Uses Invoker to set up a JUnit test bridge -->
+ <test name="jogamp.test.Jogamp01Suite" todir="${test.results.dir}" outfile="Jogamp01Suite" />
+ <formatter type="${formatter}" usefile="yes" />
+ </junit>
+ </target>
+
+ <target name="run.jogamp01" depends="build" description="Run a One-Jar jogamp01">
+ <java fork="true" jar="build/jogamp01.jar"/>
+ </target>
+
+ <target name="test.jogamp01" depends="build" description="Stand-alone test a One-Jar jogamp01">
+ <java fork="true" jar="build/test-jogamp01.jar"/>
+ </target>
+
+</project>
diff --git a/test/TestOneJar_InJar/jogamp01/ide/eclipse/jogamp01-suite.launch b/test/TestOneJar_InJar/jogamp01/ide/eclipse/jogamp01-suite.launch
new file mode 100644
index 0000000..b3e5c70
--- /dev/null
+++ b/test/TestOneJar_InJar/jogamp01/ide/eclipse/jogamp01-suite.launch
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/one-jar-jogamp01"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="4"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"/>
+<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;sourceLookupDirector&gt;&#13;&#10;&lt;sourceContainers duplicates=&quot;false&quot;&gt;&#13;&#10;&lt;container memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;javaProject name=&amp;quot;one-jar-jogamp01project$&amp;quot;/&amp;gt;&amp;#13;&amp;#10;&quot; typeId=&quot;org.eclipse.jdt.launching.sourceContainer.javaProject&quot;/&gt;&#13;&#10;&lt;container memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;javaProject name=&amp;quot;one-jar&amp;quot;/&amp;gt;&amp;#13;&amp;#10;&quot; typeId=&quot;org.eclipse.jdt.launching.sourceContainer.javaProject&quot;/&gt;&#13;&#10;&lt;container memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;packageFragmentRoot handle=&amp;quot;=one-jar/lib\/junit-3.8.1.jar&amp;quot;/&amp;gt;&amp;#13;&amp;#10;&quot; typeId=&quot;org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot&quot;/&gt;&#13;&#10;&lt;container memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;default/&amp;gt;&amp;#13;&amp;#10;&quot; typeId=&quot;org.eclipse.debug.core.containerType.default&quot;/&gt;&#13;&#10;&lt;/sourceContainers&gt;&#13;&#10;&lt;/sourceLookupDirector&gt;&#13;&#10;"/>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit3"/>
+<listAttribute key="org.eclipse.jdt.launching.CLASSPATH">
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry containerPath=&quot;org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6&quot; javaProject=&quot;one-jar-jogamp01&quot; path=&quot;1&quot; type=&quot;4&quot;/&gt;&#13;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry containerPath=&quot;org.eclipse.jdt.junit.JUNIT_CONTAINER/3&quot; path=&quot;3&quot; type=&quot;4&quot;/&gt;&#13;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/one-jar/build/eclipse/test&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/one-jar-jogamp01/build/test-one-jar-jogamp01.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/one-jar-Jogamp01/classes/test&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>
+</listAttribute>
+<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="jogamp.test.Jogamp01Suite"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="one-jar-jogamp01"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Done-jar.verbose=false&#13;&#10;-Done-jar.jar.path=${project_loc:one-jar-jogamp01}/build/test-one-jar-jogamp01.jar"/>
+</launchConfiguration>
diff --git a/test/TestOneJar_InJar/jogamp01/ide/eclipse/test-jogamp01 (JarLaunch build).launch b/test/TestOneJar_InJar/jogamp01/ide/eclipse/test-jogamp01 (JarLaunch build).launch
new file mode 100644
index 0000000..e532dd3
--- /dev/null
+++ b/test/TestOneJar_InJar/jogamp01/ide/eclipse/test-jogamp01 (JarLaunch build).launch
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/one-jar-jogamp01"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="4"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="-jar"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="C:/eclipse/projects/com.simontuffs/one-jar-jogamp01/build/test-jogamp01.jar"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="one-jar-jogamp01"/>
+</launchConfiguration>
diff --git a/test/TestOneJar_InJar/jogamp01/junit/jogamp/test/Jogamp01Suite.java b/test/TestOneJar_InJar/jogamp01/junit/jogamp/test/Jogamp01Suite.java
new file mode 100644
index 0000000..85ac9c0
--- /dev/null
+++ b/test/TestOneJar_InJar/jogamp01/junit/jogamp/test/Jogamp01Suite.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) 2004-2010, P. Simon Tuffs ([email protected])
+ * All rights reserved.
+ *
+ * See the full license at http://one-jar.sourceforge.net/one-jar-license.html
+ * This license is also included in the distributions of this software
+ * under doc/one-jar-license.txt
+ */
+package jogamp.test;
+
+import java.lang.reflect.Method;
+
+import junit.framework.AssertionFailedError;
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestResult;
+import junit.framework.TestSuite;
+
+import com.simontuffs.onejar.Boot;
+import com.simontuffs.onejar.JarClassLoader;
+import com.simontuffs.onejar.test.Invoker;
+
+public class Jogamp01Suite {
+
+ protected static Object test;
+ protected static int failures = 0;
+
+ public static final String MAIN_CLASS = "jogamp.test.Test";
+
+ public static void main(String args[]) {
+ new TestSuite(Jogamp01Suite.class).run(new TestResult());
+ }
+
+ public static Test suite() throws Exception {
+ if (test == null) {
+ // Load Test object from the jar.
+ JarClassLoader loader = new JarClassLoader("");
+ Boot.setClassLoader(loader);
+ // loader.setVerbose(true);
+ loader.load(null);
+ test = loader.loadClass(MAIN_CLASS).newInstance();
+ }
+ TestSuite top = new TestSuite();
+ TestSuite suite = new TestSuite(MAIN_CLASS);
+ top.addTest(suite);
+ Method methods[] = test.getClass().getMethods();
+ for (final Method method: methods) {
+ if (method.getName().startsWith("test")) {
+ System.out.println("" + method);
+ suite.addTest(new TestCase() {
+ {
+ setName(method.getName());
+ }
+ @Override
+ public void run(TestResult result) {
+ // TODO Auto-generated method stub
+ result.startTest(this);
+ try {
+ Invoker.invoke(test, method.getName());
+ } catch (Exception x) {
+ x.printStackTrace();
+ result.addFailure(this, new AssertionFailedError(x.toString()));
+ }
+ result.endTest(this);
+ }
+ });
+ }
+ }
+
+ return suite;
+ }
+
+}
diff --git a/test/TestOneJar_InJar/jogamp01/lib/README.txt b/test/TestOneJar_InJar/jogamp01/lib/README.txt
new file mode 100644
index 0000000..3c862b9
--- /dev/null
+++ b/test/TestOneJar_InJar/jogamp01/lib/README.txt
@@ -0,0 +1 @@
+Place your libraries to be included in the One-Jar archive here.
diff --git a/test/TestOneJar_InJar/jogamp01/one-jar/build.onejar.xml b/test/TestOneJar_InJar/jogamp01/one-jar/build.onejar.xml
new file mode 100644
index 0000000..8c41ade
--- /dev/null
+++ b/test/TestOneJar_InJar/jogamp01/one-jar/build.onejar.xml
@@ -0,0 +1,54 @@
+<project>
+ <!-- Capture essential paths for use by other projects -->
+ <property name="one-jar.version" value="0.97" />
+ <pathconvert targetos="unix" property="basedir.unix">
+ <path location="${basedir}"/>
+ </pathconvert>
+
+ <property name="one-jar.dir" value="${basedir}/../one-jar"/>
+ <property name="one-jar.dist.dir" value="${one-jar.dir}/dist" />
+ <property name="one-jar.build.ant" location="${one-jar.dir}/build/ant"/>
+
+ <!-- Commonly used relative paths. -->
+ <property name="classes" value="classes" />
+ <property name="lib" value="lib" />
+ <property name="src" value="src" />
+ <property name="test" value="test" />
+
+ <!-- Defaults: expected to be overridden as part of overall test suite for aggregation. -->
+ <property name="test.reports.dir" value="${basedir.unix}/test-reports"/>
+ <property name="test.results.dir" value="${basedir.unix}/test-results"/>
+
+ <import file="${one-jar.dist.dir}/one-jar-ant-task.xml" optional="true" />
+
+ <path id="one-jar.libraries">
+ <pathelement location="${one-jar.dir}/lib/junit-3.8.1.jar"/>
+ <pathelement location="${one-jar.dir}/dist/one-jar-boot-${one-jar.version}.jar"/>
+ <pathelement location="${one-jar.ant.jar}"/>
+ </path>
+
+ <path id="one-jar.test.libraries">
+ <pathelement location="${one-jar.dir}/lib/junit-3.8.1.jar"/>
+ <pathelement location="${classes.dir}/test" />
+ </path>
+
+ <target name="build.init">
+ <mkdir dir="build"/>
+ <mkdir dir="${test.reports.dir}"/>
+ <mkdir dir="${test.results.dir}"/>
+ </target>
+
+ <target name="junit.report">
+ <mkdir dir="${test.reports.dir}" />
+ <junitreport todir="${test.reports.dir}">
+ <fileset dir="${test.results.dir}" includes="*SelfTest*.xml,*Suite.xml" />
+ <report format="noframes" todir="${test.reports.dir}" />
+ </junitreport>
+ <echo>***********************************************</echo>
+ <echo>* Report is in ${test.reports.dir}/junit_noframes.html</echo>
+ <echo>***********************************************</echo>
+ </target>
+
+
+
+</project>
diff --git a/test/TestOneJar_InJar/jogamp01/one-jar/dist/one-jar-ant-task-0.97.jar b/test/TestOneJar_InJar/jogamp01/one-jar/dist/one-jar-ant-task-0.97.jar
new file mode 100644
index 0000000..15dbbb2
--- /dev/null
+++ b/test/TestOneJar_InJar/jogamp01/one-jar/dist/one-jar-ant-task-0.97.jar
Binary files differ
diff --git a/test/TestOneJar_InJar/jogamp01/one-jar/dist/one-jar-ant-task.xml b/test/TestOneJar_InJar/jogamp01/one-jar/dist/one-jar-ant-task.xml
new file mode 100644
index 0000000..007b5ad
--- /dev/null
+++ b/test/TestOneJar_InJar/jogamp01/one-jar/dist/one-jar-ant-task.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<project>
+ <!-- The following property is expected to be overridden by caller -->
+ <property name="one-jar.dist.dir" value="./dist"/>
+ <property name="one-jar.version" value="0.97"/>
+ <property name="one-jar.ant.jar" value="${one-jar.dist.dir}/one-jar-ant-task-${one-jar.version}.jar"/>
+ <taskdef name="one-jar" classname="com.simontuffs.onejar.ant.OneJarTask"
+ classpath="${one-jar.ant.jar}" onerror="report"/>
+
+</project>
diff --git a/test/TestOneJar_InJar/jogamp01/one-jar/dist/one-jar-boot-0.97.jar b/test/TestOneJar_InJar/jogamp01/one-jar/dist/one-jar-boot-0.97.jar
new file mode 100644
index 0000000..26e0ec6
--- /dev/null
+++ b/test/TestOneJar_InJar/jogamp01/one-jar/dist/one-jar-boot-0.97.jar
Binary files differ
diff --git a/test/TestOneJar_InJar/jogamp01/one-jar/lib/junit-3.8.1.jar b/test/TestOneJar_InJar/jogamp01/one-jar/lib/junit-3.8.1.jar
new file mode 100644
index 0000000..674d71e
--- /dev/null
+++ b/test/TestOneJar_InJar/jogamp01/one-jar/lib/junit-3.8.1.jar
Binary files differ
diff --git a/test/TestOneJar_InJar/jogamp01/src/jogamp/main/Jogamp01Main.java b/test/TestOneJar_InJar/jogamp01/src/jogamp/main/Jogamp01Main.java
new file mode 100644
index 0000000..b8ee4e1
--- /dev/null
+++ b/test/TestOneJar_InJar/jogamp01/src/jogamp/main/Jogamp01Main.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2004-2010, P. Simon Tuffs ([email protected])
+ * All rights reserved.
+ *
+ * See the full license at http://one-jar.sourceforge.net/one-jar-license.html
+ * This license is also included in the distributions of this software
+ * under doc/one-jar-license.txt
+ */
+package jogamp.main;
+
+import java.util.Arrays;
+
+public class Jogamp01Main {
+
+ public static void main(String args[]) {
+ if (args == null)
+ args = new String[0];
+ System.out.println("jogamp01 main entry point, args=" + Arrays.asList(args));
+ new Jogamp01Main().run();
+ }
+
+ // Bring up the application: only expected to exit when user interaction
+ // indicates so.
+ public void run() {
+ System.out.println("jogamp01 main is running");
+ // Implement the functionality of the application.
+ System.out.println("jogamp01 OK.");
+ }
+
+
+}
diff --git a/test/TestOneJar_InJar/jogamp01/test/jogamp/test/Test.java b/test/TestOneJar_InJar/jogamp01/test/jogamp/test/Test.java
new file mode 100644
index 0000000..87e987f
--- /dev/null
+++ b/test/TestOneJar_InJar/jogamp01/test/jogamp/test/Test.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2004-2010, P. Simon Tuffs ([email protected])
+ * All rights reserved.
+ *
+ * See the full license at http://one-jar.sourceforge.net/one-jar-license.html
+ * This license is also included in the distributions of this software
+ * under doc/one-jar-license.txt
+ */
+package jogamp.test;
+
+import com.simontuffs.onejar.test.Testable;
+
+public class Test extends Testable {
+
+ public static void main(String args[]) throws Exception {
+ Test test = new Test();
+ test.runTests();
+ }
+
+ // Test other aspects of the application at unit level (e.g. library
+ // methods).
+ public void testJogamp011() {
+ System.out.println("testJogamp011: OK");
+ }
+ public void testJogamp012() {
+ System.out.println("testJogamp012: OK");
+ }
+ public void testJogamp013() {
+ System.out.println("testJogamp013: OK");
+ }
+
+}
diff --git a/test/TestOneJar_InJar/make-one_jar.sh b/test/TestOneJar_InJar/make-one_jar.sh
new file mode 100644
index 0000000..7ba3a83
--- /dev/null
+++ b/test/TestOneJar_InJar/make-one_jar.sh
@@ -0,0 +1,18 @@
+THISDIR=`pwd`
+GLUEGEN=$THISDIR/../../../gluegen
+JOGL=$THISDIR/../../../jogl
+
+DEST=jogamp01/lib/
+
+bdir=build-x86_64
+
+cp -av $GLUEGEN/$bdir/gluegen-rt.jar $DEST
+cp -av $GLUEGEN/$bdir/gluegen-rt-natives-linux-amd64.jar $DEST
+cp -av $JOGL/$bdir/jar/jogl-all.jar $DEST
+cp -av $JOGL/$bdir/jar/jogl-all-natives-linux-amd64.jar $DEST
+
+rm -f jogamp01/build/*
+
+cd jogamp01
+ant
+cd ..
diff --git a/test/TestOneJar_InJar/one-jar-license.txt b/test/TestOneJar_InJar/one-jar-license.txt
new file mode 100644
index 0000000..8336075
--- /dev/null
+++ b/test/TestOneJar_InJar/one-jar-license.txt
@@ -0,0 +1,33 @@
+/*
+ * One-JAR(TM) (http://www.simontuffs.com/one-jar). Copyright (c) 2004-2010,
+ * P. Simon Tuffs ([email protected]). All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * Neither the name of P. Simon Tuffs, nor the names of any contributors,
+ * nor the name One-JAR may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Including this file inside the built One-JAR file conforms with these terms.
+ */
+
diff --git a/test/TestOneJar_InJar/run-one.sh b/test/TestOneJar_InJar/run-one.sh
new file mode 100644
index 0000000..b1d6542
--- /dev/null
+++ b/test/TestOneJar_InJar/run-one.sh
@@ -0,0 +1,9 @@
+
+THIS_DIR=`pwd`
+
+D_ARGS="-Djogamp.debug.JNILibLoader -Djogamp.debug.TempFileCache -Djogamp.debug.JarUtil -Djogamp.debug.TempJarCache -Djogamp.debug.IOUtil"
+#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"
+
+#java $D_ARGS -jar jogamp01/build/jogamp01.jar 2>&1 | tee run-one.log
+java $D_ARGS -jar $THIS_DIR/jogamp01/build/jogamp01.jar 2>&1 | tee run-one.log