Re: Gtk+ unit tests (brainstorming)



Tim Janik wrote:

ah, interesting. could you please explain why you consider it
such a big win?


Without it I think I usually write about 10% coverage, and imagine in my mind that it is 50% or so ;-) I'm guessing this is pretty common.

With it, it was easy to just browse and say "OK, this part isn't tested yet, this part is tested too much so we can speed up the tests," etc.

Also, if someone submits a patch with tests, you can see if their tests are even exercising their code.

It just gives you a way to know how well you're doing and see what else needs doing.

The special gcov replacement that bitrotted in dbus did a couple things:
 - merged results from multiple executables into one report
 - omitted the test harness itself from the report, i.e. without
   my special hacks if you have:
    if (test_failed())
      assert_not_reached();
   then gcov would count assert_not_reached() as an uncovered block
   in the stats.

Maybe some other changes on top of gcov too, I don't remember.

The report had coverage % for the whole project, each directory, and each file in one report. And then it spit out the annotated source for each file.

Anyone can cobble together this kind of info with enough work, part of the point is that --enable-coverage in configure, plus "make coverage-report" makes it so easy to run the report that it happens much more often.

Last time I was looking at fixing it I started hacking on a valgrind tool as a replacement for trying to keep up with the ever-changing gcov file format, but I didn't really work on that beyond posting a half-baked initial patch to the valgrind list.

Havoc




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]