Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

Re: Unit testing of C source code

by Corion (Patriarch)
on Sep 28, 2007 at 11:04 UTC ( #641508=note: print w/replies, xml ) Need Help??

in reply to Unit testing of C source code

I would approach the problem by creating an external C program that does little more than wrap your API. It would take the parameters from the command line or STDIN, call the API function and output the result(s) to STDOUT.

If you have this program, make sure that it can be built automatically.

Then, testing the API is very simple - you compile the program and then run tests using Test::Simple or Test::Base that call the external program and verify its output against the known output.

This approach is the easiest approach because you don't need to learn new tools besides the Perl test tools. If you have time/resources to learn new tools, wrapping the library using Inline::C or XS and then calling it directly from Perl would give you faster tests and more interactivity with the library - for example if that library has a concept of "handles", you might need this.

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://641508]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (2)
As of 2023-06-03 03:55 GMT
Find Nodes?
    Voting Booth?
    How often do you go to conferences?

    Results (6 votes). Check out past polls.