|
|
@@ -0,0 +1,33 @@
|
|
|
+#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;
|
|
|
+}
|