Skip to content
The Jenkins Controller is preparing for shutdown. No new builds can be started.
Success

Changes

Summary

  1. Bump semver to 0.9.30-SNAPSHOT of jogamp branch, incl. commit (details)
  2. IOUtil: Fix API doc; getTempDir(..) shall throw IOException instead of (details)
  3. Bug 1080 - Add read support for memory mapped big file I/O via (details)
  4. Adapt unit tests to commit 1350823035597f784f9cf871aa487f896f3d1840: (details)
  5. Bug 1080 - Fix TestByteBufferInputStream: Handle OutOfMemoryError cause (details)
  6. Bug 1080 - Add write support for memory mapped big file I/O via (details)
  7. Bug 1080 - Refine MappedByteBuffer*Stream impl. and API [doc], adding (details)
  8. MappedByteBuffer*Stream: (details)
  9. Make Scripts OSX: Remove -java7 script, add -java6 script (default uses (details)
  10. TestByteBufferCopyStream, TestByteBufferInputStream: Reduce load and (details)
  11. TestByteBufferInputStream: Reduce FLUSH_SOFT load (details)
  12. MappedByteBufferInputStream: Default CacheMode is FLUSH_PRE_HARD now (details)
  13. SingletonTestCase: Move singleton test impl. from JOGL's UITestCase, (details)
  14. gitignore: build*/ and build-temp (details)
  15. SingletonTestCase: SINGLE_INSTANCE_LOCK_TO (timeout) 6 -> 12 minutes (details)
  16. SingletonTestCase -> SingletonJunitCase: Accomodate ClassLoader (details)
  17. SingletonJunitCase: Refine poll and release behavior (details)
Commit ebe187fca62695b7631bfc67cb415d4e05c37456 by Sven Gothel
Bump semver to 0.9.30-SNAPSHOT of jogamp branch, incl. commit 9cdb6bbf6d3248a65aa78ced08211d609c356f91

commit 9cdb6bbf6d3248a65aa78ced08211d609c356f91 fixes the tests of the Class, Field and Method accessor bit
for compatibility.
The file was modifiedmake/lib/semantic-versioning/VERSION (diff)
The file was modifiedmake/lib/semantic-versioning/README.md (diff)
The file was modifiedmake/lib/semantic-versioning/semver.jar (diff)
The file was modifiedmake/lib/semantic-versioning/semver-src.zip (diff)
Commit 1350823035597f784f9cf871aa487f896f3d1840 by Sven Gothel
IOUtil: Fix API doc; getTempDir(..) shall throw IOException instead of RuntimeException for IO failures

- Fix API doc
  - copy*() methods only close stream they open, no need to mention the proper behavior (obvious).

- getTempDir(..) shall throw IOException instead of RuntimeException for IO failures
  - Ease using getTempDir(..), i.e. only handle IOException
The file was modifiedsrc/java/com/jogamp/common/util/IOUtil.java (diff)
Commit ae17a5895088e321bc373318cc1e144a2f822f29 by Sven Gothel
Bug 1080 - Add read support for memory mapped big file I/O via specialized InputStream impl., incl. mark/reset

- ByteBufferInputStream simply impl. InputStream for an arbitrary 2MiB restricted ByteBuffer
  - Users may only need a smaller implementation for 'smaller' file sizes
    or for streaming a [native] ByteBuffer.

- MappedByteBufferInputStream impl. InputStream for any file size,
  while slicing the total size to memory mapped buffers via the given FileChannel.
  The latter are mapped lazily and diff. flush/cache methods are supported
  to ease virtual memory usage.

- TestByteBufferInputStream: Basic unit test for basic functionality and perf. stats.
The file was addedsrc/junit/com/jogamp/common/nio/TestByteBufferInputStream.java
The file was modifiedmake/scripts/runtest.sh (diff)
The file was addedsrc/java/com/jogamp/common/nio/MappedByteBufferInputStream.java
The file was addedsrc/java/com/jogamp/common/nio/ByteBufferInputStream.java
Commit 86541252028e0b2093b87836732924b6746858ca by Sven Gothel
Adapt unit tests to commit 1350823035597f784f9cf871aa487f896f3d1840: getTempDir(..) throws IOException
The file was modifiedsrc/junit/com/jogamp/junit/sec/TestSecIOUtil01.java (diff)
The file was modifiedsrc/junit/com/jogamp/junit/sec/Applet01.java (diff)
Commit 95c4a3c7b6b256de4293ed1b31380d6af5ab59d0 by Sven Gothel
Bug 1080 - Fix TestByteBufferInputStream: Handle OutOfMemoryError cause in IOException (Add note to FLUSH_NONE); Reduce test load / duration.
The file was modifiedsrc/junit/com/jogamp/common/nio/TestByteBufferInputStream.java (diff)
The file was modifiedsrc/java/com/jogamp/common/nio/MappedByteBufferInputStream.java (diff)
Commit 92a6d2c1476fd562721f231f89afba9342ed8a20 by Sven Gothel
Bug 1080 - Add write support for memory mapped big file I/O via specialized OutputStream impl.

Added MappedByteBufferOutputStream as a child instance of MappedByteBufferInputStream,
since the latter already manages the file's mapped buffer slices.

Current design is:
  - MappedByteBufferInputStream (parent)
    - MappedByteBufferOutputStream

this is due to InputStream and OutputStream not being interfaces,
but most functionality is provided in one class.

We could redesign both as follows:
  - MappedByteBufferIOStream (parent)
    - MappedByteBufferInputStream
    - MappedByteBufferOutputStream

This might visualize things better .. dunno whether its worth the
extra redirection.

+++

MappedByteBufferInputStream:
  - Adding [file] resize support via custom FileResizeOp
  - All construction happens via ctors
  - Handle refCount, incr. by ctor and getOutputStream(..), decr by close
  - Check whether stream is closed already -> IOException
  - Simplify / Reuse code

MappedByteBufferOutputStream:
  - Adding simple write operations
The file was addedsrc/java/com/jogamp/common/nio/MappedByteBufferOutputStream.java
The file was modifiedmake/scripts/runtest.sh (diff)
The file was modifiedsrc/junit/com/jogamp/common/nio/TestByteBufferInputStream.java (diff)
The file was modifiedmake/scripts/runtest-x32.bat (diff)
The file was addedsrc/junit/com/jogamp/common/nio/TestByteBufferOutputStream.java
The file was modifiedmake/scripts/runtest-x64.bat (diff)
The file was modifiedsrc/java/com/jogamp/common/nio/MappedByteBufferInputStream.java (diff)
Commit 00a9ee70054872712017b5a14b19aa92068c8420 by Sven Gothel
Bug 1080 - Refine MappedByteBuffer*Stream impl. and API [doc], adding stream to stream copy as well as direct memory mapped ByteBuffer access
The file was modifiedsrc/java/com/jogamp/common/nio/MappedByteBufferOutputStream.java (diff)
The file was modifiedsrc/java/com/jogamp/common/nio/MappedByteBufferInputStream.java (diff)
The file was modifiedmake/scripts/runtest.sh (diff)
The file was modifiedsrc/junit/com/jogamp/common/nio/TestByteBufferOutputStream.java (diff)
The file was addedsrc/junit/com/jogamp/common/nio/TestByteBufferCopyStream.java
The file was modifiedsrc/java/com/jogamp/common/nio/ByteBufferInputStream.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/nio/TestByteBufferInputStream.java (diff)
Commit a7a3d5ab98ee0ad33fdef50bf081afeb8295ebe4 by Sven Gothel
MappedByteBuffer*Stream:

- Validate active and GC'ed mapped-buffer count
  in cleanAllSlices() via close() ..

- Fix missing unmapping last buffer in notifyLengthChangeImpl(),
  branch criteria was off by one.

- cleanSlice(..) now also issues cleanBuffer(..) on the GC'ed entry,
  hence if WeakReference is still alive, enforce it's release.

- cleanBuffer(..) reverts FLUSH_PRE_HARD -> FLUSH_PRE_SOFT
  in case of an error.

- flush() -> flush(boolean metaData) to expose FileChannel.force(metaData).

- Add synchronous mode, flushing/syncing the mapped buffers when
  in READ_WRITE mapping mode and issue FileChannel.force() if not READ_ONLY.

  Above is implemented via flush()/flushImpl(..) for buffers and FileChannel,
  as well as in syncSlice(..) for buffers only.

  flush*()/syncSlice() is covered by:
    - setLength()
    - notifyLengthChange*(..)
    - nextSlice()

  Always issue flushImpl() in close().

- Windows: Clean all buffers in setLength(),
  otherwise Windows will report:

- Windows: Catch MappedByteBuffer.force() IOException

- Optimization of position(..)
  position(..) is now standalone to allow issuing flushSlice(..)
  before gathering the new mapped buffer.
  This shall avoid one extra cache miss.

  Hence rename positionImpl(..) -> position2(..).

- All MappedByteBufferOutputStream.write(..) methods
  issue syncSlice(..) on the last written current slice
  to ensure new 'synchronous' mode is honored.

+++

Unit tests:

- Ensure test files are being deleted

- TestByteBufferCopyStream: Reduced test file size to more sensible values.

-
The file was modifiedsrc/junit/com/jogamp/common/nio/TestByteBufferCopyStream.java (diff)
The file was modifiedsrc/java/com/jogamp/common/nio/MappedByteBufferInputStream.java (diff)
The file was modifiedmake/scripts/runtest.sh (diff)
The file was modifiedsrc/junit/com/jogamp/common/nio/TestByteBufferOutputStream.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestIOUtil01.java (diff)
The file was modifiedsrc/java/com/jogamp/common/nio/MappedByteBufferOutputStream.java (diff)
The file was modifiedmake/scripts/runtest-x64.bat (diff)
Commit 9b4656a2b676bcad43e67e5ee47f4ed00399a83a by Sven Gothel
Make Scripts OSX: Remove -java7 script, add -java6 script (default uses java8)
The file was addedmake/scripts/make.gluegen.all.macosx-java6.sh
The file was removedmake/scripts/make.gluegen.all.macosx-java7.sh
The file was modifiedmake/scripts/make.gluegen.all.macosx.sh (diff)
Commit 89831e61dc68b29ceb6c1cc579f6a7bb17a46d70 by Sven Gothel
TestByteBufferCopyStream, TestByteBufferInputStream: Reduce load and test time
The file was modifiedsrc/junit/com/jogamp/common/nio/TestByteBufferInputStream.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/nio/TestByteBufferCopyStream.java (diff)
Commit f7c2c27234e58371ffbb2b3ec44a0f3e8a373340 by Sven Gothel
TestByteBufferInputStream: Reduce FLUSH_SOFT load
The file was modifiedsrc/junit/com/jogamp/common/nio/TestByteBufferInputStream.java (diff)
Commit bd240ebfe09b7c7a21689dee8be0cc673eb7f340 by Sven Gothel
MappedByteBufferInputStream: Default CacheMode is FLUSH_PRE_HARD now (was FLUSH_PRE_SOFT)

FLUSH_PRE_SOFT cannot be handled by some platforms, e.g. Windows 32bit.

FLUSH_PRE_HARD is the most reliable caching mode
and it will fallback to FLUSH_PRE_SOFT if no method for 'cleaner' exists.

Further, FLUSH_PRE_HARD turns our to be the fastest mode as well.
The file was modifiedsrc/java/com/jogamp/common/nio/MappedByteBufferInputStream.java (diff)
Commit fb60db3a633d82a0323f066a98a8a9fadf3ecff5 by Sven Gothel
SingletonTestCase: Move singleton test impl. from JOGL's UITestCase, inherit from JunitTracer and use it for all tests.

- Certain performance tests don't make sense utilizing several jenkins unit tests on one machine,
  hence singleton test execution is desired.

- JOGL's UITestCase also will derive from this SingletonTestCase
The file was modifiedsrc/junit/com/jogamp/common/nio/TestByteBufferCopyStream.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestIOUtil01.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/net/TestUri02Composing.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/net/TestUri03Resolving.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/locks/TestRecursiveThreadGroupLock01.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/net/TestUriQueryProps.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/IntObjectHashMapTest.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/os/TestElfReader01.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestBitstream01.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestPlatform01.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/nio/BuffersTest.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/nio/TestByteBufferOutputStream.java (diff)
The file was modifiedsrc/junit/com/jogamp/gluegen/test/junit/generation/BaseClass.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/net/TestUri01.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/nio/TestStructAccessorEndian.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestBitstream00.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestFloatStack01.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/nio/CachedBufferFactoryTest.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestBitstream03.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/net/TestUri99LaunchOnReservedCharPathBug908.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/nio/TestPointerBufferEndian.java (diff)
The file was modifiedsrc/junit/com/jogamp/gluegen/test/junit/generation/PCPPTest.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestJarUtil.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestVersionSemantics.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/net/TestUrisWithAssetHandler.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestArrayHashSet01.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestIteratorIndexCORE.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestVersionNumber.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/LongIntHashMapTest.java (diff)
The file was modifiedsrc/junit/com/jogamp/junit/util/JunitTracer.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/nio/TestBuffersFloatDoubleConversion.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestBitstream04.java (diff)
The file was modifiedsrc/junit/com/jogamp/gluegen/test/junit/structgen/TestStructGen01.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestRunnableTask01.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/IntIntHashMapTest.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/net/AssetURLConnectionBase.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestVersionInfo.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/locks/TestRecursiveLock01.java (diff)
The file was addedsrc/junit/com/jogamp/junit/util/SingletonTestCase.java
The file was modifiedsrc/junit/com/jogamp/common/util/TestTempJarCache.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/nio/TestByteBufferInputStream.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestSystemPropsAndEnvs.java (diff)
The file was modifiedsrc/junit/com/jogamp/gluegen/test/junit/structgen/TestStructGen02.java (diff)
The file was modifiedsrc/junit/com/jogamp/junit/sec/TestSecIOUtil01.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestBitstream02.java (diff)
Commit 1630bc961747d227d166fa128effcb24e050f6cc by Sven Gothel
gitignore: build*/ and build-temp
The file was modified.gitignore (diff)
Commit db12572b4f674884c3f7ad8f7e15ba9e97cf865a by Sven Gothel
SingletonTestCase: SINGLE_INSTANCE_LOCK_TO (timeout) 6 -> 12 minutes
The file was modifiedsrc/junit/com/jogamp/junit/util/SingletonTestCase.java (diff)
Commit 773d96584b4edc13eb6ff689eaf891aab09aa5a4 by Sven Gothel
SingletonTestCase -> SingletonJunitCase: Accomodate ClassLoader lifecycle of static fields; Change name to avoid testing itself.
The file was modifiedsrc/junit/com/jogamp/common/net/TestUri03Resolving.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestTempJarCache.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/os/TestElfReader01.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/nio/TestStructAccessorEndian.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestBitstream01.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestJarUtil.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestVersionNumber.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/IntObjectHashMapTest.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestVersionSemantics.java (diff)
The file was modifiedsrc/junit/com/jogamp/gluegen/test/junit/structgen/TestStructGen01.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/net/TestUrisWithAssetHandler.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestFloatStack01.java (diff)
The file was removedsrc/junit/com/jogamp/junit/util/SingletonTestCase.java
The file was modifiedsrc/junit/com/jogamp/common/nio/TestByteBufferCopyStream.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestPlatform01.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/locks/TestSingletonServerSocket00.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/locks/TestRecursiveThreadGroupLock01.java (diff)
The file was modifiedsrc/junit/com/jogamp/gluegen/test/junit/generation/BaseClass.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/net/TestUri99LaunchOnReservedCharPathBug908.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestBitstream00.java (diff)
The file was modifiedsrc/junit/com/jogamp/gluegen/test/junit/generation/PCPPTest.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/locks/TestSingletonServerSocket02.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/LongIntHashMapTest.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/nio/TestByteBufferInputStream.java (diff)
The file was modifiedsrc/junit/com/jogamp/gluegen/test/junit/structgen/TestStructGen02.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestSystemPropsAndEnvs.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/locks/TestSingletonServerSocket01.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/IntIntHashMapTest.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/nio/BuffersTest.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestBitstream03.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestVersionInfo.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/net/TestUriQueryProps.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestBitstream04.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/net/AssetURLConnectionBase.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestRunnableTask01.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/nio/CachedBufferFactoryTest.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/locks/TestRecursiveLock01.java (diff)
The file was modifiedsrc/junit/com/jogamp/junit/sec/TestSecIOUtil01.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/nio/TestBuffersFloatDoubleConversion.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestIOUtil01.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/net/TestUri02Composing.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestBitstream02.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/nio/TestByteBufferOutputStream.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/net/TestUri01.java (diff)
The file was addedsrc/junit/com/jogamp/junit/util/SingletonJunitCase.java
The file was modifiedsrc/junit/com/jogamp/common/nio/TestPointerBufferEndian.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestIteratorIndexCORE.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/util/TestArrayHashSet01.java (diff)
Commit 0d9efa74b10ea29d33ecc9c2b9f06bb2209d96ca by Sven Gothel
SingletonJunitCase: Refine poll and release behavior

- Increase poll frequency from every 1000 ms -> 500 ms

- After releasing the lock, sleep to 6 x poll period, i.e. 3s
The file was modifiedsrc/junit/com/jogamp/junit/util/SingletonJunitCase.java (diff)