You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1010 B
34 lines
1010 B
1 year ago
|
#include <iostream>
|
||
|
#include <string>
|
||
|
|
||
|
#include "cmDebugTools.h"
|
||
|
|
||
|
#define check(expr, value) \
|
||
|
do { \
|
||
|
if (expr != value) { \
|
||
|
std::cerr << "Failed to return " #value " for " #expr << std::endl; \
|
||
|
retval = 1; \
|
||
|
} \
|
||
|
} while (false)
|
||
|
|
||
|
int testDebug(int argc, char** const /*argv*/)
|
||
|
{
|
||
|
if (argc != 1) {
|
||
|
std::cout << "Invalid arguments.\n";
|
||
|
return -1;
|
||
|
}
|
||
|
|
||
|
int retval = 0;
|
||
|
check(CM_DBG(true), true);
|
||
|
check(CM_DBG(4), 4);
|
||
|
check(CM_DBG(1.), 1.);
|
||
|
check(CM_DBG('c'), 'c');
|
||
|
check(CM_DBG("literal string"), std::string("literal string"));
|
||
|
|
||
|
std::string str = "std string";
|
||
|
check(CM_DBG(str), "std string");
|
||
|
check(CM_DBG(str.empty()), false);
|
||
|
|
||
|
return retval;
|
||
|
}
|