-
Notifications
You must be signed in to change notification settings - Fork 41
Description
Description
Running different versions of KeY requires different JDKs.
JDKs are typically configured by setting envvar JAVA_HOME. This works for Gradle (and many other shell scripts starting Java).
testRunAllFunProofs and testRunAllInfProofs spawn Java subprocesses using java from $PATH. If the which java is older than $JAVA_HOME/bin/java, spawning results in "classes are compiled with a later version".
Here, we should rather use the generation of unit-tests for run-all-proofs, or respect the environment variable $JAVA_HOME.
Reproducible
Is the issue reproducible?
Select one of: always, sometimes, random, have not tried, n/a
always.
You need to JDKs, e.g., 8 and 21.
$ sdk d java java-8.x.x-tem # make JDK 8 default
$ export JAVA_HOME=$HOME/.sdks/candidates/java/... # set to JDK21
$ ./gradlew testRunAllFunProofs
What is your expected behavior and what was the actual behavior?
Additional information
-
Commit: 2026-06-20
Should be present in all KeY versions since the Wallisch did the run-all-proofs test classes.