cfix: unit testing framework for C/C++ / News: Recent posts

cfix 1.6 released, simplifies authoring of mu

A new release of cfix, the unit testing framework for C and C++, is now available.

Besides some minor enhancements like extending the maximum permitted fixture name, cfix 1.6 introduces a new feature, Anonymous Thread Auto-Registration.

Updated binaries and source code are available on Sourceforge:

Posted by Johannes Passing 2010-01-31

cfix 1.5.1 released, fixing several issues

A new version of cfix, the unit testing framework for C and C++ on Windows, is now available for download. Despite fixing several minor issues, the new version resolves the following two issues that were reported by users:

* Definiting multiple WinUnit fixtures with setup/teardown routines in a single .cpp file leads to a compilation error
* A thread handle is leaked during execution of a test (#2889511)... read more

Posted by Johannes Passing 2009-11-07

cfix 1.4 released; cfix studio enters public beta

cfix 1.4, in addition to the existing feature of allowing test runs to be restricted to specific fixtures, now also allows single testcases to be run in isolation, which can be a great aid in debugging. Besides several minor fixes, the cfix API has been slightly enhanced and cfix now degrades more gracefully in case of dbghelp-issues.

As a major step forward, cfix' new sister project, cfix studio has now entered public beta. cfix studio, built on top of cfix 1.4, is an AddIn for Visual Studio 2005/2008 that adds C/C++ unit testing capabilities to the IDE -- including debugger integration, appropriate tool windows and built-in support for dealing with multiple architectures (32/64 bit).... read more

Posted by Johannes Passing 2009-06-23

cfix 1.3.0 released, introduces WinUnit compatibility

Today, cfix 1.3, the latest version of the open source unit testing framework for C/C++ on Windows, has been released. Besides several minor improvements, version 1.3 introduces source-level compatibility to WinUnit: That is, existing WinUnit tests can be recompiled into cfix tests without source modification. Along with the existing C and C++ APIs, the WinUnit API denotes the third API set supported by cfix. ... read more

Posted by Johannes Passing 2009-03-03

cfix 1.2.0 released

Version 1.2 introduces a number of improvements, the most important being improved support for C++: In addition to the existing C API, cfix 1.2 introduces a new, easier to use, C++ specific API.

For a quick overview of the new features, please refer to my blog post at

Binaries, source code, and documentation can be found on

Tutorials are available on (User C++) (User C) (Kernel C)... read more

Posted by Johannes Passing 2008-11-10

cfix 1.1.1 released

As discussed last week on, cfix 1.1.0 has suffered from a potential deadlocking issue when run in the VisualStudio 2008 debugger. cfix 1.1.1 mitigates this problem and should now work equally well with Visual Studio 2005 and 2008.

When run in a debugger, cfix now will not try to capture a stack trace for a failed assertion any more. These stack traces usually have been redundant to what the debugger provides, yet the logic to implement this has been the reason for the interference with the VS 2008 debugger. When run outside the debugger, cfix will capture and display a stack trace as before. ... read more

Posted by Johannes Passing 2008-08-26

cfix 1.1 introduces NT kernel mode unit tests

cfix 1.1, the latest version of the cfix unit testing framework has been released. cfix 1.1 introduces a variety of new features, the most important clearly being the ability to write kernel mode unit tests. That is, cfix now allows developers to author testcases that are run in kernel mode.

Read more about kernel mode unit testing and other new features of cfix 1.1 at

Posted by Johannes Passing 2008-07-14

cfix 1.0.1 adds support for Windows 2000

Despite the fact that mainstream support for Windows 2000 has ended in 2005 and the system is well on its way to retirement, Windows 2000 is still in wide use today. As such, it remains being an important target platform for many software packages.

The fact that cfix has not provided support for Windows 2000 was thus unfortunate -- after all, if Windows 2000 is among the target platforms of your software, you should be able to run your tests on this platform.... read more

Posted by Johannes Passing 2008-06-03

cfix 1.0.0 released

About one month after having released the first release candidate, cfix has now reached version 1.0.0 final.

The differences between RC1 and the final version are minor. A small number of bugs have emerged during the past weeks, most of which related to output and statistics tracking. Those bugs have been fixed in 1.0.0 final. Despite these fixes, there are no functional differences between the two releases.... read more

Posted by Johannes Passing 2008-04-03