cmake/Tests/CMakeLib/testDebug.cxx
2023-12-07 09:12:54 +01:00

34 lines
1010 B
C++

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