Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

AppVeyor Build status Azure Pipelines Build Status Bitrise iOS Build Status Buddy branch CircleCI Cirrus Build Status Codefresh build status Codeship Status for srz-zumix/iutest Drone Build Status GitHub Actions Status GitLab CI pipeline status Peakflow Build Status RazorOps Build Status Scrutinizer Build Status Semaphore Build Status Semaphore 2.0 Build Status Travis-CI Build Status

Codacy Badge Language grade: C/C++ Language grade: Python Codecov Coveralls Coverage Status Coverity Scan Build Status GuardRails badge GitHub Actions reviewdog Status
New(3-clause) BSD License NuGet version


iutest - iris unit test framework

Welcome to the iutest

iutest is framework for writing C++ tests.


  • An XUnit test framework.
  • Header only, no external dependencies.
  • Test discovery.
  • XML/JUnit test report generation.
  • Assertions.
    • A rich set of assertions.
    • User-defined assertions.
    • Power-assert (expression-assert).
    • Matchers.
    • Fatal and non-fatal, warning, assume failures.
  • Value-parameterized tests.
  • Type-parameterized tests.
  • Advanced parameter generation.
    • Pairwise parameter.
    • CSV parameter.
    • Any parameter.
    • Random parameter.
    • Multiple parameters can be concatenated.
  • Test packages (grouping).
  • Skip test.
  • Private member test.
  • Japanese test name (C++03).
  • Various options for running the tests.
  • Compatible with Google Test. (1.5 or later)


  • Windows
  • Linux
  • MacOS
  • FreeBSD
  • Cygwin
  • MinGW


  • VC++6~
  • GCC 3.4.6~
  • Clang 3.1~
  • Intel Compiler
  • Zapcc


Project page



  • fused
    make fused-src.
  • Twilio
    notifies the test results using Twilio
  • Wandbox (deprecated) tools to make use of the iutest in Wandbox


CI master develop Tests
AppVeyor AppVeyor Build status AppVeyor Build status Windows, Visual Studio, Cygwin, MINGW, NuGet, Visual Studio PREFAST (Code Analysis)
Azure Pipelines Build Status Build Status Config matrix test, Visual Studio build option matrix
Bitrise Bitrise iOS Build Status Bitrise iOS Build Status iOS
Bitrise Android Build Status Bitrise Android Build Status Android
Buddy buddy branch buddy branch benchmark test
CircleCI CircleCI CircleCI Basic test with opmimize options
Cirrus CI Cirrus Build Status Cirrus Build Status g++/clang std=c++14,17.. Basic tests, FreeBSD Basic tests
Codacy Codacy Badge Codacy Badge Shellcheck, Cppcheck, PyLint, etc...
Codefresh Codefresh build status Codefresh build status Build tools/docker/Dockerfile, Benchmark test, Gcc 8/9 basic test
Codeship Codeship Status for srz-zumix/iutest Codeship Status for srz-zumix/iutest Check coding standard of the project
Coverity Scan Coverity Scan Build Status Coverity Scan
Drone Cloud Drone Build Status Build Status gcc/clang each version Basic test
GitHub Actions GitHub Actions Status GitHub Actions Status Basic test (Windows LLVM clang and mingw and zapcc), EditorConfig Lint, Include What You Use, arm-none-eabi-gcc build
GitHub Actions - Google Test Compatible Google Test Compatible Google Test Compatible Google Test/Mock compatible test for released versions
GitHub Actions - reviewdog GitHub Actions Reviewdog Status Reviewdog (shellcheck, cpplint)
GitHub Actions - Update GitHubPages Update GitHubPages Status Update documents
GitLab CI GitLab CI pipeline status GitLab CI pipeline status Google Test/Google Mock compatibility (HEAD)
JFrog Pipelines - - gcc/clang Baisc test
Peakflow Peakflow Build Status Peakflow Build Status fused-src tests
Razorops RazorOps Build Status RazorOps Build Status gcc3 Basic test
Scrutinizer Scrutinizer Build Status Scrutinizer Build Status iuwandbox tests
Semaphore Semaphore Build Status Semaphore Build Status Scan-build
Semaphore 2.0 Semaphore 2.0 Build Status Semaphore 2.0 Build Status Scan-build, Basic test, sample run
Travis CI Travis-CI Build Status Travis-CI Build Status Basic tests, Coverity-scan

Basic test

Compiler and OS tests status


Coveralls Coverage Status


Contributing change

Please read the for details on how to contribute to this project.


Copyright (c) 2011-2021, Takazumi Shirayanagi,
All rights reserved.

This software is released under the New(3-clause) BSD License, see LICENSE

If you distribute iutest, you might enjoy the [LICENSE-MIXING](docs/LICENSE-MIXING) document.