Quick Links: |
Provide test utilities for components above bsl
.
More...
Go to the source code of this file.
Classes | |
struct | bslim::TestUtil |
Namespaces | |
namespace | bslim |
Defines | |
#define | BSLIM_TESTUTIL_ASSERT(X) aSsErT(!(X), #X, __LINE__); |
#define | BSLIM_TESTUTIL_DEBUG_REP(X) BloombergLP::bslim::TestUtil::debugRep(X) |
#define | BSLIM_TESTUTIL_LOOP0_ASSERT BSLIM_TESTUTIL_ASSERT |
#define | BSLIM_TESTUTIL_LOOP_ASSERT(I, X) |
#define | BSLIM_TESTUTIL_LOOP1_ASSERT BSLIM_TESTUTIL_LOOP_ASSERT |
#define | BSLIM_TESTUTIL_LOOP2_ASSERT(I, J, X) |
#define | BSLIM_TESTUTIL_LOOP3_ASSERT(I, J, K, X) |
#define | BSLIM_TESTUTIL_LOOP4_ASSERT(I, J, K, L, X) |
#define | BSLIM_TESTUTIL_LOOP5_ASSERT(I, J, K, L, M, X) |
#define | BSLIM_TESTUTIL_LOOP6_ASSERT(I, J, K, L, M, N, X) |
#define | BSLIM_TESTUTIL_LOOP7_ASSERT(I, J, K, L, M, N, O, X) |
#define | BSLIM_TESTUTIL_LOOP8_ASSERT(I, J, K, L, M, N, O, V, X) |
#define | BSLIM_TESTUTIL_EXPAND(X) X |
#define | BSLIM_TESTUTIL_NUM_ARGS_IMPL(X8, X7, X6, X5, X4, X3, X2, X1, X0,N,...) N |
#define | BSLIM_TESTUTIL_NUM_ARGS(...) |
#define | BSLIM_TESTUTIL_LOOPN_ASSERT_IMPL(N,...) BSLIM_TESTUTIL_EXPAND(BSLIM_TESTUTIL_LOOP ## N ## _ASSERT(__VA_ARGS__)) |
#define | BSLIM_TESTUTIL_LOOPN_ASSERT(N,...) BSLIM_TESTUTIL_LOOPN_ASSERT_IMPL(N, __VA_ARGS__) |
#define | BSLIM_TESTUTIL_ASSERTV(...) |
#define | BSLIM_TESTUTIL_Q(X) bsl::cout << "<| " #X " |>" << bsl::endl; |
#define | BSLIM_TESTUTIL_P(X) bsl::cout << #X " = " << BSLIM_TESTUTIL_DEBUG_REP(X) << bsl::endl; |
#define | BSLIM_TESTUTIL_P_(X) bsl::cout << #X " = " << BSLIM_TESTUTIL_DEBUG_REP(X) << ", " << bsl::flush; |
#define | BSLIM_TESTUTIL_L_ __LINE__ |
#define | BSLIM_TESTUTIL_T_ bsl::cout << "\t" << bsl::flush; |
#define BSLIM_TESTUTIL_ASSERT | ( | X | ) | aSsErT(!(X), #X, __LINE__); |
#define BSLIM_TESTUTIL_DEBUG_REP | ( | X | ) | BloombergLP::bslim::TestUtil::debugRep(X) |
#define BSLIM_TESTUTIL_LOOP0_ASSERT BSLIM_TESTUTIL_ASSERT |
#define BSLIM_TESTUTIL_LOOP_ASSERT | ( | I, | ||
X | ||||
) |
if (!(X)) { bsl::cout << #I ": " << BSLIM_TESTUTIL_DEBUG_REP(I) << "\n"; \ aSsErT(1, #X, __LINE__); }
#define BSLIM_TESTUTIL_LOOP1_ASSERT BSLIM_TESTUTIL_LOOP_ASSERT |
#define BSLIM_TESTUTIL_LOOP2_ASSERT | ( | I, | ||
J, | ||||
X | ||||
) |
if (!(X)) { bsl::cout << #I ": " << BSLIM_TESTUTIL_DEBUG_REP(I) << "\t" \ << #J ": " << BSLIM_TESTUTIL_DEBUG_REP(J) << "\n"; \ aSsErT(1, #X, __LINE__); }
#define BSLIM_TESTUTIL_LOOP3_ASSERT | ( | I, | ||
J, | ||||
K, | ||||
X | ||||
) |
if (!(X)) { bsl::cout << #I ": " << BSLIM_TESTUTIL_DEBUG_REP(I) << "\t" \ << #J ": " << BSLIM_TESTUTIL_DEBUG_REP(J) << "\t" \ << #K ": " << BSLIM_TESTUTIL_DEBUG_REP(K) << "\n"; \ aSsErT(1, #X, __LINE__); }
#define BSLIM_TESTUTIL_LOOP4_ASSERT | ( | I, | ||
J, | ||||
K, | ||||
L, | ||||
X | ||||
) |
if (!(X)) { bsl::cout << #I ": " << BSLIM_TESTUTIL_DEBUG_REP(I) << "\t" \ << #J ": " << BSLIM_TESTUTIL_DEBUG_REP(J) << "\t" \ << #K ": " << BSLIM_TESTUTIL_DEBUG_REP(K) << "\t" \ << #L ": " << BSLIM_TESTUTIL_DEBUG_REP(L) << "\n"; \ aSsErT(1, #X, __LINE__); }
#define BSLIM_TESTUTIL_LOOP5_ASSERT | ( | I, | ||
J, | ||||
K, | ||||
L, | ||||
M, | ||||
X | ||||
) |
if (!(X)) { bsl::cout << #I ": " << BSLIM_TESTUTIL_DEBUG_REP(I) << "\t" \ << #J ": " << BSLIM_TESTUTIL_DEBUG_REP(J) << "\t" \ << #K ": " << BSLIM_TESTUTIL_DEBUG_REP(K) << "\t" \ << #L ": " << BSLIM_TESTUTIL_DEBUG_REP(L) << "\t" \ << #M ": " << BSLIM_TESTUTIL_DEBUG_REP(M) << "\n"; \ aSsErT(1, #X, __LINE__); }
#define BSLIM_TESTUTIL_LOOP6_ASSERT | ( | I, | ||
J, | ||||
K, | ||||
L, | ||||
M, | ||||
N, | ||||
X | ||||
) |
if (!(X)) { bsl::cout << #I ": " << BSLIM_TESTUTIL_DEBUG_REP(I) << "\t" \ << #J ": " << BSLIM_TESTUTIL_DEBUG_REP(J) << "\t" \ << #K ": " << BSLIM_TESTUTIL_DEBUG_REP(K) << "\t" \ << #L ": " << BSLIM_TESTUTIL_DEBUG_REP(L) << "\t" \ << #M ": " << BSLIM_TESTUTIL_DEBUG_REP(M) << "\t" \ << #N ": " << BSLIM_TESTUTIL_DEBUG_REP(N) << "\n"; \ aSsErT(1, #X, __LINE__); }
#define BSLIM_TESTUTIL_LOOP7_ASSERT | ( | I, | ||
J, | ||||
K, | ||||
L, | ||||
M, | ||||
N, | ||||
O, | ||||
X | ||||
) |
if (!(X)) { bsl::cout << #I ": " << BSLIM_TESTUTIL_DEBUG_REP(I) << "\t" \ << #J ": " << BSLIM_TESTUTIL_DEBUG_REP(J) << "\t" \ << #K ": " << BSLIM_TESTUTIL_DEBUG_REP(K) << "\t" \ << #L ": " << BSLIM_TESTUTIL_DEBUG_REP(L) << "\t" \ << #M ": " << BSLIM_TESTUTIL_DEBUG_REP(M) << "\t" \ << #N ": " << BSLIM_TESTUTIL_DEBUG_REP(N) << "\t" \ << #O ": " << BSLIM_TESTUTIL_DEBUG_REP(O) << "\n"; \ aSsErT(1, #X, __LINE__); }
#define BSLIM_TESTUTIL_LOOP8_ASSERT | ( | I, | ||
J, | ||||
K, | ||||
L, | ||||
M, | ||||
N, | ||||
O, | ||||
V, | ||||
X | ||||
) |
if (!(X)) { bsl::cout << #I ": " << BSLIM_TESTUTIL_DEBUG_REP(I) << "\t" \ << #J ": " << BSLIM_TESTUTIL_DEBUG_REP(J) << "\t" \ << #K ": " << BSLIM_TESTUTIL_DEBUG_REP(K) << "\t" \ << #L ": " << BSLIM_TESTUTIL_DEBUG_REP(L) << "\t" \ << #M ": " << BSLIM_TESTUTIL_DEBUG_REP(M) << "\t" \ << #N ": " << BSLIM_TESTUTIL_DEBUG_REP(N) << "\t" \ << #O ": " << BSLIM_TESTUTIL_DEBUG_REP(O) << "\t" \ << #V ": " << BSLIM_TESTUTIL_DEBUG_REP(V) << "\n"; \ aSsErT(1, #X, __LINE__); }
#define BSLIM_TESTUTIL_EXPAND | ( | X | ) | X |
#define BSLIM_TESTUTIL_NUM_ARGS_IMPL | ( | X8, | ||
X7, | ||||
X6, | ||||
X5, | ||||
X4, | ||||
X3, | ||||
X2, | ||||
X1, | ||||
X0, | ||||
N, | ||||
... | ||||
) | N |
#define BSLIM_TESTUTIL_NUM_ARGS | ( | ... | ) |
BSLIM_TESTUTIL_EXPAND(BSLIM_TESTUTIL_NUM_ARGS_IMPL( \ __VA_ARGS__, 8, 7, 6, 5, 4, 3, 2, 1, 0, ""))
#define BSLIM_TESTUTIL_LOOPN_ASSERT_IMPL | ( | N, | ||
... | ||||
) | BSLIM_TESTUTIL_EXPAND(BSLIM_TESTUTIL_LOOP ## N ## _ASSERT(__VA_ARGS__)) |
#define BSLIM_TESTUTIL_LOOPN_ASSERT | ( | N, | ||
... | ||||
) | BSLIM_TESTUTIL_LOOPN_ASSERT_IMPL(N, __VA_ARGS__) |
#define BSLIM_TESTUTIL_ASSERTV | ( | ... | ) |
BSLIM_TESTUTIL_LOOPN_ASSERT( \ BSLIM_TESTUTIL_NUM_ARGS(__VA_ARGS__), __VA_ARGS__)
#define BSLIM_TESTUTIL_Q | ( | X | ) | bsl::cout << "<| " #X " |>" << bsl::endl; |
#define BSLIM_TESTUTIL_P | ( | X | ) | bsl::cout << #X " = " << BSLIM_TESTUTIL_DEBUG_REP(X) << bsl::endl; |
#define BSLIM_TESTUTIL_P_ | ( | X | ) | bsl::cout << #X " = " << BSLIM_TESTUTIL_DEBUG_REP(X) << ", " << bsl::flush; |
#define BSLIM_TESTUTIL_L_ __LINE__ |
#define BSLIM_TESTUTIL_T_ bsl::cout << "\t" << bsl::flush; |