Sudoku fuzzers for Udacity class CS258
If you have additional items to add to the fuzzer, please contribute 'em!
To run, clone/download/whatever the repo, then run:
python run_fuzzer.py path/to/my/solver_and_checker.py
And the program will attempt to fuzz your solver and checker.
Command line options:
- --test | lets you choose which tests to run (checker, solver, or both)
- --no-strict | doesn't run tests checking for False/floating point
- --mutations | set number of mutations (number of little changes to make) for checker fuzzer
- --iters | set number of iterations for fuzz_solver (basically, just impacts the amount of time)
Should be compatible with Python 2.5+ and Python 3, though I haven't tested it on Python 3 yet.
Send me an email if you encounter any problems.
Original solution mutator -- by Brandon on Udacity.
Test runner, checker fuzzer and some no-solution sudoku - written by Jeffrey Tratner (+ inspired by fuzzer test cases from Bill Barry and Brandon)
Great refactoring + random testers contributed by Kedar Bellare (Generation-based and Transformation-based)
Tricky example of a fail-in-subgrid-only grid and a grid with floating point numbers from Goldsong
Freely provided under the MIT License