[package]
name = "crosvm-fuzz"
version = "0.0.1"
publish = false
edition = "2021"

[package.metadata]
cargo-fuzz = true

[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }

[dependencies]
devices = { workspace = true }
disk = { workspace = true }
fuse = { workspace = true }
hypervisor = { workspace = true }
kernel_loader = { workspace = true }
libc = { workspace = true }
rand = { workspace = true }
base = { workspace = true }
tempfile = "3"
usb_util = { workspace = true }
vm_memory = { workspace = true }
p9 = "0.3.1"
rand_core = {version = "0.6", features = ["std"]}
cfg-if = { workspace = true }

[target.'cfg(fuzzing)'.dependencies]
libfuzzer-sys = "=0.4.4"

[features]
default = ["disk/qcow"]

[[bin]]
name = "block_fuzzer"
path = "fuzz_targets/block_fuzzer.rs"
test = false
doc = false

[[bin]]
name = "fs_server_fuzzer"
path = "fuzz_targets/fs_server_fuzzer.rs"
test = false
doc = false

[[bin]]
name = "p9_tframe_fuzzer"
path = "fuzz_targets/p9_tframe_fuzzer.rs"
test = false
doc = false

[[bin]]
name = "qcow_fuzzer"
path = "fuzz_targets/qcow_fuzzer.rs"
test = false
doc = false

[[bin]]
name = "usb_descriptor_fuzzer"
path = "fuzz_targets/usb_descriptor_fuzzer.rs"
test = false
doc = false

[[bin]]
name = "virtqueue_fuzzer"
path = "fuzz_targets/virtqueue_fuzzer.rs"
test = false
doc = false

[[bin]]
name = "zimage_fuzzer"
path = "fuzz_targets/zimage_fuzzer.rs"
test = false
doc = false

