Re: limit in number of srfi-64 tests

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Re: limit in number of srfi-64 tests

Peter Lane

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