These last weeks there has been an interesting brainstorming in gtk-devel about developing unit tests for Gtk+. A lot of people joined and give insight on this topic, it is great seeing so many people interested in this stuff. Now it is time to reach conclusions and there are some hot topics that still need to be decided:
- Will we use a testing framework like Check or finally develop something specific for Gtk+?
- Should we stop the test suite after the first failed test or should we get a complete list of failed/passed tests?
- Should we fail a test whenever we reach a critical/warning?
- Should we test segmentation faults by forking every single test?
- and more … 🙂
If you are interested too, check it out and help us make the best choices 😉
I have sent an email to gtk-devel in order to get feedback from the Gtk+ community about the unit tests project I’m developing from Igalia. If you are interested you can check it out here.
If you have any comments or suggestions feel free to answer it or reply to this post :).
I have spent some time working on developing some unit tests for Gtk+ using Check. You can check them out here:
cvs -d :pserver:firstname.lastname@example.org:/var/publiccvs co gtk+
You need Check installed in your box in order to be able to run the tests or otherwise these will be disabled at configure time. You can get Check from here. You can also get it with apt in a Debian like system just typing apt-get install check.
Once you have downloaded, configured and built the repository, you can type make check in order to run all the tests in the Gtk+project. If you just want to run my unit tests you can just run make check from inside the ut/ subdir, where I have put all my tests. You should also be able to browse my tests on-line using Bonsai.
My folk Dape is also working for the build-brigade. He is working on the continuous integration tool (buildbot), improving it with nice features that will come in handy when setting up a nice Buildbot for the entire Gnome project. Meanwhile, I have to thank him for setting up a buildbot for my version of Gtk+ (the version where I added my unit tests) and its dependencies here. From that view you can check the builds, the tests logs and even some great code coverage statistics that are very useful to know which code is actually being tested/executed by the tests I have developed.
If you are interested in this topic and want to contact us you can join #build-brigade IRC channel at GimpNet or subscribe to the build-brigade mailing list.
Igalia is already five years old, so:
Gtkvts is a huge collection of tests for Gtk+ created by Sun and later forked by LSB. Fernando Herrera warned me about it some time ago when I was thinking about creating a test suite for Gtk+. Since then, I have spent some time reviewing it and it is really huge and complete, but has some things that I didn’t like too much: tests that are bad implemented or do not compile and the conversion tool they use to make the tests framework-independent among others. These issues drive me to think that developing tests from scratch could be a better approach this time. Anyway, we can still use gtkvts as a reference for lots of things, after all, there is a lot of work in it.
In the past weeks, an Igalia folk who has a non tech profile and I were looking for a topic were she can get involved in the Gnome community.
We reviewed this page, which turned out to be a nice starting point. She specially liked the accesibility issue and also found interesting the usability topic and the translation project. I’m sure she can give an interesting and different point of view. If you are already working on any of these Gnome topics and need some help, just tell me! 😉
Regarding usability, my folk Sergio proposed an interesting idea: design a “Your first steps in Gnome”, which would analyze and propose ideas regarding how to guide and train a newbie in the desktop usage. I’m sure this would be very useful for people not used to work with computers or even for people who come from other desktop environments.
If you have any other ideas about how a non tech profile can help in Gnome, let me know, they will be very appreciated 🙂
It is still not clear if the new Single Instance Application Framework that is being developed by Vytas will fit Gedit needs. For the moment, Paolo Borelli suggests to wait:
“I guess at the moment we should still wait and see what comes out of
Vytas work and where in the stack (glib/gtk/gnome) is going to be put.”
I think he is right, let’s wait for it and evaluate how it fits Gedit at that moment.
After three nice weeks of rest I’m back to fully retake the work on build-brigade. Let’s go for a demo of the gtkvts test suite running under some kind of continuous integration system like buildbot, tinderbox or jhautobuild.
I will be on vacation till the end of August.
So… see you around!
It seems that we are closer to have a working mailing list for the build-brigade…, in the meanwhile I have been reviewing a project from Sun (gtkvts) that had the very same target of providing a set of tests for Gtk+
This project, which uses TETWare as testing framework, provides a complete set of tests for Gtk+, but it has been inactive for two years. Why isn’t this inside the Gtk+ project? Should we re-take this project and update it instead of working from scratch on new tests?