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

#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;
}