-
Notifications
You must be signed in to change notification settings - Fork 8
/
README
127 lines (118 loc) · 6.45 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
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 |
| 3.9.x | <default>, -fno-exceptions | works |
| 4.0.x | <default>, -fno-exceptions | works |
| 5.0.x | <default>, -fno-exceptions | works |
| 6.0.x | <default>, -fno-exceptions | works |
| 7.x | <default>, -fno-exceptions | works |
| 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 |
+-------------------------------------------------------+