mirror of
https://github.com/astral-sh/ruff
synced 2026-01-20 13:00:52 -05:00
## Summary Another salsa upgrade. The main motivation is to stay on a recent salsa version because there are still a lot of breaking changes happening. The most significant changes in this update: * Salsa no longer derives `Debug` by default. It now requires `interned(debug)` (or similar) * This version ships the foundation for garbage collecting interned values. However, this comes at the cost that queries now track which interned values they created (or read). The micro benchmarks in the salsa repo showed a significant perf regression. Will see if this also visible in our benchmarks. ## Test Plan `cargo test`
75 lines
1.9 KiB
TOML
75 lines
1.9 KiB
TOML
[package]
|
|
name = "ruff-fuzz"
|
|
version = "0.0.0"
|
|
authors = [
|
|
"Charlie Marsh <charlie.r.marsh@gmail.com>",
|
|
"Addison Crump <research@addisoncrump.info>",
|
|
]
|
|
publish = false
|
|
edition = "2021"
|
|
|
|
[features]
|
|
default = ["libfuzzer"]
|
|
full-idempotency = []
|
|
libfuzzer = ["libfuzzer-sys/link_libfuzzer"]
|
|
|
|
[package.metadata]
|
|
cargo-fuzz = true
|
|
|
|
[dependencies]
|
|
red_knot_python_semantic = { path = "../crates/red_knot_python_semantic" }
|
|
red_knot_vendored = { path = "../crates/red_knot_vendored" }
|
|
ruff_db = { path = "../crates/ruff_db" }
|
|
ruff_linter = { path = "../crates/ruff_linter" }
|
|
ruff_python_ast = { path = "../crates/ruff_python_ast" }
|
|
ruff_python_codegen = { path = "../crates/ruff_python_codegen" }
|
|
ruff_python_parser = { path = "../crates/ruff_python_parser" }
|
|
ruff_source_file = { path = "../crates/ruff_source_file" }
|
|
ruff_python_formatter = { path = "../crates/ruff_python_formatter" }
|
|
ruff_text_size = { path = "../crates/ruff_text_size" }
|
|
|
|
libfuzzer-sys = { git = "https://github.com/rust-fuzz/libfuzzer", default-features = false }
|
|
salsa = { git = "https://github.com/salsa-rs/salsa.git", rev = "d758691ba17ee1a60c5356ea90888d529e1782ad" }
|
|
similar = { version = "2.5.0" }
|
|
tracing = { version = "0.1.40" }
|
|
|
|
# Prevent this from interfering with workspaces
|
|
[workspace]
|
|
members = ["."]
|
|
|
|
[[bin]]
|
|
name = "red_knot_check_invalid_syntax"
|
|
path = "fuzz_targets/red_knot_check_invalid_syntax.rs"
|
|
|
|
[[bin]]
|
|
name = "ruff_parse_simple"
|
|
path = "fuzz_targets/ruff_parse_simple.rs"
|
|
|
|
[[bin]]
|
|
name = "ruff_fix_validity"
|
|
path = "fuzz_targets/ruff_fix_validity.rs"
|
|
|
|
[[bin]]
|
|
name = "ruff_formatter_validity"
|
|
path = "fuzz_targets/ruff_formatter_validity.rs"
|
|
|
|
[[bin]]
|
|
name = "ruff_parse_idempotency"
|
|
path = "fuzz_targets/ruff_parse_idempotency.rs"
|
|
|
|
[[bin]]
|
|
name = "ruff_formatter_idempotency"
|
|
path = "fuzz_targets/ruff_formatter_idempotency.rs"
|
|
|
|
[profile.release]
|
|
opt-level = 3
|
|
debug = true
|
|
|
|
[profile.dev]
|
|
opt-level = 3
|
|
debug = true
|
|
|
|
[profile.test]
|
|
opt-level = 3
|
|
debug = true
|