tests: make gu_msg() and gu_err() static
authorBartosz Golaszewski <bartekgola@gmail.com>
Mon, 27 Feb 2017 11:53:44 +0000 (12:53 +0100)
committerBartosz Golaszewski <bartekgola@gmail.com>
Mon, 27 Feb 2017 11:53:44 +0000 (12:53 +0100)
Tests should only ever print anything when an assertion fails. Make
gu_msg() and gu_err() static and instead allow passing an error
message to _gu_test_failed().

Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
tests/unit/gpiod-unit.c
tests/unit/gpiod-unit.h

index 9083e9d686e9ba18328b441919dd2f24491d41f1..bf1024885d7ba793d0a4af16ff91c30ab41d7fcd 100644 (file)
@@ -52,7 +52,7 @@ static void vmsg(FILE *stream, const char *hdr, const char *fmt, va_list va)
        fputc('\n', stream);
 }
 
-void gu_msg(const char *fmt, ...)
+static void GU_PRINTF(1, 2) gu_msg(const char *fmt, ...)
 {
        va_list va;
 
@@ -61,7 +61,7 @@ void gu_msg(const char *fmt, ...)
        va_end(va);
 }
 
-void gu_err(const char *fmt, ...)
+static void GU_PRINTF(1, 2) gu_err(const char *fmt, ...)
 {
        va_list va;
 
@@ -451,7 +451,13 @@ void _gu_register_test(struct gu_test *test)
        globals.num_tests++;
 }
 
-void _gu_set_test_failed(void)
+void _gu_test_failed(const char *fmt, ...)
 {
+       va_list va;
+
+       va_start(va, fmt);
+       vmsg(stderr, "ERROR", fmt, va);
+       va_end(va);
+
        globals.test_ctx.test_failed = true;
 }
index efbd1679472b156fc471caf9e30f88ae502fb406..8e97244f213c4757ac4ea07d4dfb18b01f630ce2 100644 (file)
@@ -39,7 +39,7 @@ struct gu_test {
 };
 
 void _gu_register_test(struct gu_test *test);
-void _gu_set_test_failed(void);
+void _gu_test_failed(const char *fmt, ...) GU_PRINTF(1, 2);
 
 #define GU_REGISTER_TEST(test)                                         \
        static GU_INIT void _gu_register_##test(void)                   \
@@ -66,9 +66,6 @@ enum {
        GU_LINES_NAMED = true,
 };
 
-void GU_PRINTF(1, 2) gu_msg(const char *fmt, ...);
-void GU_PRINTF(1, 2) gu_err(const char *fmt, ...);
-
 const char * gu_chip_path(unsigned int index);
 const char * gu_chip_name(unsigned int index);
 unsigned int gu_chip_num(unsigned int index);
@@ -82,9 +79,9 @@ void gu_release_line(struct gpiod_line **line);
 #define GU_ASSERT(statement)                                           \
        do {                                                            \
                if (!(statement)) {                                     \
-                       gu_err("assertion failed (%s:%d): '%s'",        \
-                              __FILE__, __LINE__, #statement);         \
-                       _gu_set_test_failed();                          \
+                       _gu_test_failed(                                \
+                               "assertion failed (%s:%d): '%s'",       \
+                               __FILE__, __LINE__, #statement);        \
                        return;                                         \
                }                                                       \
        } while (0)