summaryrefslogtreecommitdiffstats
path: root/Tests/MathTest/MathTestExec.cxx
diff options
context:
space:
mode:
authorDaniel Franke <franke@edf-online.de>2018-05-18 19:59:46 (GMT)
committerBrad King <brad.king@kitware.com>2018-07-03 13:55:58 (GMT)
commit5dbee9d2d0f68e1fc343d04ac00a4a35d43df6fa (patch)
tree85375da2fabdfbc7982fe4ba58a76acc3167c71e /Tests/MathTest/MathTestExec.cxx
parent8661e7052c4f711f13e7168231276e23c4c0defd (diff)
downloadCMake-5dbee9d2d0f68e1fc343d04ac00a4a35d43df6fa.zip
CMake-5dbee9d2d0f68e1fc343d04ac00a4a35d43df6fa.tar.gz
CMake-5dbee9d2d0f68e1fc343d04ac00a4a35d43df6fa.tar.bz2
math: Add options to calculate and format output as hexadecimal
Diffstat (limited to 'Tests/MathTest/MathTestExec.cxx')
-rw-r--r--Tests/MathTest/MathTestExec.cxx40
1 files changed, 31 insertions, 9 deletions
diff --git a/Tests/MathTest/MathTestExec.cxx b/Tests/MathTest/MathTestExec.cxx
index 124eba4..fbcddc4 100644
--- a/Tests/MathTest/MathTestExec.cxx
+++ b/Tests/MathTest/MathTestExec.cxx
@@ -1,21 +1,43 @@
#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
-#define TEST_EXPRESSION(x, y) \
- if ((x) != (y)) { \
- printf("Problem with EXPR: Expression: \"%s\" in C returns %d while in " \
- "CMake returns: %d\n", \
- #x, (x), (y)); \
- res++; \
+int res = 0;
+bool print = false;
+
+void test_expression(int x, int y, const char* text)
+{
+ bool fail = (x) != (y);
+ if (fail) {
+ res++;
+ printf("Problem with EXPR:");
+ }
+ if (fail || print) {
+ printf("Expression: \"%s\" in CMake returns %d", text, (y));
+ if (fail) {
+ printf(" while in C returns: %d", (x));
+ }
+ printf("\n");
}
+}
int main(int argc, char* argv[])
{
- if (argc > 1) {
- printf("Usage: %s\n", argv[0]);
+ if (argc > 2) {
+ printf("Usage: %s [print]\n", argv[0]);
return 1;
}
- int res = 0;
+
+ if (argc > 1) {
+ if (strcmp(argv[1], "print") != 0) {
+ printf("Usage: %s [print]\n", argv[0]);
+ return 1;
+ }
+ print = true;
+ }
+
#include "MathTestTests.h"
+
if (res != 0) {
printf("%s: %d math tests failed\n", argv[0], res);
return 1;