> diff --git a/t/helper/test-repository.c b/t/helper/test-repository.c > new file mode 100644 > index 0000000000..5fff540a26 > --- /dev/null > +++ b/t/helper/test-repository.c > @@ -0,0 +1,88 @@ > +#include "test-tool.h" > +#include "cache.h" > +#include "commit-graph.h" > +#include "commit.h" > +#include "config.h" > +#include "object-store.h" > +#include "object.h" > +#include "repository.h" > +#include "tree.h" > + > +static void test_parse_commit_in_graph(const char *gitdir, const char *worktree, > + const struct object_id *commit_oid) > +{ > + struct repository r; > + struct commit *c; > + struct commit_list *parent; > + > + /* > + * Create a commit independent of any repository. > + */ > + c = lookup_commit(commit_oid); > + > + repo_init(&r, gitdir, worktree); > + > + if (!parse_commit_in_graph(&r, c)) > + die("Couldn't parse commit"); > + > + printf("%lu", c->date); 32-bit builds complain about this: t/helper/test-repository.c: In function 'test_parse_commit_in_graph': t/helper/test-repository.c:28:9: error: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'timestamp_t {aka long long unsigned int}' [-Werror=format=] printf("%lu", c->date); ^ cc1: all warnings being treated as errors Makefile:2262: recipe for target 't/helper/test-repository.o' failed make: *** [t/helper/test-repository.o] Error 1 > + for (parent = c->parents; parent; parent = parent->next) > + printf(" %s", oid_to_hex(&parent->item->object.oid)); > + printf("\n"); > + > + repo_clear(&r); > +}