X-Git-Url: https://git.octo.it/?p=collectd.git;a=blobdiff_plain;f=src%2Ftesting.h;h=d3da9db42863e6083b68d83202c9e50c99d61eb7;hp=49124daa391476509916fbdf03e97445af2cac56;hb=7111bb6df7628edce3a8e538b386fbe27633a191;hpb=2079ee1517e34de372f58e7e2267ad5c71a8a41f diff --git a/src/testing.h b/src/testing.h index 49124daa..d3da9db4 100644 --- a/src/testing.h +++ b/src/testing.h @@ -51,10 +51,13 @@ static int check_count__ = 0; #define END_TEST exit((fail_count__ == 0) ? 0 : 1); +#define LOG(result, text) \ + printf("%s %i - %s\n", result ? "ok" : "not ok", ++check_count__, text) + #define OK1(cond, text) \ do { \ _Bool result = (cond); \ - printf("%s %i - %s\n", result ? "ok" : "not ok", ++check_count__, text); \ + LOG(result, text); \ if (!result) { \ return -1; \ } \ @@ -68,7 +71,7 @@ static int check_count__ = 0; if (strcmp(expect, got__) != 0) { \ printf("not ok %i - %s = \"%s\", want \"%s\"\n", ++check_count__, \ #actual, got__, expect); \ - return (-1); \ + return -1; \ } \ printf("ok %i - %s = \"%s\"\n", ++check_count__, #actual, got__); \ } while (0) @@ -80,7 +83,7 @@ static int check_count__ = 0; if (got__ != want__) { \ printf("not ok %i - %s = %d, want %d\n", ++check_count__, #actual, \ got__, want__); \ - return (-1); \ + return -1; \ } \ printf("ok %i - %s = %d\n", ++check_count__, #actual, got__); \ } while (0) @@ -92,7 +95,7 @@ static int check_count__ = 0; if (got__ != want__) { \ printf("not ok %i - %s = %" PRIu64 ", want %" PRIu64 "\n", \ ++check_count__, #actual, got__, want__); \ - return (-1); \ + return -1; \ } \ printf("ok %i - %s = %" PRIu64 "\n", ++check_count__, #actual, got__); \ } while (0) @@ -101,15 +104,16 @@ static int check_count__ = 0; do { \ double want__ = (double)expect; \ double got__ = (double)actual; \ - if (isnan(want__) && !isnan(got__)) { \ + if ((isnan(want__) && !isnan(got__)) || \ + (!isnan(want__) && isnan(got__))) { \ printf("not ok %i - %s = %.15g, want %.15g\n", ++check_count__, #actual, \ got__, want__); \ - return (-1); \ + return -1; \ } else if (!isnan(want__) && (((want__ - got__) < -DBL_PRECISION) || \ ((want__ - got__) > DBL_PRECISION))) { \ printf("not ok %i - %s = %.15g, want %.15g\n", ++check_count__, #actual, \ got__, want__); \ - return (-1); \ + return -1; \ } \ printf("ok %i - %s = %.15g\n", ++check_count__, #actual, got__); \ } while (0)