diff --git a/.github/actions/install-wasi-sdk/action.yml b/.github/actions/install-wasi-sdk/action.yml index 169f68c93..5b0798a59 100644 --- a/.github/actions/install-wasi-sdk/action.yml +++ b/.github/actions/install-wasi-sdk/action.yml @@ -34,8 +34,8 @@ runs: - name: Setup `wasm-tools` uses: bytecodealliance/actions/wasm-tools/setup@v1 with: - version: "1.247.0" + version: "1.252.0" - name: Setup `wasmtime` uses: bytecodealliance/actions/wasmtime/setup@v1 with: - version: "44.0.0" + version: "46.0.1" diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c22eee340..3a86dcb49 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -104,11 +104,22 @@ jobs: dotnet-version: '9.x' if: matrix.lang == 'csharp' + # As of this writing async tests require [a patched build of + # Go](https://github.com/dicej/go/releases/tag/go1.25.5-wasi-on-idle). + # Install this on Linux to get coverage, but don't install it on + # macOS/Windows to also get coverage for test-without-a-patched-toolchain. + - name: Install Patched Go + run: | + curl -OL https://github.com/dicej/go/releases/download/go1.25.5-wasi-on-idle/go-linux-amd64-bootstrap.tbz + tar xf go-linux-amd64-bootstrap.tbz + echo "$(pwd)/go-linux-amd64-bootstrap/bin" >> $GITHUB_PATH + if: matrix.lang == 'go' && matrix.os == 'ubuntu-latest' + - name: Setup Go uses: actions/setup-go@v5 with: go-version: 1.25.4 - if: matrix.lang == 'go' + if: matrix.lang == 'go' && matrix.os != 'ubuntu-latest' # Hacky work-around for https://github.com/dotnet/runtime/issues/80619 - run: dotnet new console -o /tmp/foo @@ -130,17 +141,17 @@ jobs: --artifacts target/artifacts \ --rust-wit-bindgen-path ./crates/guest-rust - # Run all runtime tests for this language, and also enable Rust in case this - # language only implements either the runner or test component + # Run all runtime tests for this language, and also enable Rust & C in case + # this language only implements either the runner or test component - run: | - cargo run test --languages rust,${{ matrix.lang }} tests/runtime \ + cargo run test --languages rust,c,${{ matrix.lang }} tests/runtime \ --artifacts target/artifacts \ --rust-wit-bindgen-path ./crates/guest-rust - # While async is off-by-default and toolchains are percolating this is a + # While threading is off-by-default and toolchains are percolating this is a # separate job to get configured slightly differently. - async: - name: Test Async (allowed to fail) + threading: + name: Test WASIp3 Threading (allowed to fail) runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -151,18 +162,9 @@ jobs: run: rustup update stable --no-self-update && rustup default stable - run: rustup target add wasm32-wasip2 - # As of this writing, we need [a patched build of - # Go](https://github.com/dicej/go/releases/tag/go1.25.5-wasi-on-idle) to - # support async. - - name: Install Patched Go - run: | - curl -OL https://github.com/dicej/go/releases/download/go1.25.5-wasi-on-idle/go-linux-amd64-bootstrap.tbz - tar xf go-linux-amd64-bootstrap.tbz - echo "$(pwd)/go-linux-amd64-bootstrap/bin" >> $GITHUB_PATH - - uses: ./.github/actions/install-wasi-sdk - run: | - cargo run test --languages rust,c,go tests/runtime-async \ + cargo run test --languages rust,c,go tests/threading \ --artifacts target/artifacts \ --rust-wit-bindgen-path ./crates/guest-rust @@ -287,7 +289,6 @@ jobs: - verify-publish - check - msrv - # - async if: always() steps: diff --git a/Cargo.lock b/Cargo.lock index 2e6530677..63a642d15 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1215,9 +1215,9 @@ dependencies = [ [[package]] name = "wasi-preview1-component-adapter-provider" -version = "45.0.1" +version = "46.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02ed52111afc004605074d1a3fad77ba3ac85c0c0b8ad028919275a46fec8cfd" +checksum = "1b6c48003fe59c201c97a7786ff55feabe6b6f83b598aa9ff5bcc4f94d940bf3" [[package]] name = "wasm-compose" diff --git a/crates/test/Cargo.toml b/crates/test/Cargo.toml index 4100f71a5..14c80e0d9 100644 --- a/crates/test/Cargo.toml +++ b/crates/test/Cargo.toml @@ -26,7 +26,7 @@ log = "0.4.26" regex = "1.11.1" serde = { workspace = true } toml = "1.1.2" -wasi-preview1-component-adapter-provider = "45.0.1" +wasi-preview1-component-adapter-provider = "46.0.1" wac-parser = "0.10.0" wac-types = "0.10.0" wac-graph = "0.10.0" diff --git a/crates/test/src/c.rs b/crates/test/src/c.rs index a34f2fc55..a04dbf967 100644 --- a/crates/test/src/c.rs +++ b/crates/test/src/c.rs @@ -52,6 +52,7 @@ impl LanguageMethods for C { fn should_fail_verify( &self, + _runner: &Runner, name: &str, config: &crate::config::WitConfig, _args: &[String], diff --git a/crates/test/src/cpp.rs b/crates/test/src/cpp.rs index bf49ad3a8..d33cefa11 100644 --- a/crates/test/src/cpp.rs +++ b/crates/test/src/cpp.rs @@ -41,6 +41,7 @@ impl LanguageMethods for Cpp { fn should_fail_verify( &self, + _runner: &Runner, name: &str, config: &crate::config::WitConfig, _args: &[String], diff --git a/crates/test/src/csharp.rs b/crates/test/src/csharp.rs index 8e11ca7f7..6327ca029 100644 --- a/crates/test/src/csharp.rs +++ b/crates/test/src/csharp.rs @@ -36,6 +36,7 @@ impl LanguageMethods for Csharp { fn should_fail_verify( &self, + _runner: &Runner, name: &str, _config: &crate::config::WitConfig, _args: &[String], diff --git a/crates/test/src/custom.rs b/crates/test/src/custom.rs index 402fe65f4..8a56032d9 100644 --- a/crates/test/src/custom.rs +++ b/crates/test/src/custom.rs @@ -101,6 +101,7 @@ impl LanguageMethods for Language { fn should_fail_verify( &self, + _runner: &Runner, _name: &str, _config: &crate::config::WitConfig, _args: &[String], diff --git a/crates/test/src/go.rs b/crates/test/src/go.rs index afe651951..7655b26df 100644 --- a/crates/test/src/go.rs +++ b/crates/test/src/go.rs @@ -7,6 +7,22 @@ use std::process::Command; pub struct Go; +/// Go-specific state, stored in `Runner`, detected during `prepare`. +pub struct State { + /// Whether the Go toolchain in use supports the `runtime.wasiOnIdle` hook + /// required for component model async support. + async_supported: bool, +} + +impl Runner { + fn go_async_supported(&self) -> bool { + self.go_state + .as_ref() + .map(|s| s.async_supported) + .unwrap_or(false) + } +} + impl LanguageMethods for Go { fn display(&self) -> &str { "go" @@ -18,19 +34,43 @@ impl LanguageMethods for Go { fn should_fail_verify( &self, + runner: &Runner, name: &str, config: &crate::config::WitConfig, _args: &[String], ) -> bool { - // TODO: We _do_ support async, but only with a build of Go that has - // [this - // patch](https://github.com/dicej/go/commit/40fc123d5bce6448fc4e4601fd33bad4250b36a5). - // Once we upstream something equivalent, we can remove the ` || name == - // "async-trait-function.wit"` here. - config.error_context - || name == "async-trait-function.wit" - || name == "named-fixed-length-list.wit" - || name == "issue-1598.wit" + if config.error_context { + return true; + } + if name == "named-fixed-length-list.wit" { + return true; + } + if !runner.go_async_supported() { + return name == "async-trait-function.wit" || name == "issue-1598.wit"; + } + + false + } + + fn should_fail_compile( + &self, + runner: &Runner, + path: &Path, + config: &crate::config::WitConfig, + ) -> bool { + // This test, even though it's part of async, compiles on any + // toolchain. + if path.ends_with("incomplete-writes/leaf.go") { + return false; + } + + // Bindings for async tests rely on `runtime.wasiOnIdle` (see `prepare` + // below) and fail to link without a toolchain that provides it. + if !runner.go_async_supported() { + return config.async_; + } + + false } fn default_bindgen_args_for_codegen(&self) -> &[&str] { @@ -56,7 +96,45 @@ impl LanguageMethods for Go { .arg("build") .arg("-buildmode=c-shared") .arg("-ldflags=-checklinkname=0"), - ) + )?; + + // Component model async support requires a `runtime.wasiOnIdle` hook + // which, as of the time of this writing, is only available in a + // patched build of Go. Detect whether the toolchain in use has + // this hook by building a program that links against it, and if not + // then async tests are expected to fail to build. + println!("Testing if `go` supports `runtime.wasiOnIdle`..."); + let probe_dir = dir.join("wasi-on-idle-probe"); + super::write_if_different( + &probe_dir.join("main.go"), + r#"package main + +import _ "unsafe" + +//go:linkname wasiOnIdle runtime.wasiOnIdle +func wasiOnIdle(callback func() bool) +func init() { defer wasiOnIdle(func() bool { return false }) } +func main() {} +"#, + )?; + super::write_if_different(&probe_dir.join("go.mod"), "module probe\n\ngo 1.25")?; + let async_supported = runner + .run_command( + Command::new("go") + .current_dir(&probe_dir) + .env("GOOS", "wasip1") + .env("GOARCH", "wasm") + .arg("build") + .arg("-o") + .arg("probe.wasm") + .arg("-buildmode=c-shared") + .arg("-ldflags=-checklinkname=0"), + ) + .is_ok(); + println!("`runtime.wasiOnIdle` supported: {async_supported}"); + runner.go_state = Some(State { async_supported }); + + Ok(()) } fn compile(&self, runner: &Runner, compile: &Compile<'_>) -> Result<()> { diff --git a/crates/test/src/lib.rs b/crates/test/src/lib.rs index 615fb9ce0..7a54f4612 100644 --- a/crates/test/src/lib.rs +++ b/crates/test/src/lib.rs @@ -137,6 +137,7 @@ impl Opts { Runner { opts: self.clone(), rust_state: None, + go_state: None, wit_bindgen: wit_bindgen.to_path_buf(), test_runner: runner::TestRunner::new(&self.runner)?, } @@ -254,6 +255,7 @@ struct Verify<'a> { struct Runner { opts: Opts, rust_state: Option, + go_state: Option, wit_bindgen: PathBuf, test_runner: runner::TestRunner, } @@ -578,7 +580,7 @@ impl Runner { let me = self.clone(); let should_fail = language .obj() - .should_fail_verify(&args_kind, &config, &args); + .should_fail_verify(self, &args_kind, &config, &args); let name = format!("{language} {args_kind} {test:?}"); Trial::test(&name, move || { @@ -703,17 +705,23 @@ impl Runner { let compilations = compilations.clone(); let test = test.clone(); let component = component.clone(); + let should_fail = component.language.obj().should_fail_compile( + self, + &component.path, + &component.bindgen.wit_config, + ); Trial::test(&component.path.display().to_string(), move || { let result = me.compile_component(&test, &component).with_context(|| { format!("failed to compile component {:?}", component.path) }); match result { - Ok(path) => { + Ok(path) if !should_fail => { compilations.lock().unwrap().push((test, component, path)); Ok(()) } - Err(e) => me.render_error( - StepResult::new(Err(e)) + other => me.render_error( + StepResult::new(other.map(|_| ())) + .should_fail(should_fail) .metadata("component", &component.name) .metadata("path", component.path.display()), ), @@ -1280,7 +1288,25 @@ trait LanguageMethods { /// Returns whether this language is supposed to fail this codegen tests /// given the `config` and `args` for the test. - fn should_fail_verify(&self, name: &str, config: &config::WitConfig, args: &[String]) -> bool; + fn should_fail_verify( + &self, + runner: &Runner, + name: &str, + config: &config::WitConfig, + args: &[String], + ) -> bool; + + /// Returns whether this language is expected to fail to compile the + /// runtime test component described by `config`. + fn should_fail_compile( + &self, + runner: &Runner, + path: &Path, + config: &config::WitConfig, + ) -> bool { + let _ = (runner, path, config); + false + } /// Performs a "check" or a verify that the generated bindings described by /// `Verify` are indeed valid. diff --git a/crates/test/src/moonbit.rs b/crates/test/src/moonbit.rs index a837ae93e..8811314f5 100644 --- a/crates/test/src/moonbit.rs +++ b/crates/test/src/moonbit.rs @@ -120,6 +120,7 @@ impl LanguageMethods for MoonBit { fn should_fail_verify( &self, + _runner: &Runner, name: &str, config: &crate::config::WitConfig, _args: &[String], diff --git a/crates/test/src/rust.rs b/crates/test/src/rust.rs index fe492d60e..53484c29c 100644 --- a/crates/test/src/rust.rs +++ b/crates/test/src/rust.rs @@ -56,6 +56,7 @@ impl LanguageMethods for Rust { fn should_fail_verify( &self, + _runner: &Runner, name: &str, _config: &crate::config::WitConfig, _args: &[String], diff --git a/crates/test/src/wat.rs b/crates/test/src/wat.rs index 1cd59cdce..8278ade8e 100644 --- a/crates/test/src/wat.rs +++ b/crates/test/src/wat.rs @@ -14,6 +14,7 @@ impl LanguageMethods for Wat { fn should_fail_verify( &self, + _runner: &Runner, _name: &str, _config: &crate::config::WitConfig, _args: &[String], diff --git a/tests/runtime-async/async/cancel-import/runner.c b/tests/runtime/cancel-import/runner.c similarity index 100% rename from tests/runtime-async/async/cancel-import/runner.c rename to tests/runtime/cancel-import/runner.c diff --git a/tests/runtime-async/async/cancel-import/runner.rs b/tests/runtime/cancel-import/runner.rs similarity index 100% rename from tests/runtime-async/async/cancel-import/runner.rs rename to tests/runtime/cancel-import/runner.rs diff --git a/tests/runtime-async/async/cancel-import/test.c b/tests/runtime/cancel-import/test.c similarity index 100% rename from tests/runtime-async/async/cancel-import/test.c rename to tests/runtime/cancel-import/test.c diff --git a/tests/runtime-async/async/cancel-import/test.rs b/tests/runtime/cancel-import/test.rs similarity index 100% rename from tests/runtime-async/async/cancel-import/test.rs rename to tests/runtime/cancel-import/test.rs diff --git a/tests/runtime-async/async/cancel-import/test.wit b/tests/runtime/cancel-import/test.wit similarity index 92% rename from tests/runtime-async/async/cancel-import/test.wit rename to tests/runtime/cancel-import/test.wit index 78e57ec13..66a8c365e 100644 --- a/tests/runtime-async/async/cancel-import/test.wit +++ b/tests/runtime/cancel-import/test.wit @@ -1,3 +1,4 @@ +//@ async = true package my:test; interface i { diff --git a/tests/runtime-async/async/future-cancel-read/runner.cs b/tests/runtime/future-cancel-read/disabled/runner.cs similarity index 100% rename from tests/runtime-async/async/future-cancel-read/runner.cs rename to tests/runtime/future-cancel-read/disabled/runner.cs diff --git a/tests/runtime-async/async/future-cancel-read/test.cs b/tests/runtime/future-cancel-read/disabled/test.cs similarity index 100% rename from tests/runtime-async/async/future-cancel-read/test.cs rename to tests/runtime/future-cancel-read/disabled/test.cs diff --git a/tests/runtime-async/async/future-cancel-read/runner.c b/tests/runtime/future-cancel-read/runner.c similarity index 100% rename from tests/runtime-async/async/future-cancel-read/runner.c rename to tests/runtime/future-cancel-read/runner.c diff --git a/tests/runtime-async/async/future-cancel-read/runner.rs b/tests/runtime/future-cancel-read/runner.rs similarity index 100% rename from tests/runtime-async/async/future-cancel-read/runner.rs rename to tests/runtime/future-cancel-read/runner.rs diff --git a/tests/runtime-async/async/future-cancel-read/test.c b/tests/runtime/future-cancel-read/test.c similarity index 100% rename from tests/runtime-async/async/future-cancel-read/test.c rename to tests/runtime/future-cancel-read/test.c diff --git a/tests/runtime-async/async/future-cancel-read/test.mbt b/tests/runtime/future-cancel-read/test.mbt similarity index 100% rename from tests/runtime-async/async/future-cancel-read/test.mbt rename to tests/runtime/future-cancel-read/test.mbt diff --git a/tests/runtime-async/async/future-cancel-read/test.rs b/tests/runtime/future-cancel-read/test.rs similarity index 100% rename from tests/runtime-async/async/future-cancel-read/test.rs rename to tests/runtime/future-cancel-read/test.rs diff --git a/tests/runtime-async/async/future-cancel-read/test.wit b/tests/runtime/future-cancel-read/test.wit similarity index 94% rename from tests/runtime-async/async/future-cancel-read/test.wit rename to tests/runtime/future-cancel-read/test.wit index 52bbcd51c..df8e3e30c 100644 --- a/tests/runtime-async/async/future-cancel-read/test.wit +++ b/tests/runtime/future-cancel-read/test.wit @@ -1,3 +1,4 @@ +//@ async = true package my:test; interface i { diff --git a/tests/runtime-async/async/future-cancel-write-then-read/runner.rs b/tests/runtime/future-cancel-write-then-read/runner.rs similarity index 100% rename from tests/runtime-async/async/future-cancel-write-then-read/runner.rs rename to tests/runtime/future-cancel-write-then-read/runner.rs diff --git a/tests/runtime-async/async/future-cancel-write-then-read/test.rs b/tests/runtime/future-cancel-write-then-read/test.rs similarity index 100% rename from tests/runtime-async/async/future-cancel-write-then-read/test.rs rename to tests/runtime/future-cancel-write-then-read/test.rs diff --git a/tests/runtime-async/async/future-cancel-write-then-read/test.wit b/tests/runtime/future-cancel-write-then-read/test.wit similarity index 91% rename from tests/runtime-async/async/future-cancel-write-then-read/test.wit rename to tests/runtime/future-cancel-write-then-read/test.wit index 1995d936a..78780f2db 100644 --- a/tests/runtime-async/async/future-cancel-write-then-read/test.wit +++ b/tests/runtime/future-cancel-write-then-read/test.wit @@ -1,3 +1,4 @@ +//@ async = true package a:b; interface the-test { diff --git a/tests/runtime-async/async/future-cancel-write/runner.c b/tests/runtime/future-cancel-write/runner.c similarity index 100% rename from tests/runtime-async/async/future-cancel-write/runner.c rename to tests/runtime/future-cancel-write/runner.c diff --git a/tests/runtime-async/async/future-cancel-write/runner.rs b/tests/runtime/future-cancel-write/runner.rs similarity index 100% rename from tests/runtime-async/async/future-cancel-write/runner.rs rename to tests/runtime/future-cancel-write/runner.rs diff --git a/tests/runtime-async/async/future-cancel-write/test.c b/tests/runtime/future-cancel-write/test.c similarity index 100% rename from tests/runtime-async/async/future-cancel-write/test.c rename to tests/runtime/future-cancel-write/test.c diff --git a/tests/runtime-async/async/future-cancel-write/test.mbt b/tests/runtime/future-cancel-write/test.mbt similarity index 100% rename from tests/runtime-async/async/future-cancel-write/test.mbt rename to tests/runtime/future-cancel-write/test.mbt diff --git a/tests/runtime-async/async/future-cancel-write/test.rs b/tests/runtime/future-cancel-write/test.rs similarity index 100% rename from tests/runtime-async/async/future-cancel-write/test.rs rename to tests/runtime/future-cancel-write/test.rs diff --git a/tests/runtime-async/async/future-cancel-write/test.wit b/tests/runtime/future-cancel-write/test.wit similarity index 92% rename from tests/runtime-async/async/future-cancel-write/test.wit rename to tests/runtime/future-cancel-write/test.wit index 3b4dc207a..4d71ca6b9 100644 --- a/tests/runtime-async/async/future-cancel-write/test.wit +++ b/tests/runtime/future-cancel-write/test.wit @@ -1,3 +1,4 @@ +//@ async = true package my:test; interface i { diff --git a/tests/runtime-async/async/future-close-after-coming-back/runner.rs b/tests/runtime/future-close-after-coming-back/runner.rs similarity index 100% rename from tests/runtime-async/async/future-close-after-coming-back/runner.rs rename to tests/runtime/future-close-after-coming-back/runner.rs diff --git a/tests/runtime-async/async/future-close-after-coming-back/test.mbt b/tests/runtime/future-close-after-coming-back/test.mbt similarity index 100% rename from tests/runtime-async/async/future-close-after-coming-back/test.mbt rename to tests/runtime/future-close-after-coming-back/test.mbt diff --git a/tests/runtime-async/async/future-close-after-coming-back/test.rs b/tests/runtime/future-close-after-coming-back/test.rs similarity index 100% rename from tests/runtime-async/async/future-close-after-coming-back/test.rs rename to tests/runtime/future-close-after-coming-back/test.rs diff --git a/tests/runtime-async/async/future-write-then-read-comes-back/test.wit b/tests/runtime/future-close-after-coming-back/test.wit similarity index 91% rename from tests/runtime-async/async/future-write-then-read-comes-back/test.wit rename to tests/runtime/future-close-after-coming-back/test.wit index 12083a297..fb7865ef6 100644 --- a/tests/runtime-async/async/future-write-then-read-comes-back/test.wit +++ b/tests/runtime/future-close-after-coming-back/test.wit @@ -1,3 +1,4 @@ +//@ async = true package a:b; interface the-test { diff --git a/tests/runtime-async/async/future-close-then-receive-read/runner.rs b/tests/runtime/future-close-then-receive-read/runner.rs similarity index 100% rename from tests/runtime-async/async/future-close-then-receive-read/runner.rs rename to tests/runtime/future-close-then-receive-read/runner.rs diff --git a/tests/runtime-async/async/future-close-then-receive-read/test.rs b/tests/runtime/future-close-then-receive-read/test.rs similarity index 100% rename from tests/runtime-async/async/future-close-then-receive-read/test.rs rename to tests/runtime/future-close-then-receive-read/test.rs diff --git a/tests/runtime-async/async/future-close-then-receive-read/test.wit b/tests/runtime/future-close-then-receive-read/test.wit similarity index 91% rename from tests/runtime-async/async/future-close-then-receive-read/test.wit rename to tests/runtime/future-close-then-receive-read/test.wit index cc7f391e1..ec970d290 100644 --- a/tests/runtime-async/async/future-close-then-receive-read/test.wit +++ b/tests/runtime/future-close-then-receive-read/test.wit @@ -1,3 +1,4 @@ +//@ async = true package a:b; interface the-test { diff --git a/tests/runtime-async/async/future-closes-with-error/runner.rs b/tests/runtime/future-closes-with-error/runner.rs similarity index 100% rename from tests/runtime-async/async/future-closes-with-error/runner.rs rename to tests/runtime/future-closes-with-error/runner.rs diff --git a/tests/runtime-async/async/future-closes-with-error/test.rs b/tests/runtime/future-closes-with-error/test.rs similarity index 100% rename from tests/runtime-async/async/future-closes-with-error/test.rs rename to tests/runtime/future-closes-with-error/test.rs diff --git a/tests/runtime-async/async/future-closes-with-error/test.wit b/tests/runtime/future-closes-with-error/test.wit similarity index 90% rename from tests/runtime-async/async/future-closes-with-error/test.wit rename to tests/runtime/future-closes-with-error/test.wit index 58211d988..634fcae53 100644 --- a/tests/runtime-async/async/future-closes-with-error/test.wit +++ b/tests/runtime/future-closes-with-error/test.wit @@ -1,3 +1,4 @@ +//@ async = true package a:b; interface the-test { diff --git a/tests/runtime-async/async/future-write-then-read-comes-back/runner.rs b/tests/runtime/future-write-then-read-comes-back/runner.rs similarity index 100% rename from tests/runtime-async/async/future-write-then-read-comes-back/runner.rs rename to tests/runtime/future-write-then-read-comes-back/runner.rs diff --git a/tests/runtime-async/async/future-write-then-read-comes-back/test.rs b/tests/runtime/future-write-then-read-comes-back/test.rs similarity index 100% rename from tests/runtime-async/async/future-write-then-read-comes-back/test.rs rename to tests/runtime/future-write-then-read-comes-back/test.rs diff --git a/tests/runtime-async/async/future-close-after-coming-back/test.wit b/tests/runtime/future-write-then-read-comes-back/test.wit similarity index 91% rename from tests/runtime-async/async/future-close-after-coming-back/test.wit rename to tests/runtime/future-write-then-read-comes-back/test.wit index 12083a297..fb7865ef6 100644 --- a/tests/runtime-async/async/future-close-after-coming-back/test.wit +++ b/tests/runtime/future-write-then-read-comes-back/test.wit @@ -1,3 +1,4 @@ +//@ async = true package a:b; interface the-test { diff --git a/tests/runtime-async/async/future-write-then-read-remote/runner.rs b/tests/runtime/future-write-then-read-remote/runner.rs similarity index 100% rename from tests/runtime-async/async/future-write-then-read-remote/runner.rs rename to tests/runtime/future-write-then-read-remote/runner.rs diff --git a/tests/runtime-async/async/future-write-then-read-remote/runner2.rs b/tests/runtime/future-write-then-read-remote/runner2.rs similarity index 100% rename from tests/runtime-async/async/future-write-then-read-remote/runner2.rs rename to tests/runtime/future-write-then-read-remote/runner2.rs diff --git a/tests/runtime-async/async/future-write-then-read-remote/test.rs b/tests/runtime/future-write-then-read-remote/test.rs similarity index 100% rename from tests/runtime-async/async/future-write-then-read-remote/test.rs rename to tests/runtime/future-write-then-read-remote/test.rs diff --git a/tests/runtime-async/async/future-write-then-read-remote/test.wit b/tests/runtime/future-write-then-read-remote/test.wit similarity index 90% rename from tests/runtime-async/async/future-write-then-read-remote/test.wit rename to tests/runtime/future-write-then-read-remote/test.wit index 58211d988..634fcae53 100644 --- a/tests/runtime-async/async/future-write-then-read-remote/test.wit +++ b/tests/runtime/future-write-then-read-remote/test.wit @@ -1,3 +1,4 @@ +//@ async = true package a:b; interface the-test { diff --git a/tests/runtime-async/async/incomplete-writes/leaf.go b/tests/runtime/incomplete-writes/leaf.go similarity index 100% rename from tests/runtime-async/async/incomplete-writes/leaf.go rename to tests/runtime/incomplete-writes/leaf.go diff --git a/tests/runtime-async/async/incomplete-writes/runner.go b/tests/runtime/incomplete-writes/runner.go similarity index 100% rename from tests/runtime-async/async/incomplete-writes/runner.go rename to tests/runtime/incomplete-writes/runner.go diff --git a/tests/runtime-async/async/incomplete-writes/test.go b/tests/runtime/incomplete-writes/test.go similarity index 100% rename from tests/runtime-async/async/incomplete-writes/test.go rename to tests/runtime/incomplete-writes/test.go diff --git a/tests/runtime-async/async/incomplete-writes/test.wit b/tests/runtime/incomplete-writes/test.wit similarity index 98% rename from tests/runtime-async/async/incomplete-writes/test.wit rename to tests/runtime/incomplete-writes/test.wit index 6e3604133..6498e3a90 100644 --- a/tests/runtime-async/async/incomplete-writes/test.wit +++ b/tests/runtime/incomplete-writes/test.wit @@ -1,3 +1,4 @@ +//@ async = true //@ dependencies = ['test', 'leaf'] package my:test; diff --git a/tests/runtime-async/async/pending-import/runner.c b/tests/runtime/pending-import/runner.c similarity index 100% rename from tests/runtime-async/async/pending-import/runner.c rename to tests/runtime/pending-import/runner.c diff --git a/tests/runtime-async/async/pending-import/runner.cs b/tests/runtime/pending-import/runner.cs similarity index 100% rename from tests/runtime-async/async/pending-import/runner.cs rename to tests/runtime/pending-import/runner.cs diff --git a/tests/runtime-async/async/pending-import/runner.rs b/tests/runtime/pending-import/runner.rs similarity index 100% rename from tests/runtime-async/async/pending-import/runner.rs rename to tests/runtime/pending-import/runner.rs diff --git a/tests/runtime-async/async/pending-import/test.c b/tests/runtime/pending-import/test.c similarity index 100% rename from tests/runtime-async/async/pending-import/test.c rename to tests/runtime/pending-import/test.c diff --git a/tests/runtime-async/async/pending-import/test.cs b/tests/runtime/pending-import/test.cs similarity index 100% rename from tests/runtime-async/async/pending-import/test.cs rename to tests/runtime/pending-import/test.cs diff --git a/tests/runtime-async/async/pending-import/test.rs b/tests/runtime/pending-import/test.rs similarity index 100% rename from tests/runtime-async/async/pending-import/test.rs rename to tests/runtime/pending-import/test.rs diff --git a/tests/runtime-async/async/pending-import/test.wit b/tests/runtime/pending-import/test.wit similarity index 90% rename from tests/runtime-async/async/pending-import/test.wit rename to tests/runtime/pending-import/test.wit index a5ab30cda..0a586a2d3 100644 --- a/tests/runtime-async/async/pending-import/test.wit +++ b/tests/runtime/pending-import/test.wit @@ -1,3 +1,4 @@ +//@ async = true package my:test; interface i { diff --git a/tests/runtime-async/async/ping-pong/runner.cs b/tests/runtime/ping-pong/disabled/runner.cs similarity index 100% rename from tests/runtime-async/async/ping-pong/runner.cs rename to tests/runtime/ping-pong/disabled/runner.cs diff --git a/tests/runtime-async/async/ping-pong/test.cs b/tests/runtime/ping-pong/disabled/test.cs similarity index 100% rename from tests/runtime-async/async/ping-pong/test.cs rename to tests/runtime/ping-pong/disabled/test.cs diff --git a/tests/runtime-async/async/ping-pong/runner.c b/tests/runtime/ping-pong/runner.c similarity index 100% rename from tests/runtime-async/async/ping-pong/runner.c rename to tests/runtime/ping-pong/runner.c diff --git a/tests/runtime-async/async/ping-pong/runner.go b/tests/runtime/ping-pong/runner.go similarity index 100% rename from tests/runtime-async/async/ping-pong/runner.go rename to tests/runtime/ping-pong/runner.go diff --git a/tests/runtime-async/async/ping-pong/runner.rs b/tests/runtime/ping-pong/runner.rs similarity index 100% rename from tests/runtime-async/async/ping-pong/runner.rs rename to tests/runtime/ping-pong/runner.rs diff --git a/tests/runtime-async/async/ping-pong/test.c b/tests/runtime/ping-pong/test.c similarity index 100% rename from tests/runtime-async/async/ping-pong/test.c rename to tests/runtime/ping-pong/test.c diff --git a/tests/runtime-async/async/ping-pong/test.go b/tests/runtime/ping-pong/test.go similarity index 100% rename from tests/runtime-async/async/ping-pong/test.go rename to tests/runtime/ping-pong/test.go diff --git a/tests/runtime-async/async/ping-pong/test.rs b/tests/runtime/ping-pong/test.rs similarity index 100% rename from tests/runtime-async/async/ping-pong/test.rs rename to tests/runtime/ping-pong/test.rs diff --git a/tests/runtime-async/async/ping-pong/test.wit b/tests/runtime/ping-pong/test.wit similarity index 93% rename from tests/runtime-async/async/ping-pong/test.wit rename to tests/runtime/ping-pong/test.wit index cdfa4d43d..41468b2c8 100644 --- a/tests/runtime-async/async/ping-pong/test.wit +++ b/tests/runtime/ping-pong/test.wit @@ -1,3 +1,4 @@ +//@ async = true package my:test; interface i { diff --git a/tests/runtime-async/async/return-string/runner.go b/tests/runtime/return-string/runner.go similarity index 100% rename from tests/runtime-async/async/return-string/runner.go rename to tests/runtime/return-string/runner.go diff --git a/tests/runtime-async/async/return-string/test.go b/tests/runtime/return-string/test.go similarity index 100% rename from tests/runtime-async/async/return-string/test.go rename to tests/runtime/return-string/test.go diff --git a/tests/runtime-async/async/return-string/test.wit b/tests/runtime/return-string/test.wit similarity index 90% rename from tests/runtime-async/async/return-string/test.wit rename to tests/runtime/return-string/test.wit index 943d8cea7..c8b23cdaf 100644 --- a/tests/runtime-async/async/return-string/test.wit +++ b/tests/runtime/return-string/test.wit @@ -1,3 +1,4 @@ +//@ async = true package my:test; interface i { diff --git a/tests/runtime-async/async/rust-async-and-block-on/runner.rs b/tests/runtime/rust-async-and-block-on/runner.rs similarity index 100% rename from tests/runtime-async/async/rust-async-and-block-on/runner.rs rename to tests/runtime/rust-async-and-block-on/runner.rs diff --git a/tests/runtime-async/async/rust-async-and-block-on/test.rs b/tests/runtime/rust-async-and-block-on/test.rs similarity index 100% rename from tests/runtime-async/async/rust-async-and-block-on/test.rs rename to tests/runtime/rust-async-and-block-on/test.rs diff --git a/tests/runtime-async/async/rust-async-and-block-on/test.wit b/tests/runtime/rust-async-and-block-on/test.wit similarity index 90% rename from tests/runtime-async/async/rust-async-and-block-on/test.wit rename to tests/runtime/rust-async-and-block-on/test.wit index 3e66f4289..94ebaa738 100644 --- a/tests/runtime-async/async/rust-async-and-block-on/test.wit +++ b/tests/runtime/rust-async-and-block-on/test.wit @@ -1,3 +1,4 @@ +//@ async = true package a:b; interface i { diff --git a/tests/runtime-async/async/rust-cross-task-wakeup/runner.rs b/tests/runtime/rust-cross-task-wakeup/runner.rs similarity index 100% rename from tests/runtime-async/async/rust-cross-task-wakeup/runner.rs rename to tests/runtime/rust-cross-task-wakeup/runner.rs diff --git a/tests/runtime-async/async/rust-cross-task-wakeup/test.rs b/tests/runtime/rust-cross-task-wakeup/test.rs similarity index 100% rename from tests/runtime-async/async/rust-cross-task-wakeup/test.rs rename to tests/runtime/rust-cross-task-wakeup/test.rs diff --git a/tests/runtime-async/async/rust-cross-task-wakeup/test.wit b/tests/runtime/rust-cross-task-wakeup/test.wit similarity index 91% rename from tests/runtime-async/async/rust-cross-task-wakeup/test.wit rename to tests/runtime/rust-cross-task-wakeup/test.wit index ae07023b3..35e8f2dfe 100644 --- a/tests/runtime-async/async/rust-cross-task-wakeup/test.wit +++ b/tests/runtime/rust-cross-task-wakeup/test.wit @@ -1,3 +1,4 @@ +//@ async = true package my:test; interface i { diff --git a/tests/runtime-async/async/rust-lowered-send/runner.rs b/tests/runtime/rust-lowered-send/runner.rs similarity index 100% rename from tests/runtime-async/async/rust-lowered-send/runner.rs rename to tests/runtime/rust-lowered-send/runner.rs diff --git a/tests/runtime-async/async/rust-lowered-send/test.rs b/tests/runtime/rust-lowered-send/test.rs similarity index 100% rename from tests/runtime-async/async/rust-lowered-send/test.rs rename to tests/runtime/rust-lowered-send/test.rs diff --git a/tests/runtime-async/async/rust-lowered-send/test.wit b/tests/runtime/rust-lowered-send/test.wit similarity index 90% rename from tests/runtime-async/async/rust-lowered-send/test.wit rename to tests/runtime/rust-lowered-send/test.wit index 6ad54cc50..692778822 100644 --- a/tests/runtime-async/async/rust-lowered-send/test.wit +++ b/tests/runtime/rust-lowered-send/test.wit @@ -1,3 +1,4 @@ +//@ async = true package a:b; interface i { diff --git a/tests/runtime-async/async/simple-call-import/runner.c b/tests/runtime/simple-call-import/runner.c similarity index 100% rename from tests/runtime-async/async/simple-call-import/runner.c rename to tests/runtime/simple-call-import/runner.c diff --git a/tests/runtime-async/async/simple-call-import/runner.go b/tests/runtime/simple-call-import/runner.go similarity index 100% rename from tests/runtime-async/async/simple-call-import/runner.go rename to tests/runtime/simple-call-import/runner.go diff --git a/tests/runtime-async/async/simple-call-import/runner.rs b/tests/runtime/simple-call-import/runner.rs similarity index 100% rename from tests/runtime-async/async/simple-call-import/runner.rs rename to tests/runtime/simple-call-import/runner.rs diff --git a/tests/runtime-async/async/simple-call-import/test.c b/tests/runtime/simple-call-import/test.c similarity index 100% rename from tests/runtime-async/async/simple-call-import/test.c rename to tests/runtime/simple-call-import/test.c diff --git a/tests/runtime-async/async/simple-call-import/test.go b/tests/runtime/simple-call-import/test.go similarity index 100% rename from tests/runtime-async/async/simple-call-import/test.go rename to tests/runtime/simple-call-import/test.go diff --git a/tests/runtime-async/async/simple-call-import/test.rs b/tests/runtime/simple-call-import/test.rs similarity index 100% rename from tests/runtime-async/async/simple-call-import/test.rs rename to tests/runtime/simple-call-import/test.rs diff --git a/tests/runtime-async/async/simple-yield/test.wit b/tests/runtime/simple-call-import/test.wit similarity index 88% rename from tests/runtime-async/async/simple-yield/test.wit rename to tests/runtime/simple-call-import/test.wit index 378d915eb..7635d9993 100644 --- a/tests/runtime-async/async/simple-yield/test.wit +++ b/tests/runtime/simple-call-import/test.wit @@ -1,3 +1,4 @@ +//@ async = true package a:b; interface i { diff --git a/tests/runtime-async/async/simple-future/runner-nostd.rs b/tests/runtime/simple-future/runner-nostd.rs similarity index 100% rename from tests/runtime-async/async/simple-future/runner-nostd.rs rename to tests/runtime/simple-future/runner-nostd.rs diff --git a/tests/runtime-async/async/simple-future/runner.c b/tests/runtime/simple-future/runner.c similarity index 100% rename from tests/runtime-async/async/simple-future/runner.c rename to tests/runtime/simple-future/runner.c diff --git a/tests/runtime-async/async/simple-future/runner.cs b/tests/runtime/simple-future/runner.cs similarity index 100% rename from tests/runtime-async/async/simple-future/runner.cs rename to tests/runtime/simple-future/runner.cs diff --git a/tests/runtime-async/async/simple-future/runner.go b/tests/runtime/simple-future/runner.go similarity index 100% rename from tests/runtime-async/async/simple-future/runner.go rename to tests/runtime/simple-future/runner.go diff --git a/tests/runtime-async/async/simple-future/runner.rs b/tests/runtime/simple-future/runner.rs similarity index 100% rename from tests/runtime-async/async/simple-future/runner.rs rename to tests/runtime/simple-future/runner.rs diff --git a/tests/runtime-async/async/simple-future/test.c b/tests/runtime/simple-future/test.c similarity index 100% rename from tests/runtime-async/async/simple-future/test.c rename to tests/runtime/simple-future/test.c diff --git a/tests/runtime-async/async/simple-future/test.cs b/tests/runtime/simple-future/test.cs similarity index 100% rename from tests/runtime-async/async/simple-future/test.cs rename to tests/runtime/simple-future/test.cs diff --git a/tests/runtime-async/async/simple-future/test.go b/tests/runtime/simple-future/test.go similarity index 100% rename from tests/runtime-async/async/simple-future/test.go rename to tests/runtime/simple-future/test.go diff --git a/tests/runtime-async/async/simple-future/test.mbt b/tests/runtime/simple-future/test.mbt similarity index 100% rename from tests/runtime-async/async/simple-future/test.mbt rename to tests/runtime/simple-future/test.mbt diff --git a/tests/runtime-async/async/simple-future/test.rs b/tests/runtime/simple-future/test.rs similarity index 100% rename from tests/runtime-async/async/simple-future/test.rs rename to tests/runtime/simple-future/test.rs diff --git a/tests/runtime-async/async/simple-future/test.wit b/tests/runtime/simple-future/test.wit similarity index 92% rename from tests/runtime-async/async/simple-future/test.wit rename to tests/runtime/simple-future/test.wit index 6a1a7d1fa..45d6517b9 100644 --- a/tests/runtime-async/async/simple-future/test.wit +++ b/tests/runtime/simple-future/test.wit @@ -1,3 +1,4 @@ +//@ async = true package my:test; interface i { diff --git a/tests/runtime-async/async/simple-import-params-results/runner.c b/tests/runtime/simple-import-params-results/runner.c similarity index 100% rename from tests/runtime-async/async/simple-import-params-results/runner.c rename to tests/runtime/simple-import-params-results/runner.c diff --git a/tests/runtime-async/async/simple-import-params-results/runner.cs b/tests/runtime/simple-import-params-results/runner.cs similarity index 100% rename from tests/runtime-async/async/simple-import-params-results/runner.cs rename to tests/runtime/simple-import-params-results/runner.cs diff --git a/tests/runtime-async/async/simple-import-params-results/runner.go b/tests/runtime/simple-import-params-results/runner.go similarity index 100% rename from tests/runtime-async/async/simple-import-params-results/runner.go rename to tests/runtime/simple-import-params-results/runner.go diff --git a/tests/runtime-async/async/simple-import-params-results/runner.rs b/tests/runtime/simple-import-params-results/runner.rs similarity index 100% rename from tests/runtime-async/async/simple-import-params-results/runner.rs rename to tests/runtime/simple-import-params-results/runner.rs diff --git a/tests/runtime-async/async/simple-import-params-results/test.c b/tests/runtime/simple-import-params-results/test.c similarity index 100% rename from tests/runtime-async/async/simple-import-params-results/test.c rename to tests/runtime/simple-import-params-results/test.c diff --git a/tests/runtime-async/async/simple-import-params-results/test.cs b/tests/runtime/simple-import-params-results/test.cs similarity index 100% rename from tests/runtime-async/async/simple-import-params-results/test.cs rename to tests/runtime/simple-import-params-results/test.cs diff --git a/tests/runtime-async/async/simple-import-params-results/test.go b/tests/runtime/simple-import-params-results/test.go similarity index 100% rename from tests/runtime-async/async/simple-import-params-results/test.go rename to tests/runtime/simple-import-params-results/test.go diff --git a/tests/runtime-async/async/simple-import-params-results/test.mbt b/tests/runtime/simple-import-params-results/test.mbt similarity index 100% rename from tests/runtime-async/async/simple-import-params-results/test.mbt rename to tests/runtime/simple-import-params-results/test.mbt diff --git a/tests/runtime-async/async/simple-import-params-results/test.rs b/tests/runtime/simple-import-params-results/test.rs similarity index 100% rename from tests/runtime-async/async/simple-import-params-results/test.rs rename to tests/runtime/simple-import-params-results/test.rs diff --git a/tests/runtime-async/async/simple-import-params-results/test.wit b/tests/runtime/simple-import-params-results/test.wit similarity index 95% rename from tests/runtime-async/async/simple-import-params-results/test.wit rename to tests/runtime/simple-import-params-results/test.wit index 567040647..828a1e14b 100644 --- a/tests/runtime-async/async/simple-import-params-results/test.wit +++ b/tests/runtime/simple-import-params-results/test.wit @@ -1,3 +1,4 @@ +//@ async = true package a:b; interface i { diff --git a/tests/runtime-async/async/simple-pending-import/runner.c b/tests/runtime/simple-pending-import/runner.c similarity index 100% rename from tests/runtime-async/async/simple-pending-import/runner.c rename to tests/runtime/simple-pending-import/runner.c diff --git a/tests/runtime-async/async/simple-pending-import/runner.go b/tests/runtime/simple-pending-import/runner.go similarity index 100% rename from tests/runtime-async/async/simple-pending-import/runner.go rename to tests/runtime/simple-pending-import/runner.go diff --git a/tests/runtime-async/async/simple-pending-import/runner.rs b/tests/runtime/simple-pending-import/runner.rs similarity index 100% rename from tests/runtime-async/async/simple-pending-import/runner.rs rename to tests/runtime/simple-pending-import/runner.rs diff --git a/tests/runtime-async/async/simple-pending-import/test.c b/tests/runtime/simple-pending-import/test.c similarity index 100% rename from tests/runtime-async/async/simple-pending-import/test.c rename to tests/runtime/simple-pending-import/test.c diff --git a/tests/runtime-async/async/simple-pending-import/test.go b/tests/runtime/simple-pending-import/test.go similarity index 100% rename from tests/runtime-async/async/simple-pending-import/test.go rename to tests/runtime/simple-pending-import/test.go diff --git a/tests/runtime-async/async/simple-pending-import/test.rs b/tests/runtime/simple-pending-import/test.rs similarity index 100% rename from tests/runtime-async/async/simple-pending-import/test.rs rename to tests/runtime/simple-pending-import/test.rs diff --git a/tests/runtime-async/async/simple-pending-import/test.wit b/tests/runtime/simple-pending-import/test.wit similarity index 88% rename from tests/runtime-async/async/simple-pending-import/test.wit rename to tests/runtime/simple-pending-import/test.wit index 378d915eb..7635d9993 100644 --- a/tests/runtime-async/async/simple-pending-import/test.wit +++ b/tests/runtime/simple-pending-import/test.wit @@ -1,3 +1,4 @@ +//@ async = true package a:b; interface i { diff --git a/tests/runtime-async/async/simple-stream-payload/runner.c b/tests/runtime/simple-stream-payload/runner.c similarity index 100% rename from tests/runtime-async/async/simple-stream-payload/runner.c rename to tests/runtime/simple-stream-payload/runner.c diff --git a/tests/runtime-async/async/simple-stream-payload/runner.cs b/tests/runtime/simple-stream-payload/runner.cs similarity index 100% rename from tests/runtime-async/async/simple-stream-payload/runner.cs rename to tests/runtime/simple-stream-payload/runner.cs diff --git a/tests/runtime-async/async/simple-stream-payload/runner.go b/tests/runtime/simple-stream-payload/runner.go similarity index 100% rename from tests/runtime-async/async/simple-stream-payload/runner.go rename to tests/runtime/simple-stream-payload/runner.go diff --git a/tests/runtime-async/async/simple-stream-payload/runner.rs b/tests/runtime/simple-stream-payload/runner.rs similarity index 100% rename from tests/runtime-async/async/simple-stream-payload/runner.rs rename to tests/runtime/simple-stream-payload/runner.rs diff --git a/tests/runtime-async/async/simple-stream-payload/test.c b/tests/runtime/simple-stream-payload/test.c similarity index 100% rename from tests/runtime-async/async/simple-stream-payload/test.c rename to tests/runtime/simple-stream-payload/test.c diff --git a/tests/runtime-async/async/simple-stream-payload/test.cs b/tests/runtime/simple-stream-payload/test.cs similarity index 100% rename from tests/runtime-async/async/simple-stream-payload/test.cs rename to tests/runtime/simple-stream-payload/test.cs diff --git a/tests/runtime-async/async/simple-stream-payload/test.go b/tests/runtime/simple-stream-payload/test.go similarity index 100% rename from tests/runtime-async/async/simple-stream-payload/test.go rename to tests/runtime/simple-stream-payload/test.go diff --git a/tests/runtime-async/async/simple-stream-payload/test.mbt b/tests/runtime/simple-stream-payload/test.mbt similarity index 100% rename from tests/runtime-async/async/simple-stream-payload/test.mbt rename to tests/runtime/simple-stream-payload/test.mbt diff --git a/tests/runtime-async/async/simple-stream-payload/test.rs b/tests/runtime/simple-stream-payload/test.rs similarity index 100% rename from tests/runtime-async/async/simple-stream-payload/test.rs rename to tests/runtime/simple-stream-payload/test.rs diff --git a/tests/runtime-async/async/simple-stream-payload/test.wit b/tests/runtime/simple-stream-payload/test.wit similarity index 90% rename from tests/runtime-async/async/simple-stream-payload/test.wit rename to tests/runtime/simple-stream-payload/test.wit index b776823fd..aa882a185 100644 --- a/tests/runtime-async/async/simple-stream-payload/test.wit +++ b/tests/runtime/simple-stream-payload/test.wit @@ -1,3 +1,4 @@ +//@ async = true package my:test; interface i { diff --git a/tests/runtime-async/async/simple-stream/runner-nostd.rs b/tests/runtime/simple-stream/runner-nostd.rs similarity index 100% rename from tests/runtime-async/async/simple-stream/runner-nostd.rs rename to tests/runtime/simple-stream/runner-nostd.rs diff --git a/tests/runtime-async/async/simple-stream/runner.c b/tests/runtime/simple-stream/runner.c similarity index 100% rename from tests/runtime-async/async/simple-stream/runner.c rename to tests/runtime/simple-stream/runner.c diff --git a/tests/runtime-async/async/simple-stream/runner.go b/tests/runtime/simple-stream/runner.go similarity index 100% rename from tests/runtime-async/async/simple-stream/runner.go rename to tests/runtime/simple-stream/runner.go diff --git a/tests/runtime-async/async/simple-stream/runner.rs b/tests/runtime/simple-stream/runner.rs similarity index 100% rename from tests/runtime-async/async/simple-stream/runner.rs rename to tests/runtime/simple-stream/runner.rs diff --git a/tests/runtime-async/async/simple-stream/test.c b/tests/runtime/simple-stream/test.c similarity index 100% rename from tests/runtime-async/async/simple-stream/test.c rename to tests/runtime/simple-stream/test.c diff --git a/tests/runtime-async/async/simple-stream/test.go b/tests/runtime/simple-stream/test.go similarity index 100% rename from tests/runtime-async/async/simple-stream/test.go rename to tests/runtime/simple-stream/test.go diff --git a/tests/runtime-async/async/simple-stream/test.mbt b/tests/runtime/simple-stream/test.mbt similarity index 100% rename from tests/runtime-async/async/simple-stream/test.mbt rename to tests/runtime/simple-stream/test.mbt diff --git a/tests/runtime-async/async/simple-stream/test.wit b/tests/runtime/simple-stream/test.wit similarity index 90% rename from tests/runtime-async/async/simple-stream/test.wit rename to tests/runtime/simple-stream/test.wit index bdf2bc03b..4281d2826 100644 --- a/tests/runtime-async/async/simple-stream/test.wit +++ b/tests/runtime/simple-stream/test.wit @@ -1,3 +1,4 @@ +//@ async = true package my:test; interface i { diff --git a/tests/runtime-async/async/simple-yield/runner-nostd.rs b/tests/runtime/simple-yield/runner-nostd.rs similarity index 100% rename from tests/runtime-async/async/simple-yield/runner-nostd.rs rename to tests/runtime/simple-yield/runner-nostd.rs diff --git a/tests/runtime-async/async/simple-yield/runner.c b/tests/runtime/simple-yield/runner.c similarity index 100% rename from tests/runtime-async/async/simple-yield/runner.c rename to tests/runtime/simple-yield/runner.c diff --git a/tests/runtime-async/async/simple-yield/runner.rs b/tests/runtime/simple-yield/runner.rs similarity index 100% rename from tests/runtime-async/async/simple-yield/runner.rs rename to tests/runtime/simple-yield/runner.rs diff --git a/tests/runtime-async/async/simple-yield/test.c b/tests/runtime/simple-yield/test.c similarity index 100% rename from tests/runtime-async/async/simple-yield/test.c rename to tests/runtime/simple-yield/test.c diff --git a/tests/runtime-async/async/simple-yield/test.rs b/tests/runtime/simple-yield/test.rs similarity index 100% rename from tests/runtime-async/async/simple-yield/test.rs rename to tests/runtime/simple-yield/test.rs diff --git a/tests/runtime-async/async/threading-builtins/test.wit b/tests/runtime/simple-yield/test.wit similarity index 88% rename from tests/runtime-async/async/threading-builtins/test.wit rename to tests/runtime/simple-yield/test.wit index 378d915eb..7635d9993 100644 --- a/tests/runtime-async/async/threading-builtins/test.wit +++ b/tests/runtime/simple-yield/test.wit @@ -1,3 +1,4 @@ +//@ async = true package a:b; interface i { diff --git a/tests/runtime-async/async/stream-to-futures-stream/runner.rs b/tests/runtime/stream-to-futures-stream/runner.rs similarity index 100% rename from tests/runtime-async/async/stream-to-futures-stream/runner.rs rename to tests/runtime/stream-to-futures-stream/runner.rs diff --git a/tests/runtime-async/async/stream-to-futures-stream/test.rs b/tests/runtime/stream-to-futures-stream/test.rs similarity index 100% rename from tests/runtime-async/async/stream-to-futures-stream/test.rs rename to tests/runtime/stream-to-futures-stream/test.rs diff --git a/tests/runtime-async/async/stream-to-futures-stream/test.wit b/tests/runtime/stream-to-futures-stream/test.wit similarity index 90% rename from tests/runtime-async/async/stream-to-futures-stream/test.wit rename to tests/runtime/stream-to-futures-stream/test.wit index b776823fd..aa882a185 100644 --- a/tests/runtime-async/async/stream-to-futures-stream/test.wit +++ b/tests/runtime/stream-to-futures-stream/test.wit @@ -1,3 +1,4 @@ +//@ async = true package my:test; interface i { diff --git a/tests/runtime/strings/runner.go b/tests/runtime/strings/disabled/runner.go similarity index 100% rename from tests/runtime/strings/runner.go rename to tests/runtime/strings/disabled/runner.go diff --git a/tests/runtime/strings/test.go b/tests/runtime/strings/disabled/test.go similarity index 100% rename from tests/runtime/strings/test.go rename to tests/runtime/strings/disabled/test.go diff --git a/tests/runtime-async/async/yield-loop-receives-events/leaf.rs b/tests/runtime/yield-loop-receives-events/leaf.rs similarity index 100% rename from tests/runtime-async/async/yield-loop-receives-events/leaf.rs rename to tests/runtime/yield-loop-receives-events/leaf.rs diff --git a/tests/runtime-async/async/yield-loop-receives-events/middle.rs b/tests/runtime/yield-loop-receives-events/middle.rs similarity index 100% rename from tests/runtime-async/async/yield-loop-receives-events/middle.rs rename to tests/runtime/yield-loop-receives-events/middle.rs diff --git a/tests/runtime-async/async/yield-loop-receives-events/runner.rs b/tests/runtime/yield-loop-receives-events/runner.rs similarity index 100% rename from tests/runtime-async/async/yield-loop-receives-events/runner.rs rename to tests/runtime/yield-loop-receives-events/runner.rs diff --git a/tests/runtime-async/async/yield-loop-receives-events/test.wit b/tests/runtime/yield-loop-receives-events/test.wit similarity index 94% rename from tests/runtime-async/async/yield-loop-receives-events/test.wit rename to tests/runtime/yield-loop-receives-events/test.wit index 343a5294d..6136b613b 100644 --- a/tests/runtime-async/async/yield-loop-receives-events/test.wit +++ b/tests/runtime/yield-loop-receives-events/test.wit @@ -1,3 +1,4 @@ +//@ async = true //@ dependencies = ['middle', 'leaf'] package test:common; diff --git a/tests/runtime-async/async/threading-builtins/runner.c b/tests/threading/threading-builtins/runner.c similarity index 100% rename from tests/runtime-async/async/threading-builtins/runner.c rename to tests/threading/threading-builtins/runner.c diff --git a/tests/runtime-async/async/threading-builtins/test.c b/tests/threading/threading-builtins/test.c similarity index 100% rename from tests/runtime-async/async/threading-builtins/test.c rename to tests/threading/threading-builtins/test.c diff --git a/tests/runtime-async/async/simple-call-import/test.wit b/tests/threading/threading-builtins/test.wit similarity index 100% rename from tests/runtime-async/async/simple-call-import/test.wit rename to tests/threading/threading-builtins/test.wit