| Hasnain Lakhani | 7ac79ab | 2025-08-25 14:40:43 -0700 | [diff] [blame^] | 1 | # Licensed to the Apache Software Foundation (ASF) under one |
| 2 | # or more contributor license agreements. See the NOTICE file |
| 3 | # distributed with this work for additional information |
| 4 | # regarding copyright ownership. The ASF licenses this file |
| 5 | # to you under the Apache License, Version 2.0 (the |
| 6 | # "License"); you may not use this file except in compliance |
| 7 | # with the License. You may obtain a copy of the License at |
| 8 | # // |
| 9 | # http://www.apache.org/licenses/LICENSE-2.0 |
| 10 | # // |
| 11 | # Unless required by applicable law or agreed to in writing, |
| 12 | # software distributed under the License is distributed on an |
| 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| 14 | # KIND, either express or implied. See the License for the |
| 15 | # specific language governing permissions and limitations |
| 16 | # under the License. |
| 17 | |
| 18 | [package] |
| 19 | name = "thrift-fuzz" |
| 20 | version = "0.0.0" |
| 21 | publish = false |
| 22 | edition = "2021" |
| 23 | |
| 24 | [package.metadata] |
| 25 | cargo-fuzz = true |
| 26 | |
| 27 | [lib] |
| 28 | path = "lib/mod.rs" |
| 29 | |
| 30 | [dependencies] |
| 31 | libfuzzer-sys = "0.4" |
| 32 | uuid = { version = "1", features = ["arbitrary"] } |
| 33 | arbitrary = { version = "1", features = ["derive"] } |
| 34 | ordered-float = { version = "4.6.0", features = ["arbitrary"] } |
| 35 | clap = { version = "4.5", features = ["derive"] } |
| 36 | rand = "0.9" |
| 37 | |
| 38 | [dependencies.thrift] |
| 39 | path = "../../../../lib/rs" |
| 40 | |
| 41 | [[bin]] |
| 42 | name = "corpus_generator" |
| 43 | path = "bin/corpus_generator.rs" |
| 44 | |
| 45 | [[bin]] |
| 46 | name = "parse_compact" |
| 47 | path = "fuzz_targets/parse_compact.rs" |
| 48 | test = false |
| 49 | doc = false |
| 50 | bench = false |
| 51 | |
| 52 | [[bin]] |
| 53 | name = "parse_binary" |
| 54 | path = "fuzz_targets/parse_binary.rs" |
| 55 | test = false |
| 56 | doc = false |
| 57 | bench = false |
| 58 | |
| 59 | [[bin]] |
| 60 | name = "roundtrip_binary" |
| 61 | path = "fuzz_targets/roundtrip_binary.rs" |
| 62 | test = false |
| 63 | doc = false |
| 64 | bench = false |
| 65 | |
| 66 | [[bin]] |
| 67 | name = "roundtrip_compact" |
| 68 | path = "fuzz_targets/roundtrip_compact.rs" |
| 69 | test = false |
| 70 | doc = false |
| 71 | bench = false |
| 72 | |
| 73 | # TODO (THRIFT-5891): Enable these once we fix round-trip correctness. |
| 74 | # [[bin]] |
| 75 | # name = "structured_roundtrip_compact" |
| 76 | # path = "fuzz_targets/structured_roundtrip_compact.rs" |
| 77 | # test = false |
| 78 | # doc = false |
| 79 | # bench = false |
| 80 | |
| 81 | # [[bin]] |
| 82 | # name = "structured_roundtrip_binary" |
| 83 | # path = "fuzz_targets/structured_roundtrip_binary.rs" |
| 84 | # test = false |
| 85 | # doc = false |
| 86 | # bench = false |