22#ifndef INCLUDED_MOTU_LeakCheck
23#define INCLUDED_MOTU_LeakCheck 1
37template <
class T1,
class T2>
40const pair <T1, T2>&
p) {
41 return s<<
'['<<
p.first<<
":"<<
p.second<<
']';
64template <
class Value,
class Operation>
66 bool succeeded =
false;
69 for (
long count = 0; !succeeded && !failed &&
count < max_iters; ++
count) {
73#ifndef EH_NO_EXCEPTIONS
79#ifndef EH_NO_EXCEPTIONS
102template <
class Value,
class Operation>
104 bool succeeded =
false;
107 for (
long count = 0; !succeeded && !failed &&
count < max_iters; ++
count) {
110#ifndef EH_NO_EXCEPTIONS
116#ifndef EH_NO_EXCEPTIONS
144template <
class Value,
class Operation>
146 bool succeeded =
false;
149 for (
long count = 0; !succeeded && !failed &&
count < max_iters;
count++ ) {
155#ifndef EH_NO_EXCEPTIONS
162# ifndef EH_NO_EXCEPTIONS
166 bool unchanged = (
dup ==
v);
171 typedef typename Value::value_type value_type;
172 EH_STD::ostream_iterator<value_type> o(EH_STD::cerr,
" ");
173 EH_STD::cerr<<
"EH test FAILED:\nStrong guaranee failed !\n";
174 EH_STD::copy(
dup.begin(),
dup.end(), o);
175 EH_STD::cerr<<
"\nOriginal is:\n";
176 EH_STD::copy(
v.begin(),
v.end(), o);
177 EH_STD::cerr<<EH_STD::endl;
void ConstCheck(const Value &v, const Operation &op, long max_iters=2000000)
EH_BEGIN_NAMESPACE ostream & operator<<(ostream &s, const pair< T1, T2 > &p)
void StrongCheck(const Value &v, const Operation &op, long max_iters=2000000)
void WeakCheck(const Value &v, const Operation &op, long max_iters=2000000)
EH_END_NAMESPACE void CheckInvariant(const C &)
#define EH_BEGIN_NAMESPACE
GLuint GLuint GLsizei count
TestController gTestController
static void BeginLeakDetection()
static bool ReportLeaked()
static void CancelFailureCountdown()
static void SetFailureCountdown(long n)
static void ReportSuccess(int)
static void SetCurrentTestCategory(const char *str)
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value