This is the mail archive of the
kawa@sourceware.org
mailing list for the Kawa project.
Re: limit in number of srfi-64 tests
- From: Peter Lane <peter at peterlane dot info>
- To: kawa at sourceware dot org
- Date: Sat, 6 May 2017 19:04:46 +0100
- Subject: Re: limit in number of srfi-64 tests
- Authentication-results: sourceware.org; auth=none
- References: <50e14906-2056-8e92-8450-8a27b5012074@peterlane.info>
On 06/05/17 12:47, Peter Lane wrote:
I have found what appears to be a limit in the number of tests that can
be used in a srfi 64 test file. Attached is a simple example merely
consisting of multiple (test-equal 1 1) statements.
There's a workaround to this (as Per let me know). Use the -f switch
and it works (for srfi 64 tests at least, which can be handled
line-by-line).
$ kawa -f many-tests.sps
With the 560 tests in the file I get an error:
$ kawa --version
Kawa 2.4 (git describe: kawa-2.3-30-gdad3755-dirty)
Copyright (C) 2017 Per Bothner
$ kawa many-tests.sps
Exception in thread "main" java.lang.ClassFormatError: Invalid method
Code length 65548 in class file many-tests
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at java.lang.ClassLoader.defineClass(ClassLoader.java:642)
at gnu.bytecode.ArrayClassLoader.loadClass(ArrayClassLoader.java:127)
at gnu.expr.ModuleExp.evalToClass(ModuleExp.java:133)
at gnu.expr.ModuleExp.evalModule1(ModuleExp.java:245)
at kawa.Shell.compileSource(Shell.java:587)
at kawa.Shell.runFile(Shell.java:555)
at kawa.Shell.runFileOrClass(Shell.java:468)
at kawa.repl.processArgs(repl.java:700)
at kawa.repl.main(repl.java:820)
If I uncomment one test, it runs fine:
$ kawa many-tests.sps
%%%% Starting test many tests (Writing full log to "many tests.log")
# of expected passes 559
It appears the bytecode output has hit a Java limitation.
--
Peter Lane
http://peterlane.info