[package]
name = "uucore-fuzz"
version = "0.0.0"
description = "uutils ~ 'core' uutils fuzzers"
repository = "https://github.com/uutils/coreutils/tree/main/fuzz/"
edition.workspace = true
rust-version.workspace = true
license.workspace = true
publish = false

# Prevent this from interfering with workspaces
[workspace]
members = ["."]

[workspace.package]
edition = "2024"
rust-version = "1.88.0"
license = "MIT"

[package.metadata]
cargo-fuzz = true

# Enable debug symbols in release builds for readable backtraces
# when fuzzing discovers crashes. This addresses issue #5343.
[profile.release]
debug = true

[dependencies]
libfuzzer-sys = "0.4.7"
rand = { version = "0.9.0", features = ["small_rng"] }
uufuzz = { path = "uufuzz" }
uucore = { path = "../src/uucore", features = ["parser"] }
uu_date = { path = "../src/uu/date" }
uu_test = { path = "../src/uu/test" }
uu_expr = { path = "../src/uu/expr" }
uu_printf = { path = "../src/uu/printf" }
uu_echo = { path = "../src/uu/echo" }
uu_seq = { path = "../src/uu/seq" }
uu_sort = { path = "../src/uu/sort" }
uu_wc = { path = "../src/uu/wc" }
uu_cut = { path = "../src/uu/cut" }
uu_split = { path = "../src/uu/split" }
uu_tr = { path = "../src/uu/tr" }
uu_env = { path = "../src/uu/env" }
uu_cksum = { path = "../src/uu/cksum" }
uu_dirname = { path = "../src/uu/dirname" }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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