Giter Club home page Giter Club logo

tpunitpp's Introduction

tpunit++
========
A highly portable, simple C++ xUnit library contained in
a single header. Documentation and downloads are available
at http://github.com/tpounds/tpunitpp.

tpunit++ is licensed under the MIT License.
(http://www.opensource.org/licenses/mit-license.php)

Installation
============
Add tpunit++.hpp anywhere to your C++ compiler's include path,
add test cases and compile together with tpunit++main.cpp or
a custom user-defined main method.

Tested Compilers
================
tpunit++ has been exhaustively tested on several popular compiler versions,
however, it has not been tested with everything (e.g. PGI, SunPro, etc.). The
following compatibility information is provided as a representative sample of
compiler versions that the vanilla library is expected to work with out of the
box.

Notes:

Some compilers have issues using the fully qualified class with namespace
syntax (e.g. ns::class). Try the 'using' directive to workaround the issue.

e.g.  using namespace tpunit;
      using tpunit::TestFixture;

The primary issue preventing tpunit++ from working with a compiler is a lack
of member function template specialization. This feature is required to support
tpunit++'s registration methods (e.g. After, Before, Test). It is expected that
tpunit++ will work with any compiler supporting this functionality.

Additionally, some linkers do not work with file names that contain non-
alphanumeric characters (e.g. tpunit++main.cpp). Try renaming these files
to include only alphanumeric characters or configure the compiler to emit
object files that do not include illegal characters.

+-------------------------------------------------------+
| version         | flags                      | status |
+-------------------------------------------------------+
| GCC (http://gcc.gnu.org)                              |
+-------------------------------------------------------+
| 2.95.3          | <default>, -fno-exceptions | works  |
| 3.0.4           | <default>, -fno-exceptions | works  |
| 3.1.1           | <default>, -fno-exceptions | works  |
| 3.2.3           | <default>, -fno-exceptions | works  |
| 3.3.6           | <default>, -fno-exceptions | works  |
| 3.4.6           | <default>, -fno-exceptions | works  |
| 4.0.4           | <default>, -fno-exceptions | works  |
| 4.1.2           | <default>, -fno-exceptions | works  |
| 4.2.4           | <default>, -fno-exceptions | works  |
| 4.3.6           | <default>, -fno-exceptions | works  |
| 4.4.7           | <default>, -fno-exceptions | works  |
| 4.5.3           | <default>, -fno-exceptions | works  |
| 4.6.3           | <default>, -fno-exceptions | works  |
| 4.7.4           | <default>, -fno-exceptions | works  |
| 4.8.4           | <default>, -fno-exceptions | works  |
| 4.9.2           | <default>, -fno-exceptions | works  |
| 5.1.0           | <default>, -fno-exceptions | works  |
| 5.2.0           | <default>, -fno-exceptions | works  |
+-------------------------------------------------------+
| MSVC++ (http://www.microsoft.com)                     |
+-------------------------------------------------------+
| 6.0             | <default>, /EHsc           | works  |
| .NET 2002 (7.0) | <default>, /EHsc           | works  |
| .NET 2003 (7.1) | <default>, /EHsc           | works  |
| 2005 (8.0)      | <default>, /EHsc           | works  |
| 2008 (9.0)      | <default>, /EHsc           | works  |
| 2010 (10.0)     | <default>, /EHsc           | works  |
| 2012 (11.0)     | <default>, /EHsc           | works  |
| 2013 (12.0)     | <default>, /EHsc           | works  |
+-------------------------------------------------------+
| Borland C++ (http://www.borland.com)                  |
+-------------------------------------------------------+
| 5.5             | <default>                  | works  |
+-------------------------------------------------------+
| Open Watcom (http://www.openwatcom.org)               |
+-------------------------------------------------------+
| 1.0             | <default>                  | broken |
| 1.1             | <default>                  | broken |
| 1.2             | <default>                  | broken |
| 1.3             | <default>                  | broken |
| 1.4             | <default>                  | works  |
| 1.5             | <default>                  | works  |
| 1.6             | <default>                  | works  |
| 1.7             | <default>                  | works  |
| 1.8             | <default>                  | works  |
| 1.9             | <default>                  | works  |
+-------------------------------------------------------+
| Clang (http://clang.llvm.org/)                        |
+-------------------------------------------------------+
| 2.6             | <default>, -fno-exceptions | works  |
| 2.7             | <default>, -fno-exceptions | works  |
| 2.8             | <default>, -fno-exceptions | works  |
| 2.9             | <default>, -fno-exceptions | works  |
| 3.0             | <default>, -fno-exceptions | works  |
| 3.1             | <default>, -fno-exceptions | works  |
| 3.2             | <default>, -fno-exceptions | works  |
| 3.3             | <default>, -fno-exceptions | works  |
| 3.4.x           | <default>, -fno-exceptions | works  |
| 3.5.x           | <default>, -fno-exceptions | works  |
| 3.6.x           | <default>, -fno-exceptions | works  |
| 3.7.x           | <default>, -fno-exceptions | works  |
| 3.8.x           | <default>, -fno-exceptions | works  |
+-------------------------------------------------------+
| Digital Mars C++ (http://www.digitalmars.com/)        |
+-------------------------------------------------------+
| 7.7B1n          | <default>, -Ae             | broken |
| 8.1B5n          | <default>, -Ae             | broken |
| 8.20n           | <default>, -Ae             | broken |
| 8.28.5n         | <default>, -Ae             | broken |
| 8.29.21n        | <default>, -Ae             | works  |
| 8.30.11n        | <default>, -Ae             | works  |
| 8.40.2n         | <default>, -Ae             | works  |
| 8.52.5n         | <default>, -Ae             | works  |
| 8.57.0n         | <default>, -Ae             | works  |
+-------------------------------------------------------+

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.