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
OBATA Akio 0009cb8171
fix some sh portability fixes
5 years ago
..
Makefile.am LIB_QT -> LIB_TQT conversion to align to updated admin module 6 years ago
README Remove additional unneeded tq method conversions 13 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 fix some sh portability fixes 5 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 fix some sh portability fixes 5 years ago
booktime-badduration.sh fix some sh portability fixes 5 years ago
booktime-badtime.sh fix some sh portability fixes 5 years ago
booktime-baduid.sh fix some sh portability fixes 5 years ago
booktime-works.sh fix some sh portability fixes 5 years ago
bug94447.sh fix some sh portability fixes 5 years ago
delete.sh fix some sh portability fixes 5 years ago
example.ics Update XDG information in support of bug report 892. 13 years ago
lifetest.php Rename obsolete tq methods to standard names 13 years ago
lockerthread.cpp Rename old tq methods that no longer need a unique name 13 years ago
lockerthread.h Initial conversion of kdepim to TQt 14 years ago
locking.cpp Rename common header files for consistency with class renaming 12 years ago
refresh_on_change.sh fix some sh portability fixes 5 years ago
remote_storage.sh Rename a number of libraries and executables to avoid conflicts with KDE4 12 years ago
runscripts.cpp Revert "Rename a number of old tq methods that are no longer tq specific" 13 years ago
script.cpp Remove additional unneeded tq method conversions 13 years ago
script.h Remove spurious TQ_OBJECT instances 13 years ago
version.sh fix some sh portability fixes 5 years ago
webdav.sh fix some sh portability fixes 5 years ago

README

This directory holds automated tests for karm.

It's in very rough shape.


How you start:

  (1) get and install tdepim 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