ruff/python/py-fuzzer
David Peter 0edbd6c390
py-fuzzer: allow relative executable paths (#18915)
## Summary

I tried running `py-fuzzer` using executables in the current working
directory, but that failed with:
```
▶ uvx --from ./python/py-fuzzer --reinstall fuzz --test-executable ./ty_feature --bin=ty --baseline-executable ./ty_main --only-new-bugs 0-500
Usage: fuzz [-h] [--only-new-bugs] [--quiet] [--test-executable TEST_EXECUTABLE] [--baseline-executable BASELINE_EXECUTABLE] --bin {ruff,ty} seeds [seeds ...]
fuzz: error: Bad argument passed to `--baseline-executable`: no such file or executable PosixPath('ty_main')
 "Bad argument passed to `--baseline-executable`: no such file or executable PosixPath('ty_main')"
```

Using `.absolute()` on the `Path` fixes this.


## Test Plan

Successful `py-fuzzer` run with the invocation above.
2025-06-24 15:16:21 +02:00
..
fuzz.py py-fuzzer: allow relative executable paths (#18915) 2025-06-24 15:16:21 +02:00
pyproject.toml Bump py-fuzzer Dependencies (#18113) 2025-05-15 10:47:37 -04:00
README.md py-fuzzer: recommend using uvx rather than uv run to run the fuzzer (#14645) 2024-11-27 22:19:52 +00:00
uv.lock Bump py-fuzzer Dependencies (#18113) 2025-05-15 10:47:37 -04:00

py-fuzzer

A fuzzer script to run Ruff executables on randomly generated (but syntactically valid) Python source-code files.

Run uvx --from ./python/py-fuzzer fuzz -h from the repository root for more information and example invocations (requires uv to be installed).