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

Jamey Sharp jamey at minilop.net
Fri Apr 18 16:29:13 PDT 2014


Reviewed-by: Jamey Sharp <jamey at minilop.net>

Jamey

On Fri, Apr 18, 2014 at 4:19 PM, Keith Packard <keithp at keithp.com> wrote:
> 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
>
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel


More information about the xorg-devel mailing list