Skip to content

Upstream Wasmtime's WASI 0.3 tests #181

@yoshuawuyts

Description

@yoshuawuyts

This is a sibling issue of WebAssembly/component-model#571. Wasmtime currently has its own set of WASI 0.3 tests written in Rust. With an eye on portability, we should upstream these tests from Wasmtime into the wasi-testsuite repo. That way runtimes like Jco will no longer have to rely on Wasmtime for test coverage, but can directly rely on wasi-testsuite instead.

I expect the upstreaming to occur in roughly three phases:

  1. Upstream a single test to ensure I'm doing things right.
  2. Upstream the remaining tests in bulk PRs to migrate everything over from Wasmtime.
  3. Refactor the now checked-in tests against the prior tests to reduce the number of duplicate tests.

With this I hope we can accelerate Jco's transition away from relying on Wasmtime's tests suite, and move it to rely on this project instead. Once we finish migrating tests over, we should be to delete the tests from Wasmtime soon after as well. Thanks!

Tests

There are a total of 39 test programs. The test program sources can be found here, and their invocations as part of Wasmtime's test suite can be found here and here.

  • p3_api_proxy.rs
  • p3_cli_hello_stdout.rs
  • p3_cli_much_stdout.rs
  • p3_cli_serve_hello_world.rs
  • p3_cli.rs
  • p3_clocks_sleep.rs
  • p3_file_write.rs
  • p3_filesystem_file_read_write.rs
  • p3_http_echo.rs
  • p3_http_middleware_with_chain.rs
  • p3_http_middleware.rs
  • p3_http_outbound_request_content_length.rs
  • p3_http_outbound_request_get.rs
  • p3_http_outbound_request_invalid_dnsname.rs
  • p3_http_outbound_request_invalid_header.rs
  • p3_http_outbound_request_invalid_port.rs
  • p3_http_outbound_request_invalid_version.rs
  • p3_http_outbound_request_large_post.rs
  • p3_http_outbound_request_missing_path_and_query.rs
  • p3_http_outbound_request_post.rs
  • p3_http_outbound_request_put.rs
  • p3_http_outbound_request_response_build.rs
  • p3_http_outbound_request_timeout.rs
  • p3_http_outbound_request_unknown_method.rs
  • p3_http_outbound_request_unsupported_scheme.rs
  • p3_http_proxy.rs
  • p3_random_imports.rs
  • p3_readdir.rs
  • p3_sockets_ip_name_lookup.rs
  • p3_sockets_tcp_bind.rs
  • p3_sockets_tcp_connect.rs
  • p3_sockets_tcp_sample_application.rs
  • p3_sockets_tcp_sockopts.rs
  • p3_sockets_tcp_states.rs
  • p3_sockets_tcp_streams.rs
  • p3_sockets_udp_bind.rs
  • p3_sockets_udp_connect.rs
  • p3_sockets_udp_sample_application.rs
  • p3_sockets_udp_sockopts.rs
  • p3_sockets_udp_states.rs

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions