Mimicc Release 0.9.0-rc3

Version 0.9.0-rc3 of the Mimicc toolchain is now available for download. The corresponding LLVM version is 11.0.1. Artifacts for Mac and Linux can be found on the Download page. The User Guide can be found here at mimicc.dev, or as a pdf in the release artifacts.

If you’ve just arrived here for the first time, welcome! Mimicc is a new tool, and this is its first publicly available release, so it will come as no surprise that you haven’t heard of it. A brief introduction is in order.

Mimicc is a tool for generating mocks from C and C++ source code. It works like a compiler, taking C and C++ declarations as input and producing function definitions as output, either pre-compiled as an object file, or as plain C/C++. For each Mimicc-generated mock, there is also an API which allows you to interact with its functions and methods at runtime for writing unit tests.

Mimicc is distributed as a complete, stand-alone, clang-based toolchain including the compiler runtime and static analyzer. Convenience scripts are provided (mimicc-env) for creating a “virtual environment” in your favorite shell (similar to Python’s virtualenv), allowing you to comfortably use the Mimicc toolchain alongside any other compiler installations you already have on your system, including clang.

Since this is the first time Mimicc is being openly distributed, your use of the tool certainly qualifies you as an “early adopter”. We really want this tool to be as useful to you as it is to us, so please do let us know what you think. We’ve done our best with the resources we have to make sure things work as expected, but as veterans of software development ourselves, we know and expect that issues come up when larger numbers of people start using something new. This is also reflected in the chosen version number for this release. We consider this a “beta-quality” release, and we’ll be incorporating your feedback to drive towards something with a quality worthy of the magic “1.0” release number. You can expect regular updates as issues are found and fixed.

Mimicc is not the only tool available for building mocks for C and C++, but we believe it’s special for a few reasons that we’ll elaborate on in future posts. In the mean time, we strongly recommend you check out the User Guide. It’s long and detailed, but we included a Quick Start guide that pretty well summarizes how you can use the tool in practice.