You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdepim/karm/test
tpearson 7be55ffa06
Trinity Qt initial conversion
15 years ago
..
Makefile.am Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
README Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
__httpd.py Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
__korg.sh Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
__lib.sh Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
__webdav.pl Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
booktime-baddate.sh Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
booktime-badduration.sh Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
booktime-badtime.sh Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
booktime-baduid.sh Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
booktime-works.sh Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
bug94447.sh Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
delete.sh Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
example.ics Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
lifetest.php Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
lockerthread.cpp Trinity Qt initial conversion 15 years ago
lockerthread.h Trinity Qt initial conversion 15 years ago
locking.cpp Trinity Qt initial conversion 15 years ago
refresh_on_change.sh Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
remote_storage.sh Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
runscripts.cpp Trinity Qt initial conversion 15 years ago
script.cpp Trinity Qt initial conversion 15 years ago
script.h Trinity Qt initial conversion 15 years ago
version.sh Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
webdav.sh Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago

README

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