|
| 1 | +class Wuppiefuzz < Formula |
| 2 | + desc "Coverage-guided REST API fuzzer developed on top of LibAFL" |
| 3 | + homepage "https://github.com/TNO-S3/WuppieFuzz" |
| 4 | + url "https://github.com/TNO-S3/WuppieFuzz/releases/download/v1.3.0/source.tar.gz" |
| 5 | + sha256 "45d112673c633684459651976119fcb4d8a7f1a74b974ad05de61481b686f49b" |
| 6 | + license "Apache-2.0" |
| 7 | + |
| 8 | + bottle do |
| 9 | + sha256 cellar: :any_skip_relocation, arm64_tahoe: "31d3ac521302f3eb809fced503becb69569f12d51f23c9eaf772370d2075ee45" |
| 10 | + sha256 cellar: :any_skip_relocation, arm64_sequoia: "c6fa5391cc83fb00c73315e855bf90da244702f32b9edba1b8f9b74c81df56b9" |
| 11 | + sha256 cellar: :any_skip_relocation, arm64_sonoma: "c4a1279ae32e5a36b8cf01a567cebda90642bdd7ee946507a545aa77807629a6" |
| 12 | + sha256 cellar: :any_skip_relocation, sonoma: "c5b744520db48662e2e061c6934462fd4e4f509bba4d5b7612ed23c0e0bb3b11" |
| 13 | + sha256 cellar: :any_skip_relocation, x86_64_linux: "cbb8158f0378edfb4a61860668181e720fd4366640ec44305929a0b5018e7f87" |
| 14 | + end |
| 15 | + |
| 16 | + depends_on "cmake" => :build |
| 17 | + depends_on "pkgconf" => :build |
| 18 | + depends_on "rust" => :build |
| 19 | + depends_on "z3" |
| 20 | + |
| 21 | + uses_from_macos "llvm" => :build # for libclang |
| 22 | + |
| 23 | + on_linux do |
| 24 | + depends_on "openssl@3" |
| 25 | + end |
| 26 | + |
| 27 | + def install |
| 28 | + ENV["Z3_LIBRARY_PATH_OVERRIDE"] = Formula["z3"].opt_lib |
| 29 | + ENV["Z3_SYS_Z3_HEADER"] = Formula["z3"].opt_include |
| 30 | + system "cargo", "install", *std_cargo_args |
| 31 | + end |
| 32 | + |
| 33 | + test do |
| 34 | + assert_match version.to_s, shell_output("#{bin}/wuppiefuzz version") |
| 35 | + |
| 36 | + (testpath/"openapi.yaml").write <<~YAML |
| 37 | + openapi: 3.0.0 |
| 38 | + YAML |
| 39 | + |
| 40 | + output = shell_output("#{bin}/wuppiefuzz fuzz openapi.yaml 2>&1", 1) |
| 41 | + assert_match "Error: Error parsing OpenAPI-file at openapi.yaml", output |
| 42 | + end |
| 43 | +end |
0 commit comments