Subject: Re: [PATCH V2 1/3] strbuf: add tests

From: Matthieu Moy <[email-masked]>
Date: Mon, 06 Jun 2016 18:11:55 +0200

William Duclot <[email-masked]> writes:

> --- a/Makefile
> +++ b/Makefile
> @@ -613,6 +613,7 @@ TEST_PROGRAMS_NEED_X += test-scrap-cache-tree
>  TEST_PROGRAMS_NEED_X += test-sha1
>  TEST_PROGRAMS_NEED_X += test-sha1-array
>  TEST_PROGRAMS_NEED_X += test-sigchain
> +TEST_PROGRAMS_NEED_X += test-strbuf
>  TEST_PROGRAMS_NEED_X += test-string-list
>  TEST_PROGRAMS_NEED_X += test-submodule-config
>  TEST_PROGRAMS_NEED_X += test-subprocess
> diff --git a/t/helper/test-strbuf.c b/t/helper/test-strbuf.c
> new file mode 100644
> index 0000000..271592e
> --- /dev/null
> +++ b/t/helper/test-strbuf.c
> @@ -0,0 +1,101 @@
> +#include "git-compat-util.h"
> +#include "strbuf.h"
> +#include "parse-options.h"
> +#include "builtin.h"
> +
> +/*
> + * Check behavior on usual use cases
> + */
> +static int strbuf_check_behavior(struct strbuf *sb)
> +{
> +	char *str_test = xstrdup("test"), *res, *old_buf;
> +	size_t size, old_alloc;
> +
> +	strbuf_grow(sb, 1);
> +	old_alloc = sb->alloc;
> +	strbuf_grow(sb, sb->alloc - sb->len + 1000);
> +	if (old_alloc == sb->alloc)
> +		die("strbuf_grow does not realloc the buffer as expected");
> +	old_buf = sb->buf;
> +	res = strbuf_detach(sb, &size);
> +	if (res != old_buf)
> +		die("strbuf_detach does not return the expected buffer");
> +	free(res);
> +
> +	str_test = xstrdup("test");
> +	strbuf_attach(sb, str_test, strlen(str_test), strlen(str_test) + 1);
> +	res = strbuf_detach(sb, &size);
> +	if (size != strlen(str_test)) 
> +		die ("size is not as expected");

Space before '('. Also, it's nice for the guy debugging that to say
"incorrect size. Expected %d, got %d" or so.

> diff --git a/t/t0082-strbuf.sh b/t/t0082-strbuf.sh
> new file mode 100755
> index 0000000..6a579a3
> --- /dev/null
> +++ b/t/t0082-strbuf.sh
> @@ -0,0 +1,19 @@
> +#!/bin/sh
> +
> +test_description='Test the strbuf API.'

The '.' is usually omitted.

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/