Fix test/signal-logging to work on Solaris

For some reason, Solaris libc sprintf() doesn't add "0x" to the %p output
as glibc does, causing the test to fail for not matching the exact output.
Since the 0x is desirable, we add it ourselves to the test string.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
Alan Coopersmith 2014-02-09 23:13:50 -08:00 committed by Keith Packard
parent e67f2d7e0f
commit 0031f6b073

View File

@ -346,7 +346,11 @@ static void logging_format(void)
ptr = 1;
do {
char expected[30];
#ifdef __sun /* Solaris doesn't autoadd "0x" to %p format */
sprintf(expected, "(EE) 0x%p\n", (void*)ptr);
#else
sprintf(expected, "(EE) %p\n", (void*)ptr);
#endif
LogMessageVerbSigSafe(X_ERROR, -1, "%p\n", (void*)ptr);
read_log_msg(logmsg);
assert(strcmp(logmsg, expected) == 0);