Oh, right. 64-bit OS X needs to be fixed too. I'll have to look into building allegro again, I guess.
Okay, it sounds like we really need some automated testing. I'm thinking that for a start, just trying to run all of the commands in a reasonably sensible context (eg correct game mode) and reporting any crashes would be great. This will still take a fair bit of work, including maybe a script to navigate DF menus, but the payoff should be worth it.
More complicated stuff can come later. I'd like command arguments, better context awareness, basic fuzzing, output checking, and so on... but all of that can be built on a basic "run all the commands and see what happens".
This might be my next project
Yeah, testing is something I've wanted to do. I looked at unit tests recently, although those wouldn't be as useful for the DF-related issues. I have a script that walks through all of the structures (well, mostly), which crashes when something is misaligned badly enough, so that might be a decent place to start. Besides that, actual tests that run in DF would have a couple things to sort out (nothing impossible, though):
- Needing to start DF (this takes time, although it might be fast on Travis)
- Needing to restart DF if a test crashes DF (but not restarting unnecessarily, to save time)
- Needing to restart DF (or abort and reload the current game?) if a test does something difficult to reverse (3dveins, exterminate, etc.). Hopefully this isn't necessary often, though.
In short, it could be slow, but it's definitely something I want to look into.