This talk will introduce NovaProva, a new generation unit test framework for C programs.
I wrote NovaProva because I was sick of writing unit tests using the venerable but clunky CUnit library. CUnit looked easy when I started writing unit tests but I soon discovered it's limitations and ended up screaming in frustration. Meanwhile over 18 months the Cyrus IMAP server project has gone from 0 unit tests to 461, of which 277 are written in C with CUnit. So that's a big itch!
NovaProva starts with the same basic xUnit paradigm for testing, but extends some concepts in new directions (for example, NovaProva organises tests into trees rather than xUnit's two-level "suite and test" approach). Most importantly, NovaProva is designed using real world experience and modern technologies to make it much easier to write tests, and much easier to discover subtle bugs in the System Under Test, bugs that unit other test frameworks miss. Ideally NovaProva should make testing C code as easy as possible.