Regression tests?

Robert Graham Merkel rgmerk@mira.net
Thu, 1 Feb 2001 10:50:53 +1100


Dan Kegel writes:

 > That's interesting.  So the crashes are usually in the C that 
 > handles the GUI, not in the C that handles the database or any of
 > the Scheme?

We get the occasional crash from all three, but the engine stuff is
probably the most reliable, and also easiest to debug if it does
crash.   Reasons for this include:

a)  It's exclusively C, and doesn't use external libraries as much as
the GUI stuff (it uses a bit of glib and the fileio uses libxml, but
that's about it).
b)  The flow of control is much easier to follow in the engine than in
the GUI code, which has callbacks flying all over the place.
c)  It's not filled with opaque GTK/GNOME types (opacity is great for
*design*, but for *debugging* you really need to be able to figure out
what's going on from the bottom up sometimes).
d)  Its interfaces are more precisely specified than anything else.

Of course, my viewpoint is somewhat biased because I spend most of my
time on GUI stuff rather than engine stuff.

 > And is hand-coded C GUI code less safe than, say, stuff driven by
 > a file output by libglade?

Yes and no.  Yes, glade code is probably safer than hand-coded stuff.
However, glade only does part of the job for you, and in my experience
so far, the bits that glade does for you tend to be the relatively
easy bits anyway.  It's where you've got widgets behaving dynamically
where the fun begins, and in my limited experience glade 
is of very limited help in those situations.

------------------------------------------------------------
Robert Merkel	                           rgmerk@mira.net

"We are excited and optimistic about its usage going 
forward and, yes, we can teach penguins the military 
close-order drill", Mark Norton, US Department of Defense. 
------------------------------------------------------------