From a5f5d1479039db6bd093ffa828d975cd00e45ea6 Mon Sep 17 00:00:00 2001 From: Mark Donszelmann Date: Sat, 3 Oct 2009 16:24:14 +0200 Subject: Added test 4 --- ReleaseNotes.txt | 2 + pom.xml | 2 +- src/it/it0004-java-dep-jni/java-dep-jni/pom.xml | 62 +++++++++++++++++++ .../src/test/java/HelloWorldJavaDepJNITest.java | 25 ++++++++ src/it/it0004-java-dep-jni/jni/pom.xml | 71 ++++++++++++++++++++++ .../jni/src/main/c/HelloWorldJNI.c | 16 +++++ .../com/mycompany/mypackage/HelloWorldJNI.java | 15 +++++ .../jni/src/test/java/HelloWorldJNITest.java | 25 ++++++++ src/it/it0004-java-dep-jni/pom.xml | 49 +++++++++++++++ 9 files changed, 266 insertions(+), 1 deletion(-) create mode 100644 src/it/it0004-java-dep-jni/java-dep-jni/pom.xml create mode 100644 src/it/it0004-java-dep-jni/java-dep-jni/src/test/java/HelloWorldJavaDepJNITest.java create mode 100644 src/it/it0004-java-dep-jni/jni/pom.xml create mode 100644 src/it/it0004-java-dep-jni/jni/src/main/c/HelloWorldJNI.c create mode 100644 src/it/it0004-java-dep-jni/jni/src/main/java/com/mycompany/mypackage/HelloWorldJNI.java create mode 100644 src/it/it0004-java-dep-jni/jni/src/test/java/HelloWorldJNITest.java create mode 100644 src/it/it0004-java-dep-jni/pom.xml diff --git a/ReleaseNotes.txt b/ReleaseNotes.txt index 369f297..1c96a0a 100644 --- a/ReleaseNotes.txt +++ b/ReleaseNotes.txt @@ -13,6 +13,8 @@ and cpptasks-parallel. Bugs +- Goal for Tests should be Install. + - Excecutable needs a test to run and verify the output of Executable. - Resource directory seems in GIT while it should not, it should be generated in target diff --git a/pom.xml b/pom.xml index ee721d6..39282f7 100644 --- a/pom.xml +++ b/pom.xml @@ -141,7 +141,7 @@ ${project.build.directory}/it-repo clean - integration-test + install diff --git a/src/it/it0004-java-dep-jni/java-dep-jni/pom.xml b/src/it/it0004-java-dep-jni/java-dep-jni/pom.xml new file mode 100644 index 0000000..60c325e --- /dev/null +++ b/src/it/it0004-java-dep-jni/java-dep-jni/pom.xml @@ -0,0 +1,62 @@ + + + + + + 4.0.0 + + + org.apache.maven.its.nar + it0004-pom + 1.0-SNAPSHOT + + + it0004-java-dep-jni + nar + + Maven NAR Java Class + + Java class + + + + integration-test + + + maven-nar-plugin + true + + + maven-surefire-plugin + + true + + + + + + + + org.apache.maven.its.nar + it0004-jni + 1.0-SNAPSHOT + + + diff --git a/src/it/it0004-java-dep-jni/java-dep-jni/src/test/java/HelloWorldJavaDepJNITest.java b/src/it/it0004-java-dep-jni/java-dep-jni/src/test/java/HelloWorldJavaDepJNITest.java new file mode 100644 index 0000000..50961c9 --- /dev/null +++ b/src/it/it0004-java-dep-jni/java-dep-jni/src/test/java/HelloWorldJavaDepJNITest.java @@ -0,0 +1,25 @@ +import junit.framework.*; + +import com.mycompany.mypackage.HelloWorldJNI; + +public class HelloWorldJavaDepJNITest extends TestCase { + + public HelloWorldJavaDepJNITest(String name) { + super(name); + } + + protected void setUp() throws Exception { + super.setUp(); + } + + protected void tearDown() throws Exception { + super.tearDown(); + } + + public void testNativeHelloWorldJavaDepJNI() throws Exception { + HelloWorldJNI app = new HelloWorldJNI(); + + this.assertEquals( "Hello NAR World!", app.sayHello() ); + } +} + diff --git a/src/it/it0004-java-dep-jni/jni/pom.xml b/src/it/it0004-java-dep-jni/jni/pom.xml new file mode 100644 index 0000000..6f9e652 --- /dev/null +++ b/src/it/it0004-java-dep-jni/jni/pom.xml @@ -0,0 +1,71 @@ + + + + + + 4.0.0 + + + org.apache.maven.its.nar + it0004-pom + 1.0-SNAPSHOT + + + it0004-jni + nar + + Maven NAR JNI Test + + Simple JNI Library + + http://maven.apache.org/ + + + integration-test + + + maven-nar-plugin + true + + + true + + + + jni + com.mycompany.mypackage + false + + + + + + maven-surefire-plugin + + true + + + + + diff --git a/src/it/it0004-java-dep-jni/jni/src/main/c/HelloWorldJNI.c b/src/it/it0004-java-dep-jni/jni/src/main/c/HelloWorldJNI.c new file mode 100644 index 0000000..716722e --- /dev/null +++ b/src/it/it0004-java-dep-jni/jni/src/main/c/HelloWorldJNI.c @@ -0,0 +1,16 @@ +#include +#include "com_mycompany_mypackage_HelloWorldJNI.h" + +JNIEXPORT jstring JNICALL Java_com_mycompany_mypackage_HelloWorldJNI_sayHello( JNIEnv *env, jobject obj ) { + jstring value; /* the return value */ + + char buf[40]; /* working buffer (really only need 20 ) */ + + + sprintf ( buf, "%s", "Hello NAR World!" ); + + value = (*env)->NewStringUTF( env, buf ); + + return value; +} + diff --git a/src/it/it0004-java-dep-jni/jni/src/main/java/com/mycompany/mypackage/HelloWorldJNI.java b/src/it/it0004-java-dep-jni/jni/src/main/java/com/mycompany/mypackage/HelloWorldJNI.java new file mode 100644 index 0000000..2af3f3c --- /dev/null +++ b/src/it/it0004-java-dep-jni/jni/src/main/java/com/mycompany/mypackage/HelloWorldJNI.java @@ -0,0 +1,15 @@ +package com.mycompany.mypackage; + +public class HelloWorldJNI { + static { + NarSystem.loadLibrary(); + } + + public native String sayHello(); + + public static void main( String[] args ) { + HelloWorldJNI app = new HelloWorldJNI(); + System.out.println( app.sayHello() ); + } +} + diff --git a/src/it/it0004-java-dep-jni/jni/src/test/java/HelloWorldJNITest.java b/src/it/it0004-java-dep-jni/jni/src/test/java/HelloWorldJNITest.java new file mode 100644 index 0000000..683c321 --- /dev/null +++ b/src/it/it0004-java-dep-jni/jni/src/test/java/HelloWorldJNITest.java @@ -0,0 +1,25 @@ +import junit.framework.*; + +import com.mycompany.mypackage.HelloWorldJNI; + +public class HelloWorldJNITest extends TestCase { + + public HelloWorldJNITest(String name) { + super(name); + } + + protected void setUp() throws Exception { + super.setUp(); + } + + protected void tearDown() throws Exception { + super.tearDown(); + } + + public void testNativeHelloWorldJNI() throws Exception { + HelloWorldJNI app = new HelloWorldJNI(); + + this.assertEquals( "Hello NAR World!", app.sayHello() ); + } +} + diff --git a/src/it/it0004-java-dep-jni/pom.xml b/src/it/it0004-java-dep-jni/pom.xml new file mode 100644 index 0000000..c527a37 --- /dev/null +++ b/src/it/it0004-java-dep-jni/pom.xml @@ -0,0 +1,49 @@ + + + + + + 4.0.0 + + + org.apache.maven.its.nar + it-parent + 1.0-SNAPSHOT + ../it-parent/pom.xml + + + it0004-pom + pom + + Maven NAR Java Class using JNI library + 1.0-SNAPSHOT + + Java class which depends on JNI implemented library. + + + + install + + + + java-dep-jni + jni + + -- cgit v1.2.3