diff options
Diffstat (limited to 'tests/logerr.c')
-rw-r--r-- | tests/logerr.c | 90 |
1 files changed, 60 insertions, 30 deletions
diff --git a/tests/logerr.c b/tests/logerr.c index 8ae1140..9f9c081 100644 --- a/tests/logerr.c +++ b/tests/logerr.c @@ -2,24 +2,24 @@ #include <assert.h> #include <errno.h> +#include <stdlib.h> #include <string.h> #include "../src/testing.h" -#include "../src/util.h" #include "slurp.h" -static const char *const -FNAME = __FILE__ ".txt"; +static const char +FNAME[] = __FILE__ ".txt"; static int -test_vlogerr(void) { +test_flogerrf(void) { int rc = -1; - test_start("vlogerr()"); + test_start("flogerrf()"); FILE *file = NULL; char *str = NULL; @@ -33,7 +33,7 @@ test_vlogerr(void) { } #line 100 - vlogerr(__FILE__, __func__, __LINE__, file, + flogerrf(__FILE__, __func__, __LINE__, file, ""); const int ret = fclose(file); @@ -48,11 +48,12 @@ test_vlogerr(void) { goto out; } - const char *const expected = - "tests/logerr.c:test_vlogerr:100: \n"; + const char expected[] = + "tests/logerr.c:test_flogerrf:100: \n"; assert(strcmp(expected, str) == 0); - freeit((void *)&str); + free(str); + str = NULL; test_ok(); } @@ -66,7 +67,7 @@ test_vlogerr(void) { } #line 200 - vlogerr(__FILE__, __func__, __LINE__, file, + flogerrf(__FILE__, __func__, __LINE__, file, "\n"); const int ret = fclose(file); @@ -81,11 +82,12 @@ test_vlogerr(void) { goto out; } - const char *const expected = - "tests/logerr.c:test_vlogerr:200: \n\n"; + const char expected[] = + "tests/logerr.c:test_flogerrf:200: \n\n"; assert(strcmp(expected, str) == 0); - freeit((void *)&str); + free(str); + str = NULL; test_ok(); } @@ -99,7 +101,7 @@ test_vlogerr(void) { } #line 300 - vlogerr(__FILE__, __func__, __LINE__, file, + flogerrf(__FILE__, __func__, __LINE__, file, "some static string"); const int ret = fclose(file); @@ -114,11 +116,13 @@ test_vlogerr(void) { goto out; } - const char *const expected = - "tests/logerr.c:test_vlogerr:300: some static string\n"; + const char expected[] = + "tests/logerr.c:test_flogerrf:300: " + "some static string\n"; assert(strcmp(expected, str) == 0); - freeit((void *)&str); + free(str); + str = NULL; test_ok(); } @@ -132,7 +136,7 @@ test_vlogerr(void) { } #line 400 - vlogerr(__FILE__, __func__, __LINE__, file, + flogerrf(__FILE__, __func__, __LINE__, file, "fn(%s)", "an-arg"); const int ret = fclose(file); @@ -147,11 +151,12 @@ test_vlogerr(void) { goto out; } - const char *const expected = - "tests/logerr.c:test_vlogerr:400: fn(an-arg)\n"; + const char expected[] = + "tests/logerr.c:test_flogerrf:400: fn(an-arg)\n"; assert(strcmp(expected, str) == 0); - freeit((void *)&str); + free(str); + str = NULL; test_ok(); } @@ -165,7 +170,7 @@ test_vlogerr(void) { } #line 500 - vlogerr(__FILE__, __func__, __LINE__, file, + flogerrf(__FILE__, __func__, __LINE__, file, "int (%d), string (%s) and char (%c)", 123, "another-str", @@ -183,12 +188,13 @@ test_vlogerr(void) { goto out; } - const char *const expected = - "tests/logerr.c:test_vlogerr:500: " + const char expected[] = + "tests/logerr.c:test_flogerrf:500: " "int (123), string (another-str) and char (z)\n"; assert(strcmp(expected, str) == 0); - freeit((void *)&str); + free(str); + str = NULL; test_ok(); } @@ -196,7 +202,8 @@ test_vlogerr(void) { rc = 0; out: if (str != NULL) { - freeit((void *)&str); + free(str); + str = NULL; } if (file != NULL) { if (fclose(file)) { @@ -207,10 +214,19 @@ out: return rc; } -static void +static int test_logerr(void) { + int rc = -1; + test_start("logerr()"); + FILE *file = fopen("/dev/null", "w"); + if (file == NULL) { + perror("fopen(\"/dev/null\", \"w\")"); + goto out; + } + logerr_set_stream(file); + { testing("can be called with an empty string"); @@ -239,6 +255,17 @@ test_logerr(void) { test_ok(); } + + rc = 0; +out: + logerr_set_stream(NULL); + if (file != NULL) { + if (fclose(file)) { + perror("fclose(file)"); + rc = -1; + } + } + return rc; } @@ -246,12 +273,15 @@ int main(void) { int rc = EXIT_FAILURE; - if (test_vlogerr()) { - perror("test_vlogerr()"); + if (test_flogerrf()) { + perror("test_flogerrf()"); goto out; } - test_logerr(); + if (test_logerr()) { + perror("test_logerr()"); + goto out; + } rc = EXIT_SUCCESS; out: |