Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re^2: Unit testing of C source code

by lima1 (Curate)
on Sep 28, 2007 at 13:17 UTC ( #641523=note: print w/replies, xml ) Need Help??


in reply to Re: Unit testing of C source code
in thread Unit testing of C source code

Yeah, but it is also quite easy to implement a Test::More like testsuite in C with libtab (http://jc.ngo.org.uk/trac-bin/trac.cgi/wiki/LibTap). This library is pretty small, so you can ship it with your program. I just added a 't' directory in my autoconf based project and put the libtab header and sources there. Tests look pretty much the same as in Perl:
# t/simple_tests.c #include <stdio.h> #include "tap.h" #include "something.h" int main(void) { plan_tests(1); /* * A simple example of a test. */ ok(1 + 1 == 2, "Basic arithmetic works"); return exit_status(); /* Return the correct exit code */ }
A simple t/Makefile.am could look like this:
# binaries check_PROGRAMS = simple_tests simple_tests_SOURCES = simple_tests.c tap.c ../src/something.c\ tap.h ../src/something.h simple_tests_CFLAGS = -Wall --pedantic -std=c99 -I ../src TESTS = simple_tests
Then add 't' in your main Makefile.am:
SUBDIRS = src t
Then you can run the tests with 'make check'.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (9)
As of 2019-10-14 17:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Notices?