This is the mail archive of the kawa@sourceware.org mailing list for the Kawa project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: limit in number of srfi-64 tests



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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]