Visual Assert – The Unit Testing Add-In for Visual C++
cfix – C/C++ Unit Testing for Win32 and NT
 
 

cfix — Unit Testing Framework for C and C++

CFIX AT A GLANCE

xUnit testing framework for C/C++ cfix is an xUnit testing framework for C/C++, specialized for unmanaged Windows development (32/64 bit). cfix supports development of both user and kernel mode unit tests.

cifx unit tests are compiled and linked into a DLL. The testrunner application provided by cfix allows selectively running tests of one or more of such test-DLLs. Execution and behaviour in case of failing testcases can be highly customized. Moreover, cfix has been designed to work well in conjunction with the Windows Debuggers (Visual Studio, WinDBG).

As of cfix 1.3, the framework is source-compatible to WinUnit, i.e. a WinUnit test suite can be recompiled into a full-fledged cfix test suite.

Have a look at the Tool strategy chapter in the documentation to learn about the architecture of cfix.



FIRST STEPS
DownloadDownload the current release of cfix. The release contains both 32 bit (i386) and 64 bit (amd64) binaries. cfix runs on Windows 2000, XP, Server 2003, Vista, Server 2008, and Windows 7.

The installation does not require administrative privileges.
HelpRead the tutorial to see how to properly configure Visual Studio and how to create and run a test suite. All documentation is also contained in the download package as a Html Help (CHM) file.


NEWSRSS Feed

cfix 1.7 released, fixing several minor issues and featuring a new Event API

Version 1.7 of cfix, the unit testing framework for C and C++, is now available. In addition to several minor fixes and enhancements, the new version introduces a new Event API which allows users to implement custom loggers and diagnostics extensions.

Updated binaries and source code are available on Sourceforge.

2010-05-24 12:00

cfix 1.6 released, simplifies authoring of multi-threaded tests

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 major new feature, Anonymous Thread Auto-Registration.

Updated binaries and source code are available on Sourceforge.

2010-01-31 13:00

cfix finished 2nd in ATI's Automation Honors Awards, surpassed only by JUnit

Along with JUnit, JWebUnit, NUnit, and SimpleTest, cfix was one of the nominees for the Automated Testing Institute's Automation Honors Award 2009 in the category Best Open Source Unit Automated Test Tool. A few days ago, the results were published and cfix finished second -- surpassed only by JUnit, which finished 1st. If you are interested, there is a video in which the results are presented.

2009-12-19 15:30

cfix 1.5.1 released, fixing several minor 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:

Updated binaries and source code are available on Sourceforge.

2009-08-23 10:00

cfix 1.4 released; Visual Studio Addin 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).

Check out the beta release and see how it can speed up your unit testing efforts!

Updated cfix binaries and source code are now available for download.

2009-06-23 20:00

cfix 1.3.0 released, introduces WinUnit compatibility

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.

For a quick overview of the new features, please refer to the respective post on JP's blog.

Updated binaries and source code are now available for download.

2009-03-03 20:00

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 the respective post on JP's blog.

Updated binaries and source code are now available for download.

2008-11-10 11:00

cfix 1.1.1 released

As discussed last week, 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.

Updated binaries and source code are now available for download.

2008-08-26 11:13

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 on JP's blog.

2008-07-14 14:49

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.

cfix 1.0.1 remedies this shortcoming and adds Windows 2000 i386 SP4 as an supported platform.

2008-06-03 18:42