| # 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 |