William Duclot <william.duclot@xxxxxxxxxxxxxxxxxxxxxxx> 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/ -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html