fputc('\n', stream);
}
-void gu_msg(const char *fmt, ...)
+static void GU_PRINTF(1, 2) gu_msg(const char *fmt, ...)
{
va_list va;
va_end(va);
}
-void gu_err(const char *fmt, ...)
+static void GU_PRINTF(1, 2) gu_err(const char *fmt, ...)
{
va_list va;
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;
}
};
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) \
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);
#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)