-
Notifications
You must be signed in to change notification settings - Fork 323
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Run unit tests with truffle-compiler #8467
Conversation
This project bundles all the functionality for assembling the `runtime.jar` fat jar.
# Conflicts: # build.sbt
…-module-path in runtime/test
This module will contain all the truffle instruments required for testing
This reverts commit 4a9c962.
So far, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Rather than using reflection: invert the dependencies.
|
||
exports org.enso.interpreter.test.instruments; | ||
|
||
provides com.oracle.truffle.api.instrumentation.provider.TruffleInstrumentProvider with |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Separate module & module info for test only instruments is a good idea.
...t-instruments/src/main/java/org/enso/interpreter/test/instruments/CodeIdsTestInstrument.java
Show resolved
Hide resolved
...t-instruments/src/main/java/org/enso/interpreter/test/instruments/CodeIdsTestInstrument.java
Outdated
Show resolved
Hide resolved
Stepping over / into behavior is reverted to before 5a7ad6b
eb78eb2
to
3d097ee
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's get this in!
Followup to #8467 Fixes the issue when `runtime/test` command fails to compile without fat jar classes: ``` sbt:enso> runtime/test [warn] JPMSPlugin: Directory /home/dbushev/projects/luna/enso/engine/runtime-fat-jar/target/scala-2.13/classes does not exist. [warn] JPMSPlugin: Directory /home/dbushev/projects/luna/enso/engine/runtime-fat-jar/target/scala-2.13/classes does not exist. [info] compiling 106 Scala sources and 60 Java sources to /home/dbushev/projects/luna/enso/engine/runtime/target/scala-2.13/test-classes ... [warn] Unexpected javac output: error: module not found: org.enso.runtime [warn] 1 error. [warn] frgaal exited with exit code 1 [error] (runtime / Test / compileIncremental) javac returned non-zero exit code ```
Make sure that the correct test logging provider is loaded in `project-manager/Test`, so that only WARN and ERROR log messages are displayed. Also, make sure that the test log provider parses the correct configuration file - Rename all the `application.conf` files in the test resources to `application-test.conf`. The problem was introduced in #8467
After #8467, Engine benchmarks are broken, they cannot compile - https://github.com/enso-org/enso/actions/runs/7268987483/job/19805862815#logs This PR fixes the benchmark build # Important Notes Apart from fixing the build of `engine/bench`: - Don't assemble any fat jars in `runtime/bench`. - Use our `TestLogProvider` in the benches instead of NOOP provider. - So that we can at least see warnings and errors in benchmarks.
Fixes #8374
Pull Request Description
runtime/test
andlanguage-server/test
runs with truffle-compiler module. This should speed up these tests. Moreover, it fixes thewithDebug
command.Important Notes
runtime-fat-jar
sbt project.runtime.jar
fat jar.runtime-*
projects intoruntime-with-instruments/target
directory.runtime-test-instruments
project.module-info.java
.runtime/test
.runtime
.runtime-with-instruments
andruntime-with-polyglot
intoruntime/Test
. Those projects contained only tests.runtime-*
projects are not copied every time intoruntime-fat-jar/target
.runtime/test
are run with patchedorg.enso.runtime
module such that all the instruments (and test classes) are included in the module. Moreover, the--patch-module
is required to avoid reassemblingruntime.jar
fat jar before every test.JPMSPlugin
sbt auto plugin that makes handling of the JPMS modules related stuff easier.Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:
Scala,
Java,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
./run ide build
.