I think this is a very good idea, and I do think a plugin is the way to go.
In the past, I have made up some simplistic test maps to test broken things in a controlled environment - it also makes it easier to very that it is now working correctly. However, I certainly don't go back and re-run those tests manually. Having a plugin do it wouldn't necessarily be hard. The plugin would I imagine read some form of command file, which could be something like: load_map ... activate_trigger x1,y1 sleep 10 (this in game ticks or something) check_for_object x2,y2 boulder As a basic test to make sure a trigger activating spikes moves the boulder. I think a plugin is necessary because whatever is running the tests needs some way to look at the internal structures - what is on x2,y2. Other commands I see would be inserting/removing items (to check handling of altars, buttons, etc) Such a plugin could actually handle a fair number of tests you describe. IF there is a way for the plugin to be called every tick (as a global event), this can even cover things like spellcasting (the script could check for the presence of the spell on any number of spaces to confirm correct behavior). I do not envision running these unit tests on a server with players. So if this plugin means it now takes 5 seconds for a tick to complete (say for complex spell tests where it is looking at a lot of spaces), that wouldn't be a big deal. Ideally, this test mode should be able to be started from command line, eg, crossfire -testscript .... which automatically loads the test plugin and runs it with testscript. I say this because some method of having this happen easily is highly desirable. If I can do something like 'make tests', even if those tests take an hour, I could fire it off before I go to bed or something. If I have to do special stuff to run the tests, this goes back to the test maps, nice to have, but doesn't do much good if never used. _______________________________________________ crossfire mailing list [email protected] http://mailman.metalforge.org/mailman/listinfo/crossfire

