Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re: Unit testing of C source code

by Corion (Patriarch)
on Sep 28, 2007 at 11:04 UTC ( [id://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?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (6)
As of 2024-04-19 14:17 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found