Add fuzz testing for waypoint solvers.

This fuzz test generates random inputs for waypoint solvers to check if
they can find a solution. If they can't, the debug info for the solver
is dumped to the testcases directory. Another test loads those test
cases, creates a solver from them, and checks that a solution is found.
Obviously it won't be immediately, but it's a starting point for fixing
the bug and serves as a regression test afterward.
This commit is contained in:
Dan Albert
2023-08-03 00:47:19 -07:00
parent 6b6c4f4112
commit 1708baf772
7 changed files with 428 additions and 0 deletions

9
pytest.ini Normal file
View File

@@ -0,0 +1,9 @@
[pytest]
markers =
fuzztest: marks tests as fuzz tests
# Disable fuzz tests by default. They're randomized so flaky by nature. They
# are typically run manually after making changes to fuzzed code to generate
# new regression tests.
addopts =
-m "not fuzztest"