From 2347e6d21eb1431479358955007a4c78430173d8 Mon Sep 17 00:00:00 2001 From: Daniel Vetter Date: Fri, 13 Jun 2014 18:01:33 +0200 Subject: [PATCH] lib: Introduce igt_fail_on/_f I've yet again totally screwed things up (this time automated with cocci even, but not yet pushed luckily). So finally add a new version for easier conversion and adjust the cocci script. Signed-off-by: Daniel Vetter --- lib/igt.cocci | 9 ++++++++- lib/igt_core.h | 28 ++++++++++++++++++++++++++-- 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/lib/igt.cocci b/lib/igt.cocci index e944c7d1..b5c0bfe6 100644 --- a/lib/igt.cocci +++ b/lib/igt.cocci @@ -13,7 +13,14 @@ expression list[n] Ep; ) - igt_fail(...); - } -+ igt_assert_f(Ec, Ep); ++ igt_fail_on_f(Ec, Ep); +@@ +expression Ec; +@@ +- if (Ec) { +- igt_fail(...); +- } ++ igt_fail_on(Ec); @@ expression Ec; expression list[n] Ep; diff --git a/lib/igt_core.h b/lib/igt_core.h index b54ef615..e252eba7 100644 --- a/lib/igt_core.h +++ b/lib/igt_core.h @@ -204,7 +204,7 @@ void igt_exit(void) __attribute__((noreturn)); * igt_assert: * @expr: condition to test * - * Fails (sub-)test if the condition is not met + * Fails (sub-)test if the condition is not met. * * Should be used everywhere where a test checks results. */ @@ -218,7 +218,7 @@ void igt_exit(void) __attribute__((noreturn)); * @expr: condition to test * @...: format string and optional arguments * - * Fails (sub-)test if the condition is not met + * Fails (sub-)test if the condition is not met. * * Should be used everywhere where a test checks results. * @@ -230,6 +230,30 @@ void igt_exit(void) __attribute__((noreturn)); __igt_fail_assert(99, __FILE__, __LINE__, __func__, #expr , f); \ } while (0) +/** + * igt_fail_on: + * @expr: condition to test + * + * Fails (sub-)test if the condition is met. + * + * Should be used everywhere where a test checks results. + */ +#define igt_fail_on(expr) igt_assert(!(expr)) + +/** + * igt_assert_f: + * @expr: condition to test + * @...: format string and optional arguments + * + * Fails (sub-)test if the condition is met. + * + * Should be used everywhere where a test checks results. + * + * In addition to the plain igt_assert() helper this allows to print additional + * information to help debugging test failures. + */ +#define igt_fail_on_f(expr, f...) igt_assert_f(!(expr), f) + /** * igt_assert_cmpint: * @n1: first value