-
Notifications
You must be signed in to change notification settings - Fork 207
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
Add a wit-bindgen test
subcommand
#1192
base: main
Are you sure you want to change the base?
Add a wit-bindgen test
subcommand
#1192
Conversation
For now I'd definitely considere this in a "hopefully working" but still somewhat draft form. I'm curious to get others' feedback on this design and possible improvements (if anyone has any). Documentation is available here in rendered form. The remaining work items after this PR are:
|
298c3b1
to
f9c545f
Compare
As I've read more and more of the Rust async runtime support and other various bits and pieces I've wanted more and more the ability to easily write tests for guest interactions with the host. While I don't think it's feasible to generate arbitrary hosts I do think it's possible to do this much more easily than is done today with the testing support in this repository. In essence this commit is an implementation of bytecodealliance#1161. The goal of this commit is to add a `wit-bindgen test` test suite runner. This test suite will be used to migrate all existing tests in this repository to this new framework. In the limit this is expected to make it easier to write tests (no Rust knowledge necessary), make it more flexible to write tests (now you can use raw `*.wat`), and additionally improve the quality of the test suite by making it more reusable. The reusability isn't the highest priority at this time as it's not clear what else would want to reuse this, but my hope is that this refactoring is at least a large-ish leap forward towards having a component model test suite of some kind eventually.
Use one deduplicated method for showing a list of errors.
Add in configuration to drop default bindings args, aka `--generate-all` in Rust.
f9c545f
to
631f8b7
Compare
* The `futures` crate will be necessary for upcoming async tests. * Support for WASIp1 is required as `wasm32-wasip2` can't produce an async component natively as it's not new enough. * Test runner support is extended slightly to support passing runtime arguments, such as `-Wcomponent-model-async`.
@pchickey would you be willing to take on review of this? If you're ok with it you can ignore all changes in |
This has been unmaintained for quite some time now and has never reached feature parity with other backends. In preparation for bytecodealliance#1192 this commit removes the teavm-java generator entirely with a "tombstone" left in the README about the last commit which had the code.
This has been unmaintained for quite some time now and has never reached feature parity with other backends. In preparation for bytecodealliance#1192 this commit removes the teavm-java generator entirely with a "tombstone" left in the README about the last commit which had the code.
As I've read more and more of the Rust async runtime support and other various bits and pieces I've wanted more and more the ability to easily write tests for guest interactions with the host. While I don't think it's feasible to generate arbitrary hosts I do think it's possible to do this much more easily than is done today with the testing support in this repository. In essence this commit is an implementation of #1161.
The goal of this commit is to add a
wit-bindgen test
test suite runner. This test suite will be used to migrate all existing tests in this repository to this new framework. In the limit this is expected to make it easier to write tests (no Rust knowledge necessary), make it more flexible to write tests (now you can use raw*.wat
), and additionally improve the quality of the test suite by making it more reusable. The reusability isn't the highest priority at this time as it's not clear what else would want to reuse this, but my hope is that this refactoring is at least a large-ish leap forward towards having a component model test suite of some kind eventually.