Skip to content

wasi.yml: add missing target to filter out tests by target_os - #14884

Closed
oech3 wants to merge 1 commit into
uutils:mainfrom
oech3:wasi-target
Closed

oech3 wants to merge 1 commit into
uutils:mainfrom
oech3:wasi-target

Conversation

@oech3

@oech3 oech3 commented Sep 27, 2026

Copy link
Copy Markdown
Contributor

No description provided.

@oech3 oech3 closed this Sep 27, 2026
@oech3
oech3 deleted the wasi-target branch September 27, 2026 03:53
@oech3

oech3 commented Sep 27, 2026

Copy link
Copy Markdown
Contributor Author

@DePasqualeOrg Is this CI actually testing wasip1 target as we expected even it is missing --target? I don't think so. uutests does not complie for wasip1.

@DePasqualeOrg

Copy link
Copy Markdown
Contributor

I don’t have the full context on this issue, and I don’t have the time to fully understand it, but I did spend about an hour working on this with Opus 5.5 in Claude Code, which produced the following concise explanation. I hope that’s helpful.


Yes, it tests the wasip1 build. The binary is built for wasm32-wasip1, and the host-compiled tests run it through wasmtime (UUTESTS_WASM_RUNNER). The tests can't be compiled with --target, because WASI can't spawn processes and every test launches the binary as a child process. So target_os describes the host, and --cfg wasi_runner is how the tests know they're driving the WASI build.

One real gap: tests gated on target_os = "wasi" never compile in this setup, so two ls regression tests never ran. #14886 fixes that.

@oech3

oech3 commented Sep 27, 2026 via email

Copy link
Copy Markdown
Contributor Author

@DePasqualeOrg

Copy link
Copy Markdown
Contributor

I'm sorry, but I'm overloaded at the moment. I've spent another half hour working with Claude Code to resolve this, but I suggest you use these same tools to resolve any open questions, since it doesn't make sense for me to act as a proxy. Below is the analysis from Claude Code.


--target can't work here: every test launches the binary as a child process, and WASI can't spawn processes, so the tests have to be compiled for the host, where unix is true.

The noise could still be reduced: most wasi_runner uses just mark tests as ignored under WASI, and they could move to a --skip list in wasi.yml, keeping the custom cfg out of the test source.

#14886 no longer adds any custom cfg. It removes the dead target_os = "wasi" gates, and the two ls tests now run everywhere and are listed in the WASI job.

@oech3

oech3 commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor Author

Sorry. But I still don't agree with usefullness of wasi_runner. It looks a hack.

@eduardomourar Is there any idea to remove wasi_runner?

@DePasqualeOrg

Copy link
Copy Markdown
Contributor

What about moving these to a skip list in wasi.yml, as suggested in my last comment?

@oech3

oech3 commented Sep 29, 2026

Copy link
Copy Markdown
Contributor Author

What do you mean? I DON'T agree with ignoreing tests using custom cfg: wasi_runner. We should use target_os.

@DePasqualeOrg

Copy link
Copy Markdown
Contributor

Claude Code (Opus 5.5) says target_os can't work, because target_os describes the machine the tests are compiled for, which is Linux, not the WASI binary they launch, and they can't be compiled for WASI because WASI can't spawn processes.

@oech3

oech3 commented Sep 29, 2026

Copy link
Copy Markdown
Contributor Author

target_os describes the machine the tests are compiled for,

For me, it is crazy.

@eduardomourar

Copy link
Copy Markdown
Contributor

@oech3, I know it looks like a hack, but it is not. It only exists because of certain limitations of the WebAssembly/WASI runtime. I have been trying to tackle some of them so that we have more tests that will run in WASI. Until then, this is my proposal to simplify it: #14964

@oech3

oech3 commented Sep 29, 2026 via email

Copy link
Copy Markdown
Contributor Author

@eduardomourar

Copy link
Copy Markdown
Contributor

Yes, ignoring within the integration tests still gives us the better Developer Experience. Otherwise, we will have to maintain a separate script for the WASI tests (that would include the list of skipped tests).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants