diff options
author | Jeff King <peff@peff.net> | 2020-03-30 10:04:03 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-03-30 10:59:08 -0700 |
commit | ed4b804e46b177203b4035cf5a1271f50724ba1c (patch) | |
tree | cce344989c3a9fa435f264d590d4a2fcc0825a23 /t/helper/test-oid-array.c | |
parent | oid_array: rename source file from sha1-array (diff) | |
download | tgif-ed4b804e46b177203b4035cf5a1271f50724ba1c.tar.xz |
test-tool: rename sha1-array to oid-array
This matches the actual data structure name, as well as the source file
that contains the code we're testing. The test scripts need updating to
use the new name, as well.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/helper/test-oid-array.c')
-rw-r--r-- | t/helper/test-oid-array.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/t/helper/test-oid-array.c b/t/helper/test-oid-array.c new file mode 100644 index 0000000000..ce9fd5f091 --- /dev/null +++ b/t/helper/test-oid-array.c @@ -0,0 +1,36 @@ +#include "test-tool.h" +#include "cache.h" +#include "oid-array.h" + +static int print_oid(const struct object_id *oid, void *data) +{ + puts(oid_to_hex(oid)); + return 0; +} + +int cmd__oid_array(int argc, const char **argv) +{ + struct oid_array array = OID_ARRAY_INIT; + struct strbuf line = STRBUF_INIT; + + while (strbuf_getline(&line, stdin) != EOF) { + const char *arg; + struct object_id oid; + + if (skip_prefix(line.buf, "append ", &arg)) { + if (get_oid_hex(arg, &oid)) + die("not a hexadecimal oid: %s", arg); + oid_array_append(&array, &oid); + } else if (skip_prefix(line.buf, "lookup ", &arg)) { + if (get_oid_hex(arg, &oid)) + die("not a hexadecimal oid: %s", arg); + printf("%d\n", oid_array_lookup(&array, &oid)); + } else if (!strcmp(line.buf, "clear")) + oid_array_clear(&array); + else if (!strcmp(line.buf, "for_each_unique")) + oid_array_for_each_unique(&array, print_oid, NULL); + else + die("unknown command: %s", line.buf); + } + return 0; +} |