Skip to content

Commit 4678098

Browse files
authored
Exceptions: add exception-specific (command-sequence) fuzzer. (#12923)
* Exceptions: add exception-specific (command-sequence) fuzzer. This fuzzer uses a description of a set of "scenarios", arbitrarily generated, to produce a specific kind of module that tests throw/catch behavior. The module contains a chain of functions that invoke each other; one will throw, and the rest may have catch clauses that do or do not catch. * Review feedback.
1 parent bac0e78 commit 4678098

8 files changed

Lines changed: 780 additions & 5 deletions

File tree

Cargo.lock

Lines changed: 13 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -370,7 +370,7 @@ wasip2 = "1.0"
370370
arbitrary = "1.4.2"
371371
backtrace = "0.3.75"
372372
bumpalo = "3.20.0"
373-
mutatis = {version = "0.3.2", features = ["alloc"] }
373+
mutatis = {version = "0.3.2", features = ["alloc", "derive", "check"] }
374374
cc = "1.2.41"
375375
object = { version = "0.39.0", default-features = false, features = ['read_core', 'elf'] }
376376
gimli = { version = "0.33.0", default-features = false, features = ['read'] }

crates/fuzzing/src/generators.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ mod async_config;
1313
mod codegen_settings;
1414
pub mod component_async;
1515
mod config;
16+
pub mod exception_ops;
1617
pub mod gc_ops;
1718
mod instance_allocation_strategy;
1819
mod memory;
@@ -27,6 +28,7 @@ pub use async_config::AsyncConfig;
2728
pub use codegen_settings::CodegenSettings;
2829
pub use config::CompilerStrategy;
2930
pub use config::{Config, WasmtimeConfig};
31+
pub use exception_ops::ExceptionOps;
3032
pub use gc_ops::{limits::GcOpsLimits, ops::GcOps};
3133
pub use instance_allocation_strategy::InstanceAllocationStrategy;
3234
pub use memory::{HeapImage, MemoryAccesses, MemoryConfig};

0 commit comments

Comments
 (0)