summaryrefslogtreecommitdiffstats
path: root/src/junit/com/jogamp/gluegen/test
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2010-03-31 22:36:49 +0200
committerSven Gothel <[email protected]>2010-03-31 22:36:49 +0200
commit73829c38665c57052bf703ae58a2bd1dc7dc4625 (patch)
tree88a68954170fcaefc5b1417702a1df9d9e8bd589 /src/junit/com/jogamp/gluegen/test
parent84e5ba7a4821469f43c0f4bbeaa8e383b203d050 (diff)
Buffer heritage added. Migrated old runtime tests.
Diffstat (limited to 'src/junit/com/jogamp/gluegen/test')
-rw-r--r--src/junit/com/jogamp/gluegen/test/junit/generation/BaseTest1.java (renamed from src/junit/com/jogamp/gluegen/test/junit/BaseTest1.java)10
-rw-r--r--src/junit/com/jogamp/gluegen/test/junit/generation/BuildEnvironment.java (renamed from src/junit/com/jogamp/gluegen/test/junit/BuildEnvironment.java)2
-rw-r--r--src/junit/com/jogamp/gluegen/test/junit/generation/Test1p1JavaEmitter.java (renamed from src/junit/com/jogamp/gluegen/test/junit/Test1p1JavaEmitter.java)6
-rw-r--r--src/junit/com/jogamp/gluegen/test/junit/generation/Test1p2ProcAddressEmitter.java (renamed from src/junit/com/jogamp/gluegen/test/junit/Test1p2ProcAddressEmitter.java)6
-rw-r--r--src/junit/com/jogamp/gluegen/test/junit/generation/test1-common.cfg (renamed from src/junit/com/jogamp/gluegen/test/junit/test1-common.cfg)0
-rw-r--r--src/junit/com/jogamp/gluegen/test/junit/generation/test1-gluegen.c (renamed from src/junit/com/jogamp/gluegen/test/junit/test1-gluegen.c)0
-rw-r--r--src/junit/com/jogamp/gluegen/test/junit/generation/test1-gluegen.cfg (renamed from src/junit/com/jogamp/gluegen/test/junit/test1-gluegen.cfg)2
-rw-r--r--src/junit/com/jogamp/gluegen/test/junit/generation/test1.c (renamed from src/junit/com/jogamp/gluegen/test/junit/test1.c)0
-rw-r--r--src/junit/com/jogamp/gluegen/test/junit/generation/test1.h (renamed from src/junit/com/jogamp/gluegen/test/junit/test1.h)0
-rw-r--r--src/junit/com/jogamp/gluegen/test/junit/generation/test1p1-gluegen.cfg14
-rw-r--r--src/junit/com/jogamp/gluegen/test/junit/generation/test1p2-gluegen.cfg (renamed from src/junit/com/jogamp/gluegen/test/junit/test1p2-gluegen.cfg)8
-rw-r--r--src/junit/com/jogamp/gluegen/test/junit/runtime/TestPointerBufferEndian.java53
-rw-r--r--src/junit/com/jogamp/gluegen/test/junit/runtime/TestStructAccessorEndian.java42
-rw-r--r--src/junit/com/jogamp/gluegen/test/junit/test1p1-gluegen.cfg14
14 files changed, 126 insertions, 31 deletions
diff --git a/src/junit/com/jogamp/gluegen/test/junit/BaseTest1.java b/src/junit/com/jogamp/gluegen/test/junit/generation/BaseTest1.java
index f144a26..0654392 100644
--- a/src/junit/com/jogamp/gluegen/test/junit/BaseTest1.java
+++ b/src/junit/com/jogamp/gluegen/test/junit/generation/BaseTest1.java
@@ -30,7 +30,7 @@
* SVEN GOTHEL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
*/
-package com.jogamp.gluegen.test.junit;
+package com.jogamp.gluegen.test.junit.generation;
import com.jogamp.gluegen.runtime.Buffers;
import com.jogamp.gluegen.runtime.PointerBuffer;
@@ -52,7 +52,7 @@ import org.junit.BeforeClass;
import org.junit.Test;
import static java.lang.System.*;
-import static com.jogamp.gluegen.test.junit.BuildEnvironment.*;
+import static com.jogamp.gluegen.test.junit.generation.BuildEnvironment.*;
/**
* @author Michael Bien
@@ -64,8 +64,8 @@ public class BaseTest1 {
* Verifies the existence and creation of the generated class.
*/
public void testClassExist(String name) throws Exception {
- String ifName = "com.jogamp.gluegen.test.junit.Binding"+name;
- String implName = "com.jogamp.gluegen.test.junit.impl.Binding"+name+"Impl";
+ String ifName = "com.jogamp.gluegen.test.junit.generation.Binding"+name;
+ String implName = "com.jogamp.gluegen.test.junit.generation.impl.Binding"+name+"Impl";
Class<?> clazzIf = Class.forName(ifName);
Class<?> clazzImpl = Class.forName(implName);
@@ -77,7 +77,7 @@ public class BaseTest1 {
Object obj = clazzImpl.newInstance();
Assert.assertTrue("Not of type "+ifName, clazzIf.isAssignableFrom(obj.getClass()));
- Assert.assertTrue("Not of type com.jogamp.gluegen.test.junit.BindingTest1", (obj instanceof com.jogamp.gluegen.test.junit.BindingTest1));
+ Assert.assertTrue("Not of type com.jogamp.gluegen.test.junit.generation.BindingTest1", (obj instanceof com.jogamp.gluegen.test.junit.generation.BindingTest1));
}
/**
diff --git a/src/junit/com/jogamp/gluegen/test/junit/BuildEnvironment.java b/src/junit/com/jogamp/gluegen/test/junit/generation/BuildEnvironment.java
index 16d5053..db5581d 100644
--- a/src/junit/com/jogamp/gluegen/test/junit/BuildEnvironment.java
+++ b/src/junit/com/jogamp/gluegen/test/junit/generation/BuildEnvironment.java
@@ -30,7 +30,7 @@
* SVEN GOTHEL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
*/
-package com.jogamp.gluegen.test.junit;
+package com.jogamp.gluegen.test.junit.generation;
import java.io.File;
import java.net.URISyntaxException;
diff --git a/src/junit/com/jogamp/gluegen/test/junit/Test1p1JavaEmitter.java b/src/junit/com/jogamp/gluegen/test/junit/generation/Test1p1JavaEmitter.java
index 54d82f9..f4c5027 100644
--- a/src/junit/com/jogamp/gluegen/test/junit/Test1p1JavaEmitter.java
+++ b/src/junit/com/jogamp/gluegen/test/junit/generation/Test1p1JavaEmitter.java
@@ -30,9 +30,9 @@
* SVEN GOTHEL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
*/
-package com.jogamp.gluegen.test.junit;
+package com.jogamp.gluegen.test.junit.generation;
-import com.jogamp.gluegen.test.junit.impl.BindingTest1p1Impl;
+import com.jogamp.gluegen.test.junit.generation.impl.BindingTest1p1Impl;
import com.jogamp.gluegen.runtime.Buffers;
import com.jogamp.gluegen.runtime.PointerBuffer;
@@ -52,7 +52,7 @@ import org.junit.BeforeClass;
import org.junit.Test;
import static java.lang.System.*;
-import static com.jogamp.gluegen.test.junit.BuildEnvironment.*;
+import static com.jogamp.gluegen.test.junit.generation.BuildEnvironment.*;
/**
* @author Michael Bien
diff --git a/src/junit/com/jogamp/gluegen/test/junit/Test1p2ProcAddressEmitter.java b/src/junit/com/jogamp/gluegen/test/junit/generation/Test1p2ProcAddressEmitter.java
index 3bf90e9..2662786 100644
--- a/src/junit/com/jogamp/gluegen/test/junit/Test1p2ProcAddressEmitter.java
+++ b/src/junit/com/jogamp/gluegen/test/junit/generation/Test1p2ProcAddressEmitter.java
@@ -30,9 +30,9 @@
* SVEN GOTHEL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
*/
-package com.jogamp.gluegen.test.junit;
+package com.jogamp.gluegen.test.junit.generation;
-import com.jogamp.gluegen.test.junit.impl.BindingTest1p2Impl;
+import com.jogamp.gluegen.test.junit.generation.impl.BindingTest1p2Impl;
import com.jogamp.gluegen.runtime.Buffers;
import com.jogamp.gluegen.runtime.PointerBuffer;
@@ -54,7 +54,7 @@ import org.junit.BeforeClass;
import org.junit.Test;
import static java.lang.System.*;
-import static com.jogamp.gluegen.test.junit.BuildEnvironment.*;
+import static com.jogamp.gluegen.test.junit.generation.BuildEnvironment.*;
/**
* @author Michael Bien
diff --git a/src/junit/com/jogamp/gluegen/test/junit/test1-common.cfg b/src/junit/com/jogamp/gluegen/test/junit/generation/test1-common.cfg
index 2709e80..2709e80 100644
--- a/src/junit/com/jogamp/gluegen/test/junit/test1-common.cfg
+++ b/src/junit/com/jogamp/gluegen/test/junit/generation/test1-common.cfg
diff --git a/src/junit/com/jogamp/gluegen/test/junit/test1-gluegen.c b/src/junit/com/jogamp/gluegen/test/junit/generation/test1-gluegen.c
index bf6ad97..bf6ad97 100644
--- a/src/junit/com/jogamp/gluegen/test/junit/test1-gluegen.c
+++ b/src/junit/com/jogamp/gluegen/test/junit/generation/test1-gluegen.c
diff --git a/src/junit/com/jogamp/gluegen/test/junit/test1-gluegen.cfg b/src/junit/com/jogamp/gluegen/test/junit/generation/test1-gluegen.cfg
index 9d0f856..971419e 100644
--- a/src/junit/com/jogamp/gluegen/test/junit/test1-gluegen.cfg
+++ b/src/junit/com/jogamp/gluegen/test/junit/generation/test1-gluegen.cfg
@@ -1,4 +1,4 @@
-Package com.jogamp.gluegen.test.junit
+Package com.jogamp.gluegen.test.junit.generation
JavaClass BindingTest1
Style InterfaceOnly
JavaOutputDir classes
diff --git a/src/junit/com/jogamp/gluegen/test/junit/test1.c b/src/junit/com/jogamp/gluegen/test/junit/generation/test1.c
index f654467..f654467 100644
--- a/src/junit/com/jogamp/gluegen/test/junit/test1.c
+++ b/src/junit/com/jogamp/gluegen/test/junit/generation/test1.c
diff --git a/src/junit/com/jogamp/gluegen/test/junit/test1.h b/src/junit/com/jogamp/gluegen/test/junit/generation/test1.h
index d0e50e5..d0e50e5 100644
--- a/src/junit/com/jogamp/gluegen/test/junit/test1.h
+++ b/src/junit/com/jogamp/gluegen/test/junit/generation/test1.h
diff --git a/src/junit/com/jogamp/gluegen/test/junit/generation/test1p1-gluegen.cfg b/src/junit/com/jogamp/gluegen/test/junit/generation/test1p1-gluegen.cfg
new file mode 100644
index 0000000..2062512
--- /dev/null
+++ b/src/junit/com/jogamp/gluegen/test/junit/generation/test1p1-gluegen.cfg
@@ -0,0 +1,14 @@
+Package com.jogamp.gluegen.test.junit.generation
+JavaClass BindingTest1p1
+Style InterfaceAndImpl
+JavaOutputDir classes
+NativeOutputDir native
+
+Extends BindingTest1p1 BindingTest1
+
+Include test1-common.cfg
+
+Import com.jogamp.gluegen.test.junit.generation.BindingTest1
+Import com.jogamp.gluegen.test.junit.generation.BindingTest1p1
+
+
diff --git a/src/junit/com/jogamp/gluegen/test/junit/test1p2-gluegen.cfg b/src/junit/com/jogamp/gluegen/test/junit/generation/test1p2-gluegen.cfg
index 1ec1b6d..f10a760 100644
--- a/src/junit/com/jogamp/gluegen/test/junit/test1p2-gluegen.cfg
+++ b/src/junit/com/jogamp/gluegen/test/junit/generation/test1p2-gluegen.cfg
@@ -1,4 +1,4 @@
-Package com.jogamp.gluegen.test.junit
+Package com.jogamp.gluegen.test.junit.generation
JavaClass BindingTest1p2
Style InterfaceAndImpl
JavaOutputDir classes
@@ -22,10 +22,10 @@ ForceProcAddressGen __ALL__
LocalProcAddressCallingConvention __ALL__ MYAPIENTRY
Include test1-common.cfg
-Include ../../../../../../../make/config/intptr.cfg
+Include ../../../../../../../../make/config/intptr.cfg
-Import com.jogamp.gluegen.test.junit.BindingTest1
-Import com.jogamp.gluegen.test.junit.BindingTest1p2
+Import com.jogamp.gluegen.test.junit.generation.BindingTest1
+Import com.jogamp.gluegen.test.junit.generation.BindingTest1p2
Import com.jogamp.gluegen.runtime.*
CustomJavaCode BindingTest1p2Impl private static BindingTest1p2ProcAddressTable _table = new BindingTest1p2ProcAddressTable();
diff --git a/src/junit/com/jogamp/gluegen/test/junit/runtime/TestPointerBufferEndian.java b/src/junit/com/jogamp/gluegen/test/junit/runtime/TestPointerBufferEndian.java
new file mode 100644
index 0000000..cab64c0
--- /dev/null
+++ b/src/junit/com/jogamp/gluegen/test/junit/runtime/TestPointerBufferEndian.java
@@ -0,0 +1,53 @@
+
+package com.jogamp.gluegen.test.junit.runtime;
+
+import com.jogamp.gluegen.runtime.*;
+
+import java.nio.*;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import static java.lang.System.*;
+
+public class TestPointerBufferEndian {
+
+ protected void testImpl (boolean direct) {
+ int bitsPtr = Platform.getPointerSizeInBits();
+ String bitsProp = System.getProperty("sun.arch.data.model");
+ String os = System.getProperty("os.name");
+ String cpu = System.getProperty("os.arch");
+ System.out.println("OS: <"+os+"> CPU: <"+cpu+"> Bits: <"+bitsPtr+"/"+bitsProp+">");
+ System.out.println("CPU is: "+ (Platform.is32Bit()?"32":"64") + " bit");
+ System.out.println("Buffer is in: "+ (Platform.isLittleEndian()?"little":"big") + " endian");
+
+ long[] valuesSource = { 0x0123456789ABCDEFL, 0x8877665544332211L, 0xAFFEDEADBEEFAFFEL };
+ long[] values32Bit = { 0x0000000089ABCDEFL, 0x0000000044332211L, 0x00000000BEEFAFFEL };
+
+ PointerBuffer ptr = direct ? PointerBuffer.allocateDirect(3) : PointerBuffer.allocate(valuesSource.length);
+ ptr.put(valuesSource, 0, valuesSource.length);
+ ptr.rewind();
+
+ int i=0;
+ while(ptr.hasRemaining()) {
+ long mask = Platform.is32Bit() ? 0x00000000FFFFFFFFL : 0xFFFFFFFFFFFFFFFFL ;
+ long v = ptr.get() & mask;
+ long t = Platform.is32Bit() ? values32Bit[i] : valuesSource[i];
+ Assert.assertTrue("Value["+i+"] shall be 0x"+Long.toHexString(t)+", is: 0x"+Long.toHexString(v), t == v);
+ i++;
+ }
+ Assert.assertTrue("iterator "+i+" != "+valuesSource.length, i==valuesSource.length);
+ }
+
+ @Test
+ public void testDirect () {
+ testImpl (true);
+ }
+
+ @Test
+ public void testIndirect () {
+ testImpl (false);
+ }
+}
diff --git a/src/junit/com/jogamp/gluegen/test/junit/runtime/TestStructAccessorEndian.java b/src/junit/com/jogamp/gluegen/test/junit/runtime/TestStructAccessorEndian.java
new file mode 100644
index 0000000..669fd78
--- /dev/null
+++ b/src/junit/com/jogamp/gluegen/test/junit/runtime/TestStructAccessorEndian.java
@@ -0,0 +1,42 @@
+package com.jogamp.gluegen.test.junit.runtime;
+
+import com.jogamp.gluegen.runtime.*;
+
+import java.nio.*;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import static java.lang.System.*;
+
+public class TestStructAccessorEndian {
+
+ @Test
+ public void testStructAccessorEndian1 () {
+ int bitsPtr = Platform.getPointerSizeInBits();
+ String bitsProp = System.getProperty("sun.arch.data.model");
+ String os = System.getProperty("os.name");
+ String cpu = System.getProperty("os.arch");
+ System.out.println("OS: <"+os+"> CPU: <"+cpu+"> Bits: <"+bitsPtr+"/"+bitsProp+">");
+ System.out.println("CPU is: "+ (Platform.is32Bit()?"32":"64") + " bit");
+ System.out.println("Buffer is in: "+ (Platform.isLittleEndian()?"little":"big") + " endian");
+
+ long[] valuesSource = { 0x0123456789ABCDEFL, 0x8877665544332211L, 0xAFFEDEADBEEFAFFEL };
+ ByteBuffer tst = Buffers.newDirectByteBuffer(Buffers.SIZEOF_LONG * valuesSource.length);
+ StructAccessor acc = new StructAccessor(tst);
+
+ int i;
+
+ for(i=0; i<valuesSource.length; i++) {
+ acc.setLongAt(i, valuesSource[i]);
+ }
+
+ for(i=0; i<valuesSource.length; i++) {
+ long v = acc.getLongAt(i);
+ long t = valuesSource[i];
+ Assert.assertTrue("Value["+i+"] shall be 0x"+Long.toHexString(t)+", is: 0x"+Long.toHexString(v), t == v);
+ }
+ }
+}
diff --git a/src/junit/com/jogamp/gluegen/test/junit/test1p1-gluegen.cfg b/src/junit/com/jogamp/gluegen/test/junit/test1p1-gluegen.cfg
deleted file mode 100644
index 78e4d8a..0000000
--- a/src/junit/com/jogamp/gluegen/test/junit/test1p1-gluegen.cfg
+++ /dev/null
@@ -1,14 +0,0 @@
-Package com.jogamp.gluegen.test.junit
-JavaClass BindingTest1p1
-Style InterfaceAndImpl
-JavaOutputDir classes
-NativeOutputDir native
-
-Extends BindingTest1p1 BindingTest1
-
-Include test1-common.cfg
-
-Import com.jogamp.gluegen.test.junit.BindingTest1
-Import com.jogamp.gluegen.test.junit.BindingTest1p1
-
-