mirror of
https://github.com/darkrenaissance/darkfi.git
synced 2026-01-09 14:48:08 -05:00
Create a fuzz harness to test the ./zkas binary compilation process. The whole pipeline is tested: Lexer, Parser, Compiler, Analyzer. This is performed by copying the relevant code from bin/zkas/src/main.rs. Testing the entire pipeline like this is not very efficient in terms of fuzzing cycles but on the other hand it is a quick-and-dirty way to find results. It also benefits from testing the actual inputs to the binary in the way it's expecting, rather than checking each of the components in a piecemeal way using interfaces that aren't expected to be exposed anyway.
55 lines
938 B
TOML
55 lines
938 B
TOML
[package]
|
|
name = "darkfi-fuzz2"
|
|
version = "0.0.0"
|
|
publish = false
|
|
edition = "2021"
|
|
|
|
[package.metadata]
|
|
cargo-fuzz = true
|
|
|
|
[dependencies]
|
|
honggfuzz = "0.5"
|
|
bitcoin = "0.30.1"
|
|
|
|
[dependencies.darkfi]
|
|
path = "../.."
|
|
features = ["zkas"]
|
|
|
|
[dependencies.darkfi-serial]
|
|
path = "../../src/serial"
|
|
features = ["derive", "semver", "collections", "crypto", "hash"]
|
|
|
|
[patch.crates-io]
|
|
blake2b_simd = {git="https://github.com/parazyd/blake2_simd", branch="impl-common"}
|
|
|
|
# Prevent this from interfering with workspaces
|
|
[workspace]
|
|
members = ["."]
|
|
|
|
[profile.release]
|
|
debug = 1
|
|
|
|
[[bin]]
|
|
name = "zkbinary-decode"
|
|
path = "src/zkbinary_decode.rs"
|
|
test = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "serial-decode-string"
|
|
path = "src/serial_decode_string.rs"
|
|
test = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "varint-differential"
|
|
path = "src/varint_differential.rs"
|
|
test = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "zkas-compile"
|
|
path = "src/zkas_compile.rs"
|
|
test = false
|
|
doc = false
|