build failure: "error: too many arguments for format" with check 0.15.2
This seems due to an fix between 0.15.1 and 0.15.2, more background can be found at https://github.com/libcheck/check/pull/298. Obviously -Wno-error=format-extra-args works around the failure, but I suppose in the long term porting from the deprecated fail_unless to ck_assert is the way to go.
In file included from check_public.c:1:
check_public.c: In function 'parse_display_pass':
check_public.c:40:24: error: too many arguments for format [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wformat-extra-args^G-Werror=format-extra-args8;;^G]
40 | fail_unless(success, "unexpected parse failure %sfor '%s'", test_string[test_type], name);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check_public.c:41:44: error: too many arguments for format [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wformat-extra-args^G-Werror=format-extra-args8;;^G]
41 | fail_unless(strcmp(host, got_host) == 0, "parse %sproduced unexpected hostname '%s' for '%s': expected '%s'", test_string[test_type], got_host, name, host);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check_public.c:42:39: error: too many arguments for format [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wformat-extra-args^G-Werror=format-extra-args8;;^G]
42 | fail_unless(display == got_display, "parse %sproduced unexpected display '%d' for '%s': expected '%d'", test_string[test_type], got_display, name, display);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check_public.c:43:37: error: too many arguments for format [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wformat-extra-args^G-Werror=format-extra-args8;;^G]
43 | fail_unless(screen == got_screen, "parse %sproduced unexpected screen '%d' for '%s': expected '%d'", test_string[test_type], got_screen, name, screen);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check_public.c:49:24: error: too many arguments for format [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wformat-extra-args^G-Werror=format-extra-args8;;^G]
49 | fail_unless(success, "unexpected screenless parse failure %sfor '%s'", test_string[test_type], name);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check_public.c:50:44: error: too many arguments for format [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wformat-extra-args^G-Werror=format-extra-args8;;^G]
50 | fail_unless(strcmp(host, got_host) == 0, "screenless parse %sproduced unexpected hostname '%s' for '%s': expected '%s'", test_string[test_type], got_host, name, host);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check_public.c:51:39: error: too many arguments for format [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wformat-extra-args^G-Werror=format-extra-args8;;^G]
51 | fail_unless(display == got_display, "screenless parse %sproduced unexpected display '%d' for '%s': expected '%d'", test_string[test_type], got_display, name, display);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check_public.c: In function 'parse_display_fail':
check_public.c:82:25: error: too many arguments for format [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wformat-extra-args^G-Werror=format-extra-args8;;^G]
82 | fail_unless(!success, "unexpected parse success %sfor '%s'", test_string[test_type], name);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check_public.c:83:40: error: too many arguments for format [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wformat-extra-args^G-Werror=format-extra-args8;;^G]
83 | fail_unless(got_host == (char *) -1, "host changed on parse failure %sfor '%s': got %p", test_string[test_type], name, got_host);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check_public.c:84:35: error: too many arguments for format [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wformat-extra-args^G-Werror=format-extra-args8;;^G]
84 | fail_unless(got_display == -42, "display changed on parse failure %sfor '%s': got %d", test_string[test_type], name, got_display);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check_public.c:85:34: error: too many arguments for format [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wformat-extra-args^G-Werror=format-extra-args8;;^G]
85 | fail_unless(got_screen == -42, "screen changed on parse failure %sfor '%s': got %d", test_string[test_type], name, got_screen);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check_public.c:91:25: error: too many arguments for format [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wformat-extra-args^G-Werror=format-extra-args8;;^G]
91 | fail_unless(!success, "unexpected screenless parse success %sfor '%s'", test_string[test_type], name);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check_public.c:92:40: error: too many arguments for format [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wformat-extra-args^G-Werror=format-extra-args8;;^G]
92 | fail_unless(got_host == (char *) -1, "host changed on parse failure %sfor '%s': got %p", test_string[test_type], name, got_host);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check_public.c:93:35: error: too many arguments for format [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wformat-extra-args^G-Werror=format-extra-args8;;^G]
93 | fail_unless(got_display == -42, "display changed on parse failure %sfor '%s': got %d", test_string[test_type], name, got_display);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check_public.c: In function 'popcount_eq':
check_public.c:186:43: error: too many arguments for format [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wformat-extra-args^G-Werror=format-extra-args8;;^G]
186 | fail_unless(xcb_popcount(bits) == count, "unexpected popcount(%08x) != %d", bits, count);