the Compartmented Robust Posix C++ Unit Test system | hosted by |
---|
The minimum requirement for installing and using crpcut is a modern C++ compiler, a highly POSIX compliant operating system and CMake. The short version is that any modern Linux will do fine.
In addition to the minimum, you are encouraged to build on a machine with valgrind and Ruby.
Your C++ compiler must support:
Variadic macros are required by C99, and are available on most C++ compilers. They will be required by C++ compilers soon.
decltype is a new keyword coming to C++ that gives the type of an expression, similarly to how sizeof gives the size of the type of an expression. GCC has since long had another extension, typeof, which doesn't quite do the same thing, but it's close enough to work.
_Exit()
A function standardized for C99, and coming to C++. It is
similar to exit()
except that it
exits immediately, without running any at-exit handlers
or static destructors.
GCC supports these since long, and crpcut has been verified to work with versions 4.1.2, 4.3.2, 4.3.4, 4.4.1 and 4.4.2.
Intel ICC version 1.11 is also verified to work, but requires the boost library to get access to tr1/type_traits and tr1/array. It has not received as extensive testing.
[3] Otherwise,
mach_timebase_info
() and
mach_absolute_time
() will be
used.
If those too are unavailable,
setitimer
(ITIMER_REAL
)
and
getitimer
(ITIMER_REAL
)
will be used.
If even that fails,
gettimeofday
() will be
used.
[4] If unavailable,
setitimer
(ITIMER_PROF
)
and
getitimer
(ITIMER_PROF
)
will be used.
If even that fails,
setitimer
(ITIMER_VIRT
)
and
getitimer
(ITIMER_VIRT
)
will be used.
[5] A runtime dependency that is only required when actually using the supported match functionality for regular expressions.
[6] If available,
epoll_create
(),
epoll_ctl
() and
epoll_wait
() will be used instead.