Stream: git-wasmtime

Topic: wasmtime / PR #10185 asm: re-allow prop-testing with `car...


view this post on Zulip Wasmtime GitHub notifications bot (Feb 04 2025 at 18:32):

abrown opened PR #10185 from abrown:assembler-fuzzing to bytecodealliance:main:

In #10110, I originally intended to use arbitrary implementations in two ways: for long-running fuzz testing (e.g., with OSS-Fuzz) but also for quick property testing with cargo test. This latter use case could replace the tedious emit tests we had to write in cranelift-codegen _and_ find corner cases that we otherwise might not explore. It helped me during development: just run cargo test to check if anything is obviously wrong. arbtest seemed to be able to run ~1000 test cases and found mistakes well within the one second time limit I gave it.

@alexcrichton improved #10110 by avoiding Arbitrary implementations everywhere and unconditionally depending on the arbitrary crate. This was the right change, but it removed the ability to property test using cargo test. What this change does is retain the general intent of his change (no extra dependencies) but add Arbitrary implementations for cfg(test) as well to run property tests during cargo test.

The only downside I see here is the added complexity when conditionally compiling the fuzz-related bits: #[cfg(any(test, feature = "fuzz"))]. Perhaps there is a better way to do this, but this seemed to work fine. Let me know what you think.

<!--
Please make sure you include the following information:

Our development process is documented in the Wasmtime book:
https://docs.wasmtime.dev/contributing-development-process.html

Please ensure all communication follows the code of conduct:
https://github.com/bytecodealliance/wasmtime/blob/main/CODE_OF_CONDUCT.md
-->

view this post on Zulip Wasmtime GitHub notifications bot (Feb 04 2025 at 18:32):

abrown requested fitzgen for a review on PR #10185.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 04 2025 at 18:32):

abrown requested wasmtime-default-reviewers for a review on PR #10185.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 04 2025 at 18:32):

abrown requested wasmtime-compiler-reviewers for a review on PR #10185.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 04 2025 at 18:36):

abrown updated PR #10185.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 04 2025 at 18:40):

abrown updated PR #10185.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 04 2025 at 21:07):

abrown commented on PR #10185:

cc: @alexcrichton, you might want to make sure this lines up with what you were thinking.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 04 2025 at 22:17):

alexcrichton submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 04 2025 at 22:17):

alexcrichton commented on PR #10185:

A little wonky but seems reasonable to me :+1:

view this post on Zulip Wasmtime GitHub notifications bot (Feb 05 2025 at 16:00):

alexcrichton commented on PR #10185:

No reliable network for you!

view this post on Zulip Wasmtime GitHub notifications bot (Feb 05 2025 at 16:22):

alexcrichton merged PR #10185.


Last updated: Feb 28 2025 at 03:10 UTC