[PATCH] test: [v2] Validate server log reading more carefully in signal-logging test
Keith Packard
keithp at keithp.com
Fri Apr 18 16:19:17 PDT 2014
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 at keithp.com>
---
Responding to IRC review comments from Jamey
test/signal-logging.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/test/signal-logging.c b/test/signal-logging.c
index 88b37c1..a72675f 100644
--- a/test/signal-logging.c
+++ b/test/signal-logging.c
@@ -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");
--
1.9.2
More information about the xorg-devel
mailing list