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