-
Notifications
You must be signed in to change notification settings - Fork 42
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
Using wabt compiled to wasm #337
Conversation
Test Results 103 files +1 103 suites +1 18s ⏱️ -1s Results for commit e5ab525. ± Comparison against base commit 0ee6662. This pull request removes 2 and adds 3 tests. Note that renamed tests count towards both.
♻️ This comment has been updated with latest results. |
The execution time seems to be about the same in CI! That's good news! |
I just found out that even I simplified a bunch of things and done some cleanup. It would be great if @electrum can review the |
Additional note that this is much slower on my machine, likely the execution of the external process is better parallelized. |
I strongly advise against this shading approach. Using a shaded module as a dependency for another module within the same reactor build doesn't work as expected, because Maven doesn't understand shading and won't use the dependency-reduced POM for the dependent modules. Similarly, IntelliJ won't work with this, either. The exclusion hacks might make the Maven build work, but won't work with IntelliJ, and it feels fragile and hard to understand. The only reliable approach that I've found is to do shading in a separate project. So you could have a Alternatively, since this seems to only be used for tests, is to move the tests into a separate integration test module. This has the downside of the tests not being in the same module as the code, but is reliable and avoids all of the above problems. It would also allow running with the current version of Chicory, which is good for testing purposes, and will be important if a newer version of those tools requires a bug fix in Chicory (if using a release version, the tool couldn't be upgraded until a new version of Chicory is released). |
I updated your PR in #341 that splits out the runtime tests into a separate module. The first commit is a squash of all commits from this PR, then more commits with my changes. Feel free to squash my commits as this is mostly your work. |
Thanks a lot @electrum for your intervention and advice here! I noticed that you went ahead and already proactively implemented the last option(effectively the only one that you could tackle on your own), this is excellent but slightly increases the complexity of this setup further.
I think that this proposal is still the cleanest/most desirable, but we need @bhelx buy in to proceed or we have to host the additional repository on a personal account. |
Having a separate repository that uses a shaded version the previous release seems more complicated than splitting out a Shading and using the previous release version to avoid a circular dependency is an ugly workaround — it’s not a clean solution. It seems like a last resort when you have no better options. If the concern here is being able to use text format — which isn’t an issue for users of the library as they won’t have a circular dependency — then we can just write the parser. I can look at that later today. |
Thanks as always for offering your help @electrum . |
Here we move away from using
wabt
tools from the command line using aProcessBuilder
and we run the tools using Chicory itself.Meanwhile, I updated
wabt
to 1.0.35.A couple of observations:
wasm-objdump
fails in IntelliJ for me, looks like a problem with the classpath, I would be ok to remove its execution now that we pass the entiretestsuite
but open to suggestionsHappy to receive early feedback!