From 405b3478d1ac28141a334fe42e2908f2ea59e976 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Fri, 26 Feb 2016 12:47:33 +0000 Subject: [PATCH] igt/drv_hangman: Tidy up assertion failure message Because (drv_hangman:6035) CRITICAL: Failed assertion: !((__extension__ (__builtin_constant_p (l) && ((__builtin_constant_p (tmp) && strlen (tmp) < ((size_t) (l))) || (__builtin_constant_p (s) && strlen (s) < ((size_t) (l)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (tmp) && __builtin_constant_p (s) && (__s1_len = strlen (tmp), __s2_len = strlen (s), (!((size_t)(const void *)((tmp) + 1) - (size_t)(const void *)(tmp) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((s) + 1) - (size_t)(const void *)(s) == 1) || __s2_len >= 4)) ? __builtin_strcmp (tmp, s) : (__builtin_constant_p (tmp) && ((size_t)(const void *)((tmp) + 1) - (size_t)(const void *)(tmp) == 1) && (__s1_len = strlen (tmp), __s1_len < 4) ? (__builtin_constant_p (s) && ((size_t)(const void *)((s) + 1) - (size_t)(const void *)(s) == 1) ? __builtin_strcmp (tmp, s) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (s); int __result = (((const unsigned char *) (const char *) (tmp))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (tmp))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (tmp))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (tmp))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (s) && ((size_t)(const void *)((s) + 1) - (size_t)(const void *)(s) == 1) && (__s2_len = strlen (s), __s2_len < 4) ? (__builtin_constant_p (tmp) && ((size_t)(const void *)((tmp) + 1) - (size_t)(const void *)(tmp) == 1) ? __builtin_strcmp (tmp, s) : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (tmp); int __result = (((const unsigned char *) (const char *) (s))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (s))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (s))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (s))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp (tmp, s)))); }) : strncmp (tmp, s, l))) == 0) is a little hard to understand at a glance. Signed-off-by: Chris Wilson --- tests/drv_hangman.c | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/tests/drv_hangman.c b/tests/drv_hangman.c index 8a465cfa..a4f187ad 100644 --- a/tests/drv_hangman.c +++ b/tests/drv_hangman.c @@ -32,11 +32,12 @@ #include #include - #ifndef I915_PARAM_CMD_PARSER_VERSION #define I915_PARAM_CMD_PARSER_VERSION 28 #endif +static char read_buffer[1024]; + static int _read_sysfs(void *dst, int maxlen, const char* path, const char *fname) @@ -73,9 +74,7 @@ static int read_sysfs(void *dst, int maxlen, const char *fname) static void test_sysfs_error_exists(void) { - char tmp[1024]; - - igt_assert_lt(0, read_sysfs(tmp, sizeof(tmp), "error")); + igt_assert_lt(0, read_sysfs(read_buffer, sizeof(read_buffer), "error")); } static void test_debugfs_error_state_exists(void) @@ -112,29 +111,26 @@ static void read_dfs(const char *fname, char *d, int maxlen) igt_debug("dfs entry %s read '%s'\n", fname, d); } -static void _assert_dfs_entry(const char *fname, const char *s, bool inverse) +static int compare_dfs_entry(const char *fname, const char *s) { - char tmp[1024]; - const int l = min(strlen(s), sizeof(tmp)); + const int l = min(strlen(s), sizeof(read_buffer)); - read_dfs(fname, tmp, l + 1); - if (!inverse) { - igt_fail_on_f(strncmp(tmp, s, l) != 0, - "contents of %s: '%s' (expected '%s')\n", fname, tmp, s); - } else { - igt_fail_on_f(strncmp(tmp, s, l) == 0, - "contents of %s: '%s' (expected not '%s'\n", fname, tmp, s); - } + read_dfs(fname, read_buffer, l + 1); + return strncmp(read_buffer, s, l); } static void assert_dfs_entry(const char *fname, const char *s) { - _assert_dfs_entry(fname, s, false); + igt_fail_on_f(compare_dfs_entry(fname, s) != 0, + "contents of %s: '%s' (expected '%s')\n", + fname, read_buffer, s); } static void assert_dfs_entry_not(const char *fname, const char *s) { - _assert_dfs_entry(fname, s, true); + igt_fail_on_f(compare_dfs_entry(fname, s) == 0, + "contents of %s: '%s' (expected not '%s'\n", + fname, read_buffer, s); } static void assert_error_state_clear(void)