-
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
EnsoCompilerTest to verify compatibility of parsers #3723
Conversation
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.
Looks good overall, just a couple of suggestions
The Rust changes look good. The sbt
Any idea what might be wrong with my environment? I think I have the right version of Graal. |
Looks like there is some debris from previous builds - try
|
That worked! I had done a |
The primary delivery of this PR is a design of `SerdeCompilerTest` - a testing suite that allows us to write sample projects, parse them with and without caches and verify they still produce the same `IR`. This is a similar idea to #3723 which compared the old and new parser `IR`s. With infrastructure like this we can start addressing #5567 without any (significant) fear of breaking something essential.
Pull Request Description
Adding new compatibility test
EnsoCompilerTest
to verify the new Rust based parser can produce the sameIR
as the originalAST
based one. The simplest way to execute the test from an empty repository is:enso$ sbt bootstrap enso$ sbt "testOnly *EnsoCompilerTest"
There are GitHub Actions run on Linux as well as run on Windows that show
EnsoCompilerTest
is being executed by the CI (good, as that means.so
was properly built and linked to the JVM running the test). The linux as well as windows runs also demonstrate that failures in theEnsoCompilerTest
suite fail the CI.Important Notes
Right now there are five test failures - waiting for @kazcw to make sure
codeRepr()
doesn't contain spaces. However, as this PR is more about the infrastructure, I am disabling the currently failing tests in 031169bChecklist
Please include the following checklist in your PR:
Scala,
Java,
and
Rust
style guides.
[ci no changelog needed]