Freeciv
Register
Advertisement

Test your patches before committing. Once you have posted the 'absolutely certainly final' version to the ticket tracker for comments, you are still waiting that ~24 hours for possible objections. Keep using patch in your own system during that time.

Run autogames - games with only AI players and non-zero timeout. If you want to test server side only, you can set timeout to -1. If you want to keep client attached, you may adjust timeout for client to keep up. Reason I run a lot of server only autogames (in the background) is that client is more resource hungry, and I'm using this computer to other things than freeciv testing also.

If your patch should not change AI behavior (at all / with certain ruleset), make sure it doesn't. Run long autogame (with known randseed & mapseed) with and without the patch. Compare final savegames (diff or md5sum or whatever). If such patch adds or removes something from savegame, use sed to strip that extra info from savegame and then compare to one in to which that info was never written to.

Compile with -Werror (is set by --enable-debug).

Commit rules allow patch to go in even if it breaks clients other than gtk. Still, if changes are easily doable, it doesn't hurt to have other clients in working condition too. You can easily compile all clients from same sources.

If it turns out that your patch makes existing freeciv bug more serious (freeciv starts crashing when your patch is applied, and its someone else's fault), those bugs should be fixed before you commit your patch.


Marko Lindqvist at freeciv-dev@

Advertisement