This directory holds automated tests for karm. It's in very rough shape. How you start: (1) get and install kdepim including karm (2) get and install xautomation from http://hoopajoo.net/projects/xautomation.html (3) get and install Net::DAV::Server with CPAN (4) get and install Net::Virtual::Plain with CPAN (5) get and install File::Find::Rule::Filesys::Virtual with CPAN (6) start the automated tests with the command make check Here are some of the issues: (1) The tests require KDE to be running in English. The automated XTests use shortcut keys to drive the app. These key combinations are language specific. (2) The tests require that you "make install" first. The XAutomation tests and tests that use DCOP run karm from the bash prompt. (3) The tests are destructive. If you have an already running instance of karm, the tests will kill that instance. So you cannot, for example, record time spent running karm automated tests. The tests are smart enough to use test iCalendar files. But they will alter the karm storage settings for the ics file name. (4) The runscripts program does not kill scripts that never return. You have to monitor the progress and press Control-C if you think a script is hung. (5) No attempt is made to check for installed script interpreters. In addition to required interpreters (Python 2.2, for example), the bash scripts use xte, which on Debian is in the xautomation package. If a required library is not found, runscripts will consider this a script failure and stop. (6) I have only tested this with Bash on GNU/Linux. (7) When a test fails, it is really hard to figure out why. There is too much stuff mixed together on the console output, and the tests themselves do not give much info when they fail. That having been said, I find it so useful that I will keep working on this so it should get better shortly. Some notes on runscripts.cpp: Parses this directory for script files (Python, PHP, Perl and Bash). It identifies a script file by the extension. It runs any script files it finds. Within each script type, it runs the scripts in alphabetical order. Scripts that start with a double underscore are skipped. When a script fails runscripts stops. Script files should return a non-zero exit code to indicate a failure. -- Mark Bucciarelli December 6, 2004