KDE PIM/Akonadi/Testing
Akonadi Test and Benchmark Infrastructure
Akonadi Testrunner
Igor's GSoC project, found in kdepimlibs/akonadi/tests/testrunner.
Documentation based on Igor's mail to kde-pim ML:
First you need create a configuration file in KStandardDirs config resource type (try to use: kde4-config --path config, to find the path in my case the path is /usr/share/kde4/config) , the configuration file is a xml and look like:
<config> <!-- path to KDE configuration ($KDEHOME) --> <kdehome>/home/igor/kde/installs/trunk </kdehome> <!-- path to Akonadi configuration, ie. the stuff that usually goes into ~/.config/akonadi/ --> <confighome>/home/igor/codes/kde/tests/test_akonadi/</confighome> <!-- path to Akonadi data, ie. the stuff that usually goes into ~/.local/share/akonadi/ --> <datahome>/home/igor/codes/kde/tests/test_akonadi/data</datahome> <!-- load resources of the specified types --> <resource>akonadi_ical_resource</resource> <resource>akonadi_vcard_resource</resource> <!-- load items from the specified file into the specified target collection --> <item location="/path/to/file.vcf" collection="akonadi_vcard_resource_0"/> </config>
After that you only needs to run the testrunner:
%./akonaditest
and it creates a shell script file in your current directory called testenvironment.sh and you just need to run it.
%source testenvironment.sh
And right now you have a self contained Akonadi server.
KNUT Test Data Resource
In kdepim/akonadi/resources, fully featured resource that operates on a single XML file. File format is decribed in knut.xsd and follows closely the internal structure of Akonadi. New files can be created in eg. Akonadiconsole by creating a resource and specifying a non-existing file.
Akonadi Scriptable Resource
Second part of Igor's GSoC project, currently in playground/pim/akonaditest.
TODO
Akonadi Benchmarker
In kdepimlibs/akonadi/test, part of Robert's thesis.
TODO
Unittests
Akonadi Server
Usable without installation, run with ctest/make test as usual.
kdepimlbs/akonadi
Better coverage than the above, but require special test data from kdesupport/akonadi/server/src/storage to be applied before every run (destroys all existing data, so be careful). Needs porting to the Akonadi Testrunner.
kdepim/akonadi
Are there any? TODO