Justfile 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. all: build test
  2. all-release: build-release test-release
  3. export DOG_DEBUG := ""
  4. # compiles the dog binary
  5. @build:
  6. cargo build
  7. # compiles the dog binary (in release mode)
  8. @build-release:
  9. cargo build --release --verbose
  10. # runs unit tests
  11. @test:
  12. cargo test --all -- --quiet
  13. # runs unit tests (in release mode)
  14. @test-release:
  15. cargo test --release --all --verbose
  16. # renders the documentation
  17. @doc args="":
  18. cargo doc --no-deps --all {{args}}
  19. # runs fuzzing on the dns crate
  20. @fuzz:
  21. cargo +nightly fuzz --version
  22. cd dns; cargo +nightly fuzz run fuzz_parsing -- -jobs=`nproc` -workers=`nproc` -runs=69105
  23. # prints out the data that caused crashes during fuzzing as hexadecimal
  24. @fuzz-hex:
  25. for crash in dns/fuzz/artifacts/fuzz_parsing/crash-*; do echo; echo $crash; hexyl $crash; done
  26. # removes fuzz log files
  27. @fuzz-clean:
  28. rm dns/fuzz/fuzz-*.log
  29. # lints the code
  30. @clippy:
  31. cargo clippy -- -A clippy::module_name_repetitions \
  32. -A clippy::module_inception \
  33. -A clippy::non_ascii_literal \
  34. -A clippy::use_self