Tests for the brogue-genesis generator. Running ------- make test # goldens + 1000-seed invariant stress make stress # 5000-seed invariant stress only Files ----- run_tests.sh Runs goldens against current binary, then stress. update_goldens.sh Regenerates goldens.txt. Run this only after an intentional change to generation logic. goldens.txt seed|map_sha256|summary_line, one per committed seed. What's checked -------------- 1. Map hash stability — sha256 of the ASCII map for each committed seed. 2. Summary line stability — room/loop/lake/bridge counts and connectivity. 3. Connectivity invariant — for a rolling sweep of seeds, every passable cell must be 4-connected to every other. This is the load-bearing property of Brogue's pipeline. When to update the goldens -------------------------- If you intentionally change generation (new room type, tweak CA rule, change lake sizes, adjust corridor bounds, reorder phases, etc.), the goldens will break by design. Inspect the diff, confirm it looks right, then: make && test/update_goldens.sh make test If the stress pass ever reports non-zero failures, a connectivity-preserving invariant has been broken — investigate before committing.