Bruce, I believe one can programmatically fill in form data and send virtual events to a Tk-based GUI, which is essentially pushing all the buttons, and may have been what Shelly was getting at. The callback routines for "the real calculations" can definitely be run programmatically with various input data (and wasn't the original post about phase-corrections???). This might be difficult or easy for athena/artemis, depending on how they're implemented: Perl's anonymous closures can only be tested by sending virtual events. But if it's worth the time to formally test these programs, it might be worth some effort to make them more easily testable, no? To be honest, I'm not sure how many bugs regression tests for Ifeffit would have found in the past year: most of the problems have been in new features, obscure corners that may have been missed even by "thorough tests", or platform-specific bugs. There were several problems dealing with data files with unexpected formats, which is hard to predict, and hard to say that "failure" of a test necessarily means the program should be changed. Still, I think any such testing (by primates of any sort or by machine, of any GUI or of underlying libraries) is a fine thing to do. But without the "trusted results" you mentioned, I don't see a huge difference between using and testing. And I'd guess that deciding on these trusted results is 90% of the work. --Matt