summaryrefslogtreecommitdiffstats
path: root/karm/test/README
diff options
context:
space:
mode:
Diffstat (limited to 'karm/test/README')
-rw-r--r--karm/test/README80
1 files changed, 80 insertions, 0 deletions
diff --git a/karm/test/README b/karm/test/README
new file mode 100644
index 000000000..31dbc8d24
--- /dev/null
+++ b/karm/test/README
@@ -0,0 +1,80 @@
+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