iutest

August 20, 2022 ยท View on GitHub

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
support

iutest

iutest - iris unit test framework

Welcome to the iutest

iutest is framework for writing C++ tests.

Features

  • 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)

Platforms

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

Compiler

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

Documentation

Project page

Support

Tools

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

Tests

CImasterdevelopTests
AppVeyorAppVeyor Build statusAppVeyor Build statusWindows, Visual Studio, Cygwin, MINGW, NuGet, Visual Studio PREFAST (Code Analysis)
Azure PipelinesBuild StatusBuild StatusConfig matrix test, Visual Studio build option matrix
BitriseBitrise iOS Build StatusBitrise iOS Build StatusiOS
Bitrise Android Build StatusBitrise Android Build StatusAndroid
Buddybuddy branchbuddy branchbenchmark test
CircleCICircleCICircleCIBasic test with opmimize options
Cirrus CICirrus Build StatusCirrus Build Statusg++/clang std=c++14,17.. Basic tests, FreeBSD Basic tests
CodacyCodacy BadgeCodacy BadgeShellcheck, Cppcheck, PyLint, etc...
CodefreshCodefresh build statusCodefresh build statusBuild tools/docker/Dockerfile, Benchmark test, Gcc 8/9 basic test
CodeshipCodeship Status for srz-zumix/iutestCodeship Status for srz-zumix/iutestCheck coding standard of the project
Coverity ScanCoverity Scan Build StatusCoverity Scan
Drone CloudDrone Build StatusBuild Statusgcc/clang each version Basic test
GitHub ActionsGitHub Actions StatusGitHub Actions StatusBasic test (Windows LLVM clang and mingw and zapcc), EditorConfig Lint, Include What You Use, arm-none-eabi-gcc build
GitHub Actions - Google Test CompatibleGoogle Test CompatibleGoogle Test CompatibleGoogle Test/Mock compatible test for released versions
GitHub Actions - reviewdogGitHub Actions Reviewdog StatusReviewdog (shellcheck, cpplint)
GitHub Actions - Update GitHubPagesUpdate GitHubPages StatusUpdate documents
GitLab CIGitLab CI pipeline statusGitLab CI pipeline statusGoogle Test/Google Mock compatibility (HEAD)
JFrog Pipelines--gcc/clang Baisc test
PeakflowPeakflow Build StatusPeakflow Build Statusfused-src tests
RazoropsRazorOps Build StatusRazorOps Build Statusgcc3 Basic test
ScrutinizerScrutinizer Build StatusScrutinizer Build Statusiuwandbox tests
SemaphoreSemaphore Build StatusSemaphore Build StatusScan-build
Semaphore 2.0Semaphore 2.0 Build StatusSemaphore 2.0 Build StatusScan-build, Basic test, sample run
Travis CITravis-CI Build StatusTravis-CI Build StatusBasic tests, Coverity-scan

Basic test

Compiler and OS tests status

Coverage

Coveralls Coverage Status

Codecov
Codecov

Contributing change

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

License

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.