summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Wood <thomas.wood@intel.com>2014-12-17 11:37:31 +0000
committerThomas Wood <thomas.wood@intel.com>2015-01-16 11:11:10 +0000
commit0167619bbcc6b45b4045a85468007ecc9f606c71 (patch)
tree96276f6a69098e1c0d13c2de517b5eaa24802fbc
parentdf11a0f4a83a78ca63e04ff915a77e33cf8422fe (diff)
lib: use critical log level for assertion failure messages
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
-rw-r--r--lib/igt_core.c19
-rw-r--r--lib/igt_core.h21
2 files changed, 19 insertions, 21 deletions
diff --git a/lib/igt_core.c b/lib/igt_core.c
index 1ead7835..87a13a76 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -897,27 +897,24 @@ static bool run_under_gdb(void)
strncmp(basename(buf), "gdb", 3) == 0);
}
-void __igt_fail_assert(int exitcode, const char *file,
+void __igt_fail_assert(int exitcode, const char *domain, const char *file,
const int line, const char *func, const char *assertion,
const char *f, ...)
{
va_list args;
int err = errno;
- char *err_str = NULL;
+ igt_log(domain, IGT_LOG_CRITICAL,
+ "Test assertion failure function %s, file %s:%i:\n", func, file,
+ line);
+ igt_log(domain, IGT_LOG_CRITICAL, "Failed assertion: %s\n", assertion);
if (err)
- asprintf(&err_str, "Last errno: %i, %s\n", err, strerror(err));
-
- printf("Test assertion failure function %s, file %s:%i:\n"
- "Failed assertion: %s\n"
- "%s",
- func, file, line, assertion, err_str ?: "");
-
- free(err_str);
+ igt_log(domain, IGT_LOG_CRITICAL, "Last errno: %i, %s\n", err,
+ strerror(err));
if (f) {
va_start(args, f);
- vprintf(f, args);
+ igt_vlog(domain, IGT_LOG_CRITICAL, f, args);
va_end(args);
}
diff --git a/lib/igt_core.h b/lib/igt_core.h
index f184d75d..bc4ba0aa 100644
--- a/lib/igt_core.h
+++ b/lib/igt_core.h
@@ -38,6 +38,11 @@
#include <stdarg.h>
#include <getopt.h>
+#ifndef IGT_LOG_DOMAIN
+#define IGT_LOG_DOMAIN (NULL)
+#endif
+
+
extern const char* __igt_test_description __attribute__((weak));
/**
@@ -215,8 +220,8 @@ void __igt_skip_check(const char *file, const int line,
void igt_success(void);
void igt_fail(int exitcode) __attribute__((noreturn));
-__attribute__((format(printf, 6, 7)))
-void __igt_fail_assert(int exitcode, const char *file,
+__attribute__((format(printf, 7, 8)))
+void __igt_fail_assert(int exitcode, const char *domain, const char *file,
const int line, const char *func, const char *assertion,
const char *format, ...)
__attribute__((noreturn));
@@ -232,7 +237,7 @@ void igt_exit(void) __attribute__((noreturn));
*/
#define igt_assert(expr) \
do { if (!(expr)) \
- __igt_fail_assert(99, __FILE__, __LINE__, __func__, #expr , NULL); \
+ __igt_fail_assert(99, IGT_LOG_DOMAIN, __FILE__, __LINE__, __func__, #expr , NULL); \
} while (0)
/**
@@ -249,7 +254,7 @@ void igt_exit(void) __attribute__((noreturn));
*/
#define igt_assert_f(expr, f...) \
do { if (!(expr)) \
- __igt_fail_assert(99, __FILE__, __LINE__, __func__, #expr , f); \
+ __igt_fail_assert(99, IGT_LOG_DOMAIN, __FILE__, __LINE__, __func__, #expr , f); \
} while (0)
/**
@@ -294,7 +299,7 @@ void igt_exit(void) __attribute__((noreturn));
do { \
int __n1 = (n1), __n2 = (n2); \
if (__n1 cmp __n2) ; else \
- __igt_fail_assert(99, __FILE__, __LINE__, __func__, \
+ __igt_fail_assert(99, IGT_LOG_DOMAIN, __FILE__, __LINE__, __func__, \
#n1 " " #cmp " " #n2, \
"error: %d " #ncmp " %d\n", __n1, __n2); \
} while (0)
@@ -303,7 +308,7 @@ void igt_exit(void) __attribute__((noreturn));
do { \
uint32_t __n1 = (n1), __n2 = (n2); \
if (__n1 cmp __n2) ; else \
- __igt_fail_assert(99, __FILE__, __LINE__, __func__, \
+ __igt_fail_assert(99, IGT_LOG_DOMAIN, __FILE__, __LINE__, __func__, \
#n1 " " #cmp " " #n2, \
"error: %#x " #ncmp " %#x\n", __n1, __n2); \
} while (0)
@@ -512,10 +517,6 @@ bool igt_run_in_simulation(void);
void igt_skip_on_simulation(void);
/* structured logging */
-#ifndef IGT_LOG_DOMAIN
-#define IGT_LOG_DOMAIN (NULL)
-#endif
-
enum igt_log_level {
IGT_LOG_DEBUG,
IGT_LOG_INFO,