test: [v2] Validate server log reading more carefully in signal-logging test

Check return value from fgets and strchr instead of assuming they
worked.

[v2]

Don't do any necessary work inside the assert call.
Also make sure the return value was long enough.

Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
This commit is contained in:
Keith Packard 2014-04-18 14:47:00 -07:00
parent 3119aae807
commit 570b1c7994

View File

@ -178,9 +178,14 @@ static void logging_format(void)
LogInit(log_file_path, NULL);
assert(f = fopen(log_file_path, "r"));
#define read_log_msg(msg) \
fgets(read_buf, sizeof(read_buf), f); \
msg = strchr(read_buf, ']') + 2; /* advance past [time.stamp] */
#define read_log_msg(msg) do { \
msg = fgets(read_buf, sizeof(read_buf), f); \
assert(msg != NULL); \
msg = strchr(read_buf, ']'); \
assert(msg != NULL); \
assert(strlen(msg) > 2); \
msg = msg + 2; /* advance past [time.stamp] */ \
} while (0)
/* boring test message */
LogMessageVerbSigSafe(X_ERROR, -1, "test message\n");