blob: 654e48037a1c47a1d3917181a0c73ca088e941e6 [file]
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
[package]
name = "fuzz"
version = "0.1.0"
edition = "2021"
publish = false
[package.metadata]
cargo-fuzz = true
[dependencies]
libfuzzer-sys = "0.4"
libsqlite3-sys = { version = "0.38", features = ["bundled"], optional = true }
pg_query = { version = "6.2", optional = true }
libduckdb-sys = { version = "1.10505.0", features = ["bundled", "json"], optional = true }
serde_json = { version = "1", optional = true }
sqlparser = { path = ".." }
# The oracle targets build their engines from source, so each compiles only when its feature is on.
[features]
sqlite = ["dep:libsqlite3-sys"]
postgres = ["dep:pg_query"]
duckdb = ["dep:libduckdb-sys", "dep:serde_json"]
# Prevent this from interfering with workspaces
[workspace]
members = ["."]
[[bin]]
name = "fuzz_parse_sql"
path = "fuzz_targets/fuzz_parse_sql.rs"
test = false
doc = false
bench = false
[[bin]]
name = "fuzz_parse_roundtrip"
path = "fuzz_targets/fuzz_parse_roundtrip.rs"
test = false
doc = false
bench = false
[[bin]]
name = "fuzz_sqlite_accepts"
path = "fuzz_targets/fuzz_sqlite_accepts.rs"
required-features = ["sqlite"]
test = false
doc = false
bench = false
[[bin]]
name = "fuzz_postgres_accepts"
path = "fuzz_targets/fuzz_postgres_accepts.rs"
required-features = ["postgres"]
test = false
doc = false
bench = false
[[bin]]
name = "fuzz_duckdb_accepts"
path = "fuzz_targets/fuzz_duckdb_accepts.rs"
required-features = ["duckdb"]
test = false
doc = false
bench = false
[[bin]]
name = "fuzz_stage_cost"
path = "fuzz_targets/fuzz_stage_cost.rs"
test = false
doc = false
bench = false