On Sat, Sep 26, 2009 at 10:45:17AM -0400, Mark Mielke wrote: > On 09/26/2009 10:04 AM, Simon Riggs wrote: > >>If you think there's > >>something useful I could do, let me know and I'll take a look. > >I feel like I need a better way of unit testing new code. Some of the > >code in the patch is to handle corner cases, so recreating them is > >fairly hard. It is a nagging feeling that I am missing some knowledge > >here and would welcome some insight, or research, into better ways of > >doing general case unit testing. > > You might try and steal ideas from EasyMock / PowerMock - but not > sure how well the ideas map to C. > > Generally it means allowing the functions to be called from a "mock" > environment, where subroutine calls that might be called are stubbed > out to return sample data that would simulate your scenario. Object > oriented languages that require every object to provide an interface > where most object methods can be overridden are more ideal for > performing this sort of test. > > I rarely ever see this sort of stuff in FOSS projects, and never > that I can remember in FOSS C projects. It's not easy, though. > > I assume you are doing it through code changing right now. > Commenting out lines, replacing them with others, etc? > > Cheers, > mark > > -- > Mark Mielke<m...@mielke.cc> > >
There are a variety of projects dedicated to creating C unit test frameworks. I don't have a lot of experience with them, but I have heard good things about check and cunit. Here's a link I found with a longer list of frameworks. http://www.opensourcetesting.org/unit_c.php -- --Dan -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers