Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
bytecodealliance
GitHub Repository: bytecodealliance/wasmtime
Path: blob/main/crates/fuzzing/Cargo.toml
1690 views
1
[package]
2
authors.workspace = true
3
description = "Fuzzing infrastructure for Wasmtime"
4
edition.workspace = true
5
rust-version.workspace = true
6
name = "wasmtime-fuzzing"
7
publish = false
8
version = "0.0.0"
9
license = "Apache-2.0 WITH LLVM-exception"
10
11
[lints]
12
workspace = true
13
14
[build-dependencies]
15
wasmtime-test-util = { workspace = true, features = ['wast'] }
16
17
[dependencies]
18
anyhow = { workspace = true }
19
arbitrary = { workspace = true, features = ["derive"] }
20
env_logger = { workspace = true }
21
log = { workspace = true }
22
mutatis = { workspace = true }
23
rayon = "1.2.1"
24
smallvec = { workspace = true }
25
target-lexicon = { workspace = true }
26
tempfile = "3.3.0"
27
wasmparser = { workspace = true }
28
wasmprinter = { workspace = true }
29
wasmtime-wast = { workspace = true, features = ['component-model'] }
30
wasmtime = { workspace = true, features = ['default', 'winch'] }
31
wasm-encoder = { workspace = true }
32
wasm-smith = { workspace = true, features = ['serde'] }
33
wasm-mutate = { workspace = true }
34
wasm-spec-interpreter = { path = "./wasm-spec-interpreter", optional = true }
35
wasmi = { version = "0.43.1", default-features = false, features = ["std", "simd"] }
36
futures = { workspace = true }
37
wasmtime-test-util = { workspace = true, features = ['wast', 'component-fuzz', 'component'] }
38
serde_json = { workspace = true }
39
serde = { workspace = true }
40
41
[dependencies.wasmtime-cli-flags]
42
workspace = true
43
features = [
44
'async',
45
'component-model',
46
'component-model-async',
47
'cranelift',
48
'gc',
49
'gc-drc',
50
'gc-null',
51
'memory-protection-keys',
52
'pooling-allocator',
53
'pulley',
54
'threads',
55
'parallel-compilation',
56
]
57
58
# We rely on precompiled v8 binaries, but rusty-v8 doesn't have a precompiled
59
# binary for MinGW which is built on our CI. It does have one for Windows-msvc,
60
# though, so we could use that if we wanted. For now though just simplify a bit
61
# and don't depend on this on Windows. The same applies on s390x and riscv.
62
[target.'cfg(not(any(windows, target_arch = "s390x", target_arch = "riscv64")))'.dependencies]
63
v8 = "137.2.0"
64
65
[dev-dependencies]
66
wat = { workspace = true }
67
rand = { version = "0.8.0", features = ["small_rng"] }
68
69
# Only enable the `build-libinterpret` feature when fuzzing is enabled, enabling
70
# commands like `cargo test --workspace` or similar to not need an ocaml
71
# installation and only fuzzers need it by default.
72
[target.'cfg(fuzzing)'.dependencies]
73
wasm-spec-interpreter = { path = "./wasm-spec-interpreter", optional = true, features = ['build-libinterpret'] }
74
75
[features]
76
fuzz-spec-interpreter = ['dep:wasm-spec-interpreter']
77
78
# Fuzz proof-carrying code. Off by default.
79
fuzz-pcc = []
80
81