[Ktechlab-devel] test-cases using KDevelop::Core
Julian Bäume
julian at svg4all.de
Fri Apr 2 00:13:51 UTC 2010
hi,
as promised in irc, I tried to implement some test-cases using KDevPlatform.
After fiddling around, hacking around and reverting most of my hacks, I got
something working, now. This looks like how I expect a test-case to look like.
This morning, I'm sure, I had something like that, but it somehow didn't work.
After implementing a fake ProjectController and a fake Project it still didn't
work, because some place in the KDevPlatform code still used some variables, I
couldn't overwrite in my fake implementations. This was, where I gave up and
removed all my fake implementations. Just for fun, I ran the test again... and
this time it didn't crash -___-
The other day, we talked about loading plugins from the TestCore. It seams to
work for me, now. The KTLProject plugin is somewhat special, because it isn't
"loaded" (and so it doesn't show up in KDevelop::Core::self()-
>pluginController()->loadedPlugins()). This is, because it is a "project"
plugin and not a "global" one. KTechLab::Circuit, however, does show up in
this list. For me it works, when I have KDevPlatform installed from my
distributions packages and have KTechLab installed into my personal prefix. (I
had to run kbuildsycoca4, of course.) I tested using KDevPlatform 0.9.99 and
KDE SC 4.4.2. From #kdevelop I learned, that konsolepart has a bug in KDE <
4.4.0 and it will crash the TestCore, during initialization with GUI setup
flags.
So all in all, this seems still somewhat fragile and it seems to work best,
with later versions of KDevPlatform. But I think, this situation will get more
mature as soon as the first stable version of KDevPlatform is released. Since
we are talking about automatic tests here, IMHO we can be a bit more strict
about the used libraries. At least for now. I don't want to spend much time
working around bugs in older versions, just to make test-cases run
everywhere...
You can find the code in the kde4-ktlproject branch. I will complete these
test-cases, soon. Now, as it works, this should be an easy task ;) and after
that, implement all missing functionality for project management.
bye then
julian
More information about the Ktechlab-devel
mailing list