Skip to content

Testing

Alexander Grund edited this page Jan 11, 2016 · 1 revision

Testing

If you want to help with testing there are simple ways to do this:

  1. Build RTTR yourself: https://github.com/Return-To-The-Roots/s25client
  2. Once that works, make a "Debug" build
    • For VS you just select "Debug" in the top center
    • For Linux you set the CMAKE_BUILD_TYPE to "Debug" (use cmake-gui in the build folder) This enables a lot of checks that heavily affect performance. Don't worry about that, this is normal.
  3. Now run a replay of a larger game. Once it is loaded, you can fast-forward by pressing "j" and putting in the maximum GF number as displayed on the top (or just a big number)
  4. If the game reaches the end of the replay, all is fine. If not (you get an "assertion failure" mostly) you found a bug. If you can fix it, do so and open a Pull Request. Otherwise report the replay as a new issue along with information what happened and when.

As you will see, doing this takes a lot of time and every replay probably uses different features of RTTR and runs into different situations (something is destroyed at the "wrong" moment e.g.) so we need many replays to test. Unfortunately as the game is updated, old replays sometimes won't work. The replay will mostly go async at some point, this is ok but reproducing a specific situation from the original game is not possible after that. You can still continue the replay to discover new situations though. Also the game might already be corrupted as the replay was created (when it does not start at the beginning (GF 0)) in this case, the replay is useless :( .

So if you have the time and a larger replay, just let it run and report issues whenever you find them. Thanks! 👍