|
|
|
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 <mark@hubcapconsulting.com>
|
|
|
|
December 6, 2004
|