ZLS fuzzing tooling.
git clone https://github.com/ziglang/zig repos/zig
git clone https://github.com/zigtools/zls repos/zls
zig build -- repos/zls/zig-out/bin/zls[.exe]
# example with 'markov training dir'
zig build run -- --zls-path repos/zls/zig-out/bin/zls[.exe] --mode markov -- --training-dir repos/zig/srcUsage: sus [options] --mode [mode] -- <mode specific arguments>
Example: sus --mode markov -- --training-dir /path/to/folder/containing/zig/files/
sus --mode best_behavior -- --source_dir ~/path/to/folder/containing/zig/files/
General Options:
--help Print this help and exit
--mode [mode] Specify fuzzing mode - one of ["best_behavior","markov"]
--seed [number] Fuzz a specific seed to reproduce a crash
--rpc Use RPC mode (default: false)
--zls-path [path] Specify path to ZLS executable (default: Search in PATH)
--zig-path [path] Specify path to Zig executable (default: Search in PATH)
--cycles-per-gen How many times to fuzz a random feature before regenerating a new file. (default: 25)
For a listing of mode specific options, use 'sus --mode [mode] -- --help'.
For a listing of build options, use 'zig build --help'.If a .env file is present in the current working directory, the following keys will be used as default values.
zls_path=/path/to/repos/zls/zig-out/bin/zls
mode=markov
markov_training_dir=/path/to/repos/zig/srcthis allows the project to be run with no args:
zig build run