Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
bytecodealliance
GitHub Repository: bytecodealliance/wasmtime
Path: blob/main/crates/fuzzing/Cargo.toml
3073 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
backtrace = { 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
wasmtime-core = { workspace = true, features = ['backtrace'] }
32
wasm-encoder = { workspace = true }
33
wasm-smith = { workspace = true, features = ['serde'] }
34
wasm-mutate = { workspace = true }
35
wasm-compose = { workspace = true }
36
wasm-spec-interpreter = { path = "./wasm-spec-interpreter", optional = true }
37
wasmi = { version = "1.0.8", default-features = false, features = ["std", "simd"] }
38
futures = { workspace = true, features = ['async-await'] }
39
wasmtime-test-util = { workspace = true, features = ['wast', 'component-fuzz', 'component'] }
40
serde_json = { workspace = true }
41
serde = { workspace = true }
42
test-programs-artifacts = { workspace = true }
43
wasmtime-wasi = { workspace = true }
44
indexmap = { workspace = true }
45
46
[dependencies.wasmtime-cli-flags]
47
workspace = true
48
features = [
49
'async',
50
'component-model',
51
'component-model-async',
52
'cranelift',
53
'gc',
54
'gc-drc',
55
'gc-null',
56
'memory-protection-keys',
57
'pooling-allocator',
58
'pulley',
59
'threads',
60
'parallel-compilation',
61
]
62
63
# We rely on precompiled v8 binaries, but rusty-v8 doesn't have a precompiled
64
# binary for MinGW which is built on our CI. It does have one for Windows-msvc,
65
# though, so we could use that if we wanted. For now though just simplify a bit
66
# and don't depend on this on Windows. The same applies on s390x and riscv.
67
[target.'cfg(not(any(windows, target_arch = "s390x", target_arch = "riscv64")))'.dependencies]
68
v8 = "139.0.0"
69
70
[dev-dependencies]
71
wat = { workspace = true }
72
rand = { version = "0.8.0", features = ["small_rng"] }
73
wasmtime-environ = { workspace = true }
74
cranelift-bitset = { workspace = true }
75
76
# Only enable the `build-libinterpret` feature when fuzzing is enabled, enabling
77
# commands like `cargo test --workspace` or similar to not need an ocaml
78
# installation and only fuzzers need it by default.
79
[target.'cfg(fuzzing)'.dependencies]
80
wasm-spec-interpreter = { path = "./wasm-spec-interpreter", optional = true, features = ['build-libinterpret'] }
81
82
[features]
83
fuzz-spec-interpreter = ['dep:wasm-spec-interpreter']
84
85
# Fuzz proof-carrying code. Off by default.
86
fuzz-pcc = []
87
88