Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fuzzer #28

Draft
wants to merge 9 commits into
base: main
Choose a base branch
from
Draft

Fuzzer #28

wants to merge 9 commits into from

Conversation

coreyja
Copy link
Owner

@coreyja coreyja commented Aug 21, 2022

The goal here is to build some 'fuzz' testing machinery that can help prove that a given simulation engine is 'correct'.

The basic idea is to split things into these parts:

  • 'Fuzz Testing' app [this thing!]
    • This creates a random game to start, and plays random moves for all snakes on the board.
    • It sends the original board and the moves chosen for each snake to each 'implementation server'
    • It compares the different 'implementation results' and checks they match. If it doesn't we found an issue!
    • If it does match, we take the updated board state and re-run our loop. If the game is over, we create a new starting game
  • 'Implementation Servers'
    • Evaluate a given set of moves, for a board. [Ignoring any instances of Randomness. Ex: No food spawns, no additional hazards]
    • 'Official Go Rules'
      • Go server that uses the official 'rules' repo to make moves
    • 'Rust Implementation'
      • This is really going to be the things we are testing!

…to almost 20 million just now before I cancelled it
* main: (22 commits)
  Use tailscale orb and try openbsd netcat
  Use this orb to install the latest tailscale instead of this hard coded old one
  Lets try netcat-traditional for the silly nc hack I use to deploy to Digital Ocean
  Ignore clippy that I think is wrong
  Fix warning from newer rust
  Fmt so we can deploy in CircleCI, which I believe goes to Digital Ocean
  Get fly.io deployed again so I can hand out that URL more freely
  Fix things so I can compile on newer rust versions
  Remove failing test
  Lets commit a failing test to make sure this works
  Try to fail deploy if tests fail and rename deploy to have commit in title
  Make sure to checkout the version that was tested for deploying
  Rename to ruby test and try deploy concurrency to make sure only 1 at a time
  Run deploy after tests and make bench and profile their own workflow
  Try using nightly for cargo dist
  Create FUNDING.yml
  Setup Github Actions (#41)
  Now not only can we compile tests we can actually run them!
  Finish the types -> workspace dep migration, forgot about tests and benches last week
  Upgrade to game types that support stacked hazard
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant