gnu: java-snappy: Fix checks when build machine has too much memory.

* gnu/packages/java-compression.scm (java-snappy)[arguments]: Add
set-test-memory-size phase.

This fixes <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=46780>.
Thanks to zimoun for the solving idea.

The CachingBufferPoolTest tries to allocate a lot of memory (20GB) and the
test succeeds if there is not enough memory available in the JVM.
When the build machine has a lot of memory (which is the case on the Guix
CI system), the JVM will use more than 20GB as maximum heap size. In
consequence, the test fails.

The new phase adds a maxmemory size of 2G for the tests. Thus all other
tests will have enough memory and the CachingBufferPoolTest will fail.
This commit is contained in:
Björn Höfling 2021-02-27 22:57:11 +01:00
parent decd0dc6bc
commit 23dcf4339d
No known key found for this signature in database
GPG key ID: BF286CB6593E5FFD

View file

@ -99,6 +99,11 @@ (define-public java-snappy
(copy-recursively "src/main/resources/org/xerial/snappy/native"
"build/classes/org/xerial/snappy/native")
#t))
(add-before 'build 'set-test-memory-size
(lambda _
(substitute* "build.xml"
(("<junit printsummary=") "<junit maxmemory=\"2G\" printsummary="))
#t))
(add-before 'check 'fix-failing
(lambda _
(with-directory-excursion "src/test/java/org/xerial/snappy"