{"id":27,"date":"2006-11-09T12:50:47","date_gmt":"2006-11-09T11:50:47","guid":{"rendered":"http:\/\/blogs.igalia.com\/itoral\/?p=27"},"modified":"2006-11-09T12:50:47","modified_gmt":"2006-11-09T11:50:47","slug":"gtk-unit-tests-the-whole-story","status":"publish","type":"post","link":"https:\/\/blogs.igalia.com\/itoral\/2006\/11\/09\/gtk-unit-tests-the-whole-story\/","title":{"rendered":"GTK+ unit tests, the whole story"},"content":{"rendered":"<p>This post tries to give some links and context to my last one (<a target=\"_blank\" title=\"Gtk+ unit tests brainstorming (conclusions)\" href=\"http:\/\/blogs.igalia.com\/itoral\/?p=26\">GTK+ unit tests brainstorming (conclusions))<\/a>,  so people interested in this topic can follow all the story behind the work on Gtk+ unit tests.<\/p>\n<p>The last GUADEC in Barcelona the <a title=\"build-brigade\" target=\"_blank\" href=\"http:\/\/live.gnome.org\/BuildBrigade\">build-brigade<\/a> was born. Some of the tasks of the build-brigade have to do with the deployment of a continuous integration system for Gnome, as well as to take care of testing and the integration of these tests, among other quality tools, into the continuous integration system. You can have a look <a title=\"GTK+ buildbot demo\" target=\"_blank\" href=\"http:\/\/gtktests-buildbot.igalia.com\/\">here<\/a> (Gtk+ integration loop), <a title=\"Gtk+ integration loop\" href=\"http:\/\/gtktests-buildbot.igalia.com\/gtk%2B\/\">here<\/a> (Gtk+ module integration loop details),  <a title=\"Gtk+ tests output\" target=\"_blank\" href=\"http:\/\/gtktests-buildbot.igalia.com\/gtk%2B\/gtk%2B-sarge\/builds\/69\/step-gtk%2B%20make-check.sh\/0\">here<\/a> (Gtk+ module tests results) and <a title=\"Gtk+ test code coverage\" href=\"http:\/\/gtktests-buildbot.igalia.com\/gnomeslave\/gtk+\/lcov\/gtk\/index.html\">here<\/a> (Gtk+ module tests code coverage statistics) to see a sample demo of what I mean for GTK+, but the idea would be to extend it to all gnome modules.<\/p>\n<p><a title=\"Igalia\" target=\"_blank\" href=\"http:\/\/www.igalia.com\">Igalia<\/a>, the company I work for, is interested in helping with this to become real, and thus, encouraged me and my partner -and also friend- <a title=\"Dape's blog\" href=\"http:\/\/blogs.igalia.com\/dape\">Dape<\/a>, to work on the build-brigade to this purpose. Dape has been working more on the continuous integration tool side (you can see his latest posts on his work <a title=\"buildbot demo\" href=\"http:\/\/blogs.igalia.com\/dape\/2006\/10\/03\/first-jhbuild-buildbot-prototypes-online\/\">here<\/a>, <a title=\"testing in buildbot\" href=\"http:\/\/blogs.igalia.com\/dape\/2006\/09\/27\/reporting-in-buildbot-and-some-fixes-in-fisterra\/\">here<\/a> or <a title=\"integration scripts\" target=\"_blank\" href=\"http:\/\/blogs.igalia.com\/dape\/2006\/09\/19\/jhbuild-buildbot-integration-scripts-done\/\">here<\/a>), while I&#8217;ve been working more on the testing side.<\/p>\n<p>Regarding my work on the testing side, <a title=\"Thomas's blog\" target=\"_blank\" href=\"http:\/\/thomas.apestaart.org\/log\/\">thomasvs<\/a>, another member of the build-brigade, told us that there was people inside GTK+ that would be interested in having some <a title=\"Check project page\" href=\"http:\/\/check.sourceforge.net\/\">Check<\/a> based unit tests. We were already using Check here in Igalia, so that was nice.<\/p>\n<p><a title=\"Fer's blog\" href=\"http:\/\/www.gnome.org\/~fherrera\/blog\/\">Fernando Herrera<\/a> warned me that there was a previous project of Sun that aimed the same target, <a target=\"_blank\" title=\"gtkvts\" href=\"http:\/\/cvs.gnome.org\/viewcvs\/gtkvts\/\">gtkvts<\/a>, and a forked (and maintained) version of LSB, so I first took a look at it, then I <a title=\"Asking gtk+ poople about gtkvts\" target=\"_blank\" href=\"http:\/\/mail.gnome.org\/archives\/build-brigade-list\/2006-August\/msg00000.html\">tried to (unseccessfuly) get feedback from GTK+ people<\/a> and finally drop my conclusions <a target=\"_blank\" title=\"conclusions on gtkvts\" href=\"http:\/\/mail.gnome.org\/archives\/build-brigade-list\/2006-August\/msg00006.html\">here<\/a> and <a title=\"final conclusions on gtkvts\" target=\"_blank\" href=\"http:\/\/mail.gnome.org\/archives\/build-brigade-list\/2006-September\/msg00014.html\">here<\/a>. Basically, I think that starting from scratch and trying to get feedback from GTK+ guys (using a buildbot demo as Fer suggested) would be better.<\/p>\n<p>Thus, I started writing some unit tests for GTK+ using Check and following a similar approach as the one pointed out by <a title=\"Stefan's page\" href=\"http:\/\/www.advogato.org\/person\/ensonic\/\">Stefan Kost<\/a> in his <a target=\"_blank\" title=\"Stefan's presentation\" href=\"http:\/\/www.buzztard.org\/files\/guadec2005_advanced_unit_testing.pdf\">GUADEC presentation on check based unit testing<\/a>,  while, at the same time, I tried to get them integrated into the buildbot demo that Dape was preparing. Once I had something functional to show, and integrated into the buildbot demo so people can see the whole picture underneath, <a title=\"A first proposal\" target=\"_blank\" href=\"http:\/\/mail.gnome.org\/archives\/gtk-devel-list\/2006-October\/msg00015.html\">I asked for feedback to Gtk+ guys<\/a>.<\/p>\n<p>After that, a successful <a target=\"_blank\" title=\"Brainstorming thread in gtk-devel\" href=\"http:\/\/mail.gnome.org\/archives\/gtk-devel-list\/2006-October\/msg00093.html\">brainstorming<\/a> was started by <a target=\"_blank\" title=\"Tim's blog\" href=\"http:\/\/gnome.feedjack.org\/user\/174\/\">Tim Janik<\/a> on this topic, and now, I&#8217;m trying to get a set of <a target=\"_blank\" title=\"Gathering conclusions from the brainstorming\" href=\"http:\/\/mail.gnome.org\/archives\/gtk-devel-list\/2006-November\/msg00039.html\">conclusions<\/a> to start the work in a proper way, which was the topic of my last post. I think this has been all till now \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This post tries to give some links and context to my last one (GTK+ unit tests brainstorming (conclusions)), so people interested in this topic can follow all the story behind the work on Gtk+ unit tests. The last GUADEC in Barcelona the build-brigade was born. Some of the tasks of the build-brigade have to do &hellip; <a href=\"https:\/\/blogs.igalia.com\/itoral\/2006\/11\/09\/gtk-unit-tests-the-whole-story\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;GTK+ unit tests, the whole story&#8221;<\/span><\/a><\/p>\n","protected":false},"author":16,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-27","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blogs.igalia.com\/itoral\/wp-json\/wp\/v2\/posts\/27","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.igalia.com\/itoral\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.igalia.com\/itoral\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.igalia.com\/itoral\/wp-json\/wp\/v2\/users\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.igalia.com\/itoral\/wp-json\/wp\/v2\/comments?post=27"}],"version-history":[{"count":0,"href":"https:\/\/blogs.igalia.com\/itoral\/wp-json\/wp\/v2\/posts\/27\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.igalia.com\/itoral\/wp-json\/wp\/v2\/media?parent=27"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.igalia.com\/itoral\/wp-json\/wp\/v2\/categories?post=27"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.igalia.com\/itoral\/wp-json\/wp\/v2\/tags?post=27"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}