diff options
Diffstat (limited to 't/helper')
33 files changed, 265 insertions, 73 deletions
| diff --git a/t/helper/test-chmtime.c b/t/helper/test-chmtime.c index dfe8a83261..e760256406 100644 --- a/t/helper/test-chmtime.c +++ b/t/helper/test-chmtime.c @@ -56,7 +56,7 @@ static int timespec_arg(const char *arg, long int *set_time, int *set_eq)  	return 1;  } -int main(int argc, char *argv[]) +int cmd_main(int argc, const char **argv)  {  	static int verbose; diff --git a/t/helper/test-config.c b/t/helper/test-config.c index 6a77552210..3c6d08cd09 100644 --- a/t/helper/test-config.c +++ b/t/helper/test-config.c @@ -25,6 +25,9 @@   * 				ascending order of priority from a config_set   * 				constructed from files entered as arguments.   * + * iterate -> iterate over all values using git_config(), and print some + *            data for each + *   * Examples:   *   * To print the value with highest priority for key "foo.bAr Baz.rock": @@ -32,8 +35,38 @@   *   */ +static const char *scope_name(enum config_scope scope) +{ +	switch (scope) { +	case CONFIG_SCOPE_SYSTEM: +		return "system"; +	case CONFIG_SCOPE_GLOBAL: +		return "global"; +	case CONFIG_SCOPE_REPO: +		return "repo"; +	case CONFIG_SCOPE_CMDLINE: +		return "cmdline"; +	default: +		return "unknown"; +	} +} +static int iterate_cb(const char *var, const char *value, void *data) +{ +	static int nr; + +	if (nr++) +		putchar('\n'); + +	printf("key=%s\n", var); +	printf("value=%s\n", value ? value : "(null)"); +	printf("origin=%s\n", current_config_origin_type()); +	printf("name=%s\n", current_config_name()); +	printf("scope=%s\n", scope_name(current_config_scope())); + +	return 0; +} -int main(int argc, char **argv) +int cmd_main(int argc, const char **argv)  {  	int i, val;  	const char *v; @@ -134,6 +167,9 @@ int main(int argc, char **argv)  			printf("Value not found for \"%s\"\n", argv[2]);  			goto exit1;  		} +	} else if (!strcmp(argv[1], "iterate")) { +		git_config(iterate_cb, NULL); +		goto exit0;  	}  	die("%s: Please check the syntax and the function name", argv[0]); diff --git a/t/helper/test-ctype.c b/t/helper/test-ctype.c index 707a821f03..bb72c47df5 100644 --- a/t/helper/test-ctype.c +++ b/t/helper/test-ctype.c @@ -28,7 +28,7 @@ static int is_in(const char *s, int ch)  #define LOWER "abcdefghijklmnopqrstuvwxyz"  #define UPPER "ABCDEFGHIJKLMNOPQRSTUVWXYZ" -int main(int argc, char **argv) +int cmd_main(int argc, const char **argv)  {  	TEST_CLASS(isdigit, DIGIT);  	TEST_CLASS(isspace, " \n\r\t"); diff --git a/t/helper/test-date.c b/t/helper/test-date.c index 63f373557e..506054bcd5 100644 --- a/t/helper/test-date.c +++ b/t/helper/test-date.c @@ -1,11 +1,12 @@  #include "cache.h"  static const char *usage_msg = "\n" -"  test-date show [time_t]...\n" +"  test-date relative [time_t]...\n" +"  test-date show:<format> [time_t]...\n"  "  test-date parse [date]...\n"  "  test-date approxidate [date]...\n"; -static void show_dates(char **argv, struct timeval *now) +static void show_relative_dates(const char **argv, struct timeval *now)  {  	struct strbuf buf = STRBUF_INIT; @@ -17,7 +18,30 @@ static void show_dates(char **argv, struct timeval *now)  	strbuf_release(&buf);  } -static void parse_dates(char **argv, struct timeval *now) +static void show_dates(const char **argv, const char *format) +{ +	struct date_mode mode; + +	parse_date_format(format, &mode); +	for (; *argv; argv++) { +		char *arg; +		time_t t; +		int tz; + +		/* +		 * Do not use our normal timestamp parsing here, as the point +		 * is to test the formatting code in isolation. +		 */ +		t = strtol(*argv, &arg, 10); +		while (*arg == ' ') +			arg++; +		tz = atoi(arg); + +		printf("%s -> %s\n", *argv, show_date(t, tz, &mode)); +	} +} + +static void parse_dates(const char **argv, struct timeval *now)  {  	struct strbuf result = STRBUF_INIT; @@ -36,7 +60,7 @@ static void parse_dates(char **argv, struct timeval *now)  	strbuf_release(&result);  } -static void parse_approxidate(char **argv, struct timeval *now) +static void parse_approxidate(const char **argv, struct timeval *now)  {  	for (; *argv; argv++) {  		time_t t; @@ -45,7 +69,7 @@ static void parse_approxidate(char **argv, struct timeval *now)  	}  } -int main(int argc, char **argv) +int cmd_main(int argc, const char **argv)  {  	struct timeval now;  	const char *x; @@ -61,8 +85,10 @@ int main(int argc, char **argv)  	argv++;  	if (!*argv)  		usage(usage_msg); -	if (!strcmp(*argv, "show")) -		show_dates(argv+1, &now); +	if (!strcmp(*argv, "relative")) +		show_relative_dates(argv+1, &now); +	else if (skip_prefix(*argv, "show:", &x)) +		show_dates(argv+1, x);  	else if (!strcmp(*argv, "parse"))  		parse_dates(argv+1, &now);  	else if (!strcmp(*argv, "approxidate")) diff --git a/t/helper/test-delta.c b/t/helper/test-delta.c index 4595cd6433..59937dc1be 100644 --- a/t/helper/test-delta.c +++ b/t/helper/test-delta.c @@ -15,7 +15,7 @@  static const char usage_str[] =  	"test-delta (-d|-p) <from_file> <data_file> <out_file>"; -int main(int argc, char *argv[]) +int cmd_main(int argc, const char **argv)  {  	int fd;  	struct stat st; diff --git a/t/helper/test-dump-cache-tree.c b/t/helper/test-dump-cache-tree.c index bb53c0aa65..44f3290258 100644 --- a/t/helper/test-dump-cache-tree.c +++ b/t/helper/test-dump-cache-tree.c @@ -54,7 +54,7 @@ static int dump_cache_tree(struct cache_tree *it,  	return errs;  } -int main(int ac, char **av) +int cmd_main(int ac, const char **av)  {  	struct index_state istate;  	struct cache_tree *another = cache_tree(); diff --git a/t/helper/test-dump-split-index.c b/t/helper/test-dump-split-index.c index 861d28c9b6..d1689248b4 100644 --- a/t/helper/test-dump-split-index.c +++ b/t/helper/test-dump-split-index.c @@ -7,7 +7,7 @@ static void show_bit(size_t pos, void *data)  	printf(" %d", (int)pos);  } -int main(int ac, char **av) +int cmd_main(int ac, const char **av)  {  	struct split_index *si;  	int i; diff --git a/t/helper/test-dump-untracked-cache.c b/t/helper/test-dump-untracked-cache.c index 0a1c285246..50112cc858 100644 --- a/t/helper/test-dump-untracked-cache.c +++ b/t/helper/test-dump-untracked-cache.c @@ -40,7 +40,7 @@ static void dump(struct untracked_cache_dir *ucd, struct strbuf *base)  	strbuf_setlen(base, len);  } -int main(int ac, char **av) +int cmd_main(int ac, const char **av)  {  	struct untracked_cache *uc;  	struct strbuf base = STRBUF_INIT; diff --git a/t/helper/test-fake-ssh.c b/t/helper/test-fake-ssh.c index 980de216e1..12beee99ad 100644 --- a/t/helper/test-fake-ssh.c +++ b/t/helper/test-fake-ssh.c @@ -2,7 +2,7 @@  #include "run-command.h"  #include "strbuf.h" -int main(int argc, char **argv) +int cmd_main(int argc, const char **argv)  {  	const char *trash_directory = getenv("TRASH_DIRECTORY");  	struct strbuf buf = STRBUF_INIT; diff --git a/t/helper/test-genrandom.c b/t/helper/test-genrandom.c index 54824d0754..8d11d22d98 100644 --- a/t/helper/test-genrandom.c +++ b/t/helper/test-genrandom.c @@ -6,7 +6,7 @@  #include "git-compat-util.h" -int main(int argc, char *argv[]) +int cmd_main(int argc, const char **argv)  {  	unsigned long count, next = 0;  	unsigned char *c; diff --git a/t/helper/test-hashmap.c b/t/helper/test-hashmap.c index cc2891dd97..7aa9440e27 100644 --- a/t/helper/test-hashmap.c +++ b/t/helper/test-hashmap.c @@ -138,7 +138,7 @@ static void perf_hashmap(unsigned int method, unsigned int rounds)   *   * perfhashmap method rounds -> test hashmap.[ch] performance   */ -int main(int argc, char *argv[]) +int cmd_main(int argc, const char **argv)  {  	char line[1024];  	struct hashmap map; diff --git a/t/helper/test-index-version.c b/t/helper/test-index-version.c index 05d4699c4a..f569f6b7ef 100644 --- a/t/helper/test-index-version.c +++ b/t/helper/test-index-version.c @@ -1,6 +1,6 @@  #include "cache.h" -int main(int argc, char **argv) +int cmd_main(int argc, const char **argv)  {  	struct cache_header hdr;  	int version; diff --git a/t/helper/test-line-buffer.c b/t/helper/test-line-buffer.c index 1e58f0476f..81575fe2ab 100644 --- a/t/helper/test-line-buffer.c +++ b/t/helper/test-line-buffer.c @@ -50,7 +50,7 @@ static void handle_line(const char *line, struct line_buffer *stdin_buf)  	handle_command(line, arg + 1, stdin_buf);  } -int main(int argc, char *argv[]) +int cmd_main(int argc, const char **argv)  {  	struct line_buffer stdin_buf = LINE_BUFFER_INIT;  	struct line_buffer file_buf = LINE_BUFFER_INIT; diff --git a/t/helper/test-match-trees.c b/t/helper/test-match-trees.c index 4dad7095f1..e939502863 100644 --- a/t/helper/test-match-trees.c +++ b/t/helper/test-match-trees.c @@ -1,26 +1,26 @@  #include "cache.h"  #include "tree.h" -int main(int ac, char **av) +int cmd_main(int ac, const char **av)  { -	unsigned char hash1[20], hash2[20], shifted[20]; +	struct object_id hash1, hash2, shifted;  	struct tree *one, *two;  	setup_git_directory(); -	if (get_sha1(av[1], hash1)) +	if (get_oid(av[1], &hash1))  		die("cannot parse %s as an object name", av[1]); -	if (get_sha1(av[2], hash2)) +	if (get_oid(av[2], &hash2))  		die("cannot parse %s as an object name", av[2]); -	one = parse_tree_indirect(hash1); +	one = parse_tree_indirect(hash1.hash);  	if (!one)  		die("not a tree-ish %s", av[1]); -	two = parse_tree_indirect(hash2); +	two = parse_tree_indirect(hash2.hash);  	if (!two)  		die("not a tree-ish %s", av[2]); -	shift_tree(one->object.oid.hash, two->object.oid.hash, shifted, -1); -	printf("shifted: %s\n", sha1_to_hex(shifted)); +	shift_tree(&one->object.oid, &two->object.oid, &shifted, -1); +	printf("shifted: %s\n", oid_to_hex(&shifted));  	exit(0);  } diff --git a/t/helper/test-mergesort.c b/t/helper/test-mergesort.c index ea3b959e94..335cf6b626 100644 --- a/t/helper/test-mergesort.c +++ b/t/helper/test-mergesort.c @@ -22,7 +22,7 @@ static int compare_strings(const void *a, const void *b)  	return strcmp(x->text, y->text);  } -int main(int argc, char **argv) +int cmd_main(int argc, const char **argv)  {  	struct line *line, *p = NULL, *lines = NULL;  	struct strbuf sb = STRBUF_INIT; diff --git a/t/helper/test-mktemp.c b/t/helper/test-mktemp.c index c8c54213a3..89d9b2f7be 100644 --- a/t/helper/test-mktemp.c +++ b/t/helper/test-mktemp.c @@ -3,7 +3,7 @@   */  #include "git-compat-util.h" -int main(int argc, char *argv[]) +int cmd_main(int argc, const char **argv)  {  	if (argc != 2)  		usage("Expected 1 parameter defining the temporary file template"); diff --git a/t/helper/test-parse-options.c b/t/helper/test-parse-options.c index 2c8c8f18ed..a01430c24b 100644 --- a/t/helper/test-parse-options.c +++ b/t/helper/test-parse-options.c @@ -7,16 +7,25 @@ static int integer = 0;  static unsigned long magnitude = 0;  static unsigned long timestamp;  static int abbrev = 7; -static int verbose = 0, dry_run = 0, quiet = 0; +static int verbose = -1; /* unspecified */ +static int dry_run = 0, quiet = 0;  static char *string = NULL;  static char *file = NULL;  static int ambiguous; -static struct string_list list; +static struct string_list list = STRING_LIST_INIT_NODUP; + +static struct { +	int called; +	const char *arg; +	int unset; +} length_cb;  static int length_callback(const struct option *opt, const char *arg, int unset)  { -	printf("Callback: \"%s\", %d\n", -		(arg ? arg : "not set"), unset); +	length_cb.called = 1; +	length_cb.arg = arg; +	length_cb.unset = unset; +  	if (unset)  		return 1; /* do not support unset */ @@ -30,13 +39,69 @@ static int number_callback(const struct option *opt, const char *arg, int unset)  	return 0;  } -int main(int argc, char **argv) +static int collect_expect(const struct option *opt, const char *arg, int unset) +{ +	struct string_list *expect; +	struct string_list_item *item; +	struct strbuf label = STRBUF_INIT; +	const char *colon; + +	if (!arg || unset) +		die("malformed --expect option"); + +	expect = (struct string_list *)opt->value; +	colon = strchr(arg, ':'); +	if (!colon) +		die("malformed --expect option, lacking a colon"); +	strbuf_add(&label, arg, colon - arg); +	item = string_list_insert(expect, strbuf_detach(&label, NULL)); +	if (item->util) +		die("malformed --expect option, duplicate %s", label.buf); +	item->util = (void *)arg; +	return 0; +} + +__attribute__((format (printf,3,4))) +static void show(struct string_list *expect, int *status, const char *fmt, ...) +{ +	struct string_list_item *item; +	struct strbuf buf = STRBUF_INIT; +	va_list args; + +	va_start(args, fmt); +	strbuf_vaddf(&buf, fmt, args); +	va_end(args); + +	if (!expect->nr) +		printf("%s\n", buf.buf); +	else { +		char *colon = strchr(buf.buf, ':'); +		if (!colon) +			die("malformed output format, output lacking colon: %s", fmt); +		*colon = '\0'; +		item = string_list_lookup(expect, buf.buf); +		*colon = ':'; +		if (!item) +			; /* not among entries being checked */ +		else { +			if (strcmp((const char *)item->util, buf.buf)) { +				printf("-%s\n", (char *)item->util); +				printf("+%s\n", buf.buf); +				*status = 1; +			} +		} +	} +	strbuf_release(&buf); +} + +int cmd_main(int argc, const char **argv)  {  	const char *prefix = "prefix/";  	const char *usage[] = {  		"test-parse-options <options>",  		NULL  	}; +	struct string_list expect = STRING_LIST_INIT_NODUP;  	struct option options[] = {  		OPT_BOOL(0, "yes", &boolean, "get a boolean"),  		OPT_BOOL('D', "no-doubt", &boolean, "begins with 'no-'"), @@ -77,28 +142,38 @@ int main(int argc, char **argv)  		OPT__VERBOSE(&verbose, "be verbose"),  		OPT__DRY_RUN(&dry_run, "dry run"),  		OPT__QUIET(&quiet, "be quiet"), +		OPT_CALLBACK(0, "expect", &expect, "string", +			     "expected output in the variable dump", +			     collect_expect),  		OPT_END(),  	};  	int i; +	int ret = 0;  	argc = parse_options(argc, (const char **)argv, prefix, options, usage, 0); -	printf("boolean: %d\n", boolean); -	printf("integer: %d\n", integer); -	printf("magnitude: %lu\n", magnitude); -	printf("timestamp: %lu\n", timestamp); -	printf("string: %s\n", string ? string : "(not set)"); -	printf("abbrev: %d\n", abbrev); -	printf("verbose: %d\n", verbose); -	printf("quiet: %s\n", quiet ? "yes" : "no"); -	printf("dry run: %s\n", dry_run ? "yes" : "no"); -	printf("file: %s\n", file ? file : "(not set)"); +	if (length_cb.called) { +		const char *arg = length_cb.arg; +		int unset = length_cb.unset; +		show(&expect, &ret, "Callback: \"%s\", %d", +		     (arg ? arg : "not set"), unset); +	} +	show(&expect, &ret, "boolean: %d", boolean); +	show(&expect, &ret, "integer: %d", integer); +	show(&expect, &ret, "magnitude: %lu", magnitude); +	show(&expect, &ret, "timestamp: %lu", timestamp); +	show(&expect, &ret, "string: %s", string ? string : "(not set)"); +	show(&expect, &ret, "abbrev: %d", abbrev); +	show(&expect, &ret, "verbose: %d", verbose); +	show(&expect, &ret, "quiet: %d", quiet); +	show(&expect, &ret, "dry run: %s", dry_run ? "yes" : "no"); +	show(&expect, &ret, "file: %s", file ? file : "(not set)");  	for (i = 0; i < list.nr; i++) -		printf("list: %s\n", list.items[i].string); +		show(&expect, &ret, "list: %s", list.items[i].string);  	for (i = 0; i < argc; i++) -		printf("arg %02d: %s\n", i, argv[i]); +		show(&expect, &ret, "arg %02d: %s", i, argv[i]); -	return 0; +	return ret;  } diff --git a/t/helper/test-path-utils.c b/t/helper/test-path-utils.c index ba805b374c..1ebe0f750c 100644 --- a/t/helper/test-path-utils.c +++ b/t/helper/test-path-utils.c @@ -156,7 +156,7 @@ static struct test_data dirname_data[] = {  	{ NULL,              NULL     }  }; -int main(int argc, char **argv) +int cmd_main(int argc, const char **argv)  {  	if (argc == 3 && !strcmp(argv[1], "normalize_path_copy")) {  		char *buf = xmallocz(strlen(argv[2])); @@ -213,7 +213,7 @@ int main(int argc, char **argv)  	}  	if (argc >= 4 && !strcmp(argv[1], "prefix_path")) { -		char *prefix = argv[2]; +		const char *prefix = argv[2];  		int prefix_len = strlen(prefix);  		int nongit_ok;  		setup_git_directory_gently(&nongit_ok); diff --git a/t/helper/test-prio-queue.c b/t/helper/test-prio-queue.c index 7be72f0086..ae58fff359 100644 --- a/t/helper/test-prio-queue.c +++ b/t/helper/test-prio-queue.c @@ -16,7 +16,7 @@ static void show(int *v)  	free(v);  } -int main(int argc, char **argv) +int cmd_main(int argc, const char **argv)  {  	struct prio_queue pq = { intcmp }; diff --git a/t/helper/test-read-cache.c b/t/helper/test-read-cache.c index b25bcf139b..2a7990efc3 100644 --- a/t/helper/test-read-cache.c +++ b/t/helper/test-read-cache.c @@ -1,6 +1,6 @@  #include "cache.h" -int main (int argc, char **argv) +int cmd_main(int argc, const char **argv)  {  	int i, cnt = 1;  	if (argc == 2) diff --git a/t/helper/test-regex.c b/t/helper/test-regex.c index 0dc598ecdc..b5ea8a97c5 100644 --- a/t/helper/test-regex.c +++ b/t/helper/test-regex.c @@ -1,6 +1,23 @@  #include "git-compat-util.h" +#include "gettext.h" -int main(int argc, char **argv) +struct reg_flag { +	const char *name; +	int flag; +}; + +static struct reg_flag reg_flags[] = { +	{ "EXTENDED",	 REG_EXTENDED	}, +	{ "NEWLINE",	 REG_NEWLINE	}, +	{ "ICASE",	 REG_ICASE	}, +	{ "NOTBOL",	 REG_NOTBOL	}, +#ifdef REG_STARTEND +	{ "STARTEND",	 REG_STARTEND	}, +#endif +	{ NULL, 0 } +}; + +static int test_regex_bug(void)  {  	char *pat = "[^={} \t]+";  	char *str = "={}\nfred"; @@ -16,5 +33,43 @@ int main(int argc, char **argv)  	if (m[0].rm_so == 3) /* matches '\n' when it should not */  		die("regex bug confirmed: re-build git with NO_REGEX=1"); -	exit(0); +	return 0; +} + +int cmd_main(int argc, const char **argv) +{ +	const char *pat; +	const char *str; +	int flags = 0; +	regex_t r; +	regmatch_t m[1]; + +	if (argc == 2 && !strcmp(argv[1], "--bug")) +		return test_regex_bug(); +	else if (argc < 3) +		usage("test-regex --bug\n" +		      "test-regex <pattern> <string> [<options>]"); + +	argv++; +	pat = *argv++; +	str = *argv++; +	while (*argv) { +		struct reg_flag *rf; +		for (rf = reg_flags; rf->name; rf++) +			if (!strcmp(*argv, rf->name)) { +				flags |= rf->flag; +				break; +			} +		if (!rf->name) +			die("do not recognize %s", *argv); +		argv++; +	} +	git_setup_gettext(); + +	if (regcomp(&r, pat, flags)) +		die("failed regcomp() for pattern '%s'", pat); +	if (regexec(&r, str, 1, m, 0)) +		return 1; + +	return 0;  } diff --git a/t/helper/test-revision-walking.c b/t/helper/test-revision-walking.c index 3d0313354b..b8e6fe1d00 100644 --- a/t/helper/test-revision-walking.c +++ b/t/helper/test-revision-walking.c @@ -45,7 +45,7 @@ static int run_revision_walk(void)  	return got_revision;  } -int main(int argc, char **argv) +int cmd_main(int argc, const char **argv)  {  	if (argc < 2)  		return 1; diff --git a/t/helper/test-run-command.c b/t/helper/test-run-command.c index 30a64a98dc..d24d157379 100644 --- a/t/helper/test-run-command.c +++ b/t/helper/test-run-command.c @@ -26,7 +26,7 @@ static int parallel_next(struct child_process *cp,  		return 0;  	argv_array_pushv(&cp->args, d->argv); -	strbuf_addf(err, "preloaded output of a child\n"); +	strbuf_addstr(err, "preloaded output of a child\n");  	number_callbacks++;  	return 1;  } @@ -36,7 +36,7 @@ static int no_job(struct child_process *cp,  		  void *cb,  		  void **task_cb)  { -	strbuf_addf(err, "no further jobs available\n"); +	strbuf_addstr(err, "no further jobs available\n");  	return 0;  } @@ -45,11 +45,11 @@ static int task_finished(int result,  			 void *pp_cb,  			 void *pp_task_cb)  { -	strbuf_addf(err, "asking for a quick stop\n"); +	strbuf_addstr(err, "asking for a quick stop\n");  	return 1;  } -int main(int argc, char **argv) +int cmd_main(int argc, const char **argv)  {  	struct child_process proc = CHILD_PROCESS_INIT;  	int jobs; diff --git a/t/helper/test-scrap-cache-tree.c b/t/helper/test-scrap-cache-tree.c index 6efee31a48..5b2fd09908 100644 --- a/t/helper/test-scrap-cache-tree.c +++ b/t/helper/test-scrap-cache-tree.c @@ -5,7 +5,7 @@  static struct lock_file index_lock; -int main(int ac, char **av) +int cmd_main(int ac, const char **av)  {  	hold_locked_index(&index_lock, 1);  	if (read_cache() < 0) diff --git a/t/helper/test-sha1-array.c b/t/helper/test-sha1-array.c index 60ea1d5f14..09f7790971 100644 --- a/t/helper/test-sha1-array.c +++ b/t/helper/test-sha1-array.c @@ -6,7 +6,7 @@ static void print_sha1(const unsigned char sha1[20], void *data)  	puts(sha1_to_hex(sha1));  } -int main(int argc, char **argv) +int cmd_main(int argc, const char **argv)  {  	struct sha1_array array = SHA1_ARRAY_INIT;  	struct strbuf line = STRBUF_INIT; diff --git a/t/helper/test-sha1.c b/t/helper/test-sha1.c index e57eae10bf..a1c13f54ec 100644 --- a/t/helper/test-sha1.c +++ b/t/helper/test-sha1.c @@ -1,6 +1,6 @@  #include "cache.h" -int main(int ac, char **av) +int cmd_main(int ac, const char **av)  {  	git_SHA_CTX ctx;  	unsigned char sha1[20]; diff --git a/t/helper/test-sigchain.c b/t/helper/test-sigchain.c index e499fce60f..b71edbd442 100644 --- a/t/helper/test-sigchain.c +++ b/t/helper/test-sigchain.c @@ -13,7 +13,7 @@ X(two)  X(three)  #undef X -int main(int argc, char **argv) { +int cmd_main(int argc, const char **argv) {  	sigchain_push(SIGTERM, one);  	sigchain_push(SIGTERM, two);  	sigchain_push(SIGTERM, three); diff --git a/t/helper/test-string-list.c b/t/helper/test-string-list.c index 14bdf9d215..4a68967bd1 100644 --- a/t/helper/test-string-list.c +++ b/t/helper/test-string-list.c @@ -41,7 +41,7 @@ static int prefix_cb(struct string_list_item *item, void *cb_data)  	return starts_with(item->string, prefix);  } -int main(int argc, char **argv) +int cmd_main(int argc, const char **argv)  {  	if (argc == 5 && !strcmp(argv[1], "split")) {  		struct string_list list = STRING_LIST_INIT_DUP; diff --git a/t/helper/test-submodule-config.c b/t/helper/test-submodule-config.c index dab8c27768..2f144d539a 100644 --- a/t/helper/test-submodule-config.c +++ b/t/helper/test-submodule-config.c @@ -2,7 +2,7 @@  #include "submodule-config.h"  #include "submodule.h" -static void die_usage(int argc, char **argv, const char *msg) +static void die_usage(int argc, const char **argv, const char *msg)  {  	fprintf(stderr, "%s\n", msg);  	fprintf(stderr, "Usage: %s [<commit> <submodulepath>] ...\n", argv[0]); @@ -14,16 +14,16 @@ static int git_test_config(const char *var, const char *value, void *cb)  	return parse_submodule_config_option(var, value);  } -int main(int argc, char **argv) +int cmd_main(int argc, const char **argv)  { -	char **arg = argv; +	const char **arg = argv;  	int my_argc = argc;  	int output_url = 0;  	int lookup_name = 0;  	arg++;  	my_argc--; -	while (starts_with(arg[0], "--")) { +	while (arg[0] && starts_with(arg[0], "--")) {  		if (!strcmp(arg[0], "--url"))  			output_url = 1;  		if (!strcmp(arg[0], "--name")) @@ -49,7 +49,7 @@ int main(int argc, char **argv)  		path_or_name = arg[1];  		if (commit[0] == '\0') -			hashcpy(commit_sha1, null_sha1); +			hashclr(commit_sha1);  		else if (get_sha1(commit, commit_sha1) < 0)  			die_usage(argc, argv, "Commit not found."); diff --git a/t/helper/test-subprocess.c b/t/helper/test-subprocess.c index 56881a0324..30c5765bfc 100644 --- a/t/helper/test-subprocess.c +++ b/t/helper/test-subprocess.c @@ -1,7 +1,7 @@  #include "cache.h"  #include "run-command.h" -int main(int argc, char **argv) +int cmd_main(int argc, const char **argv)  {  	struct child_process cp = CHILD_PROCESS_INIT;  	int nogit = 0; diff --git a/t/helper/test-svn-fe.c b/t/helper/test-svn-fe.c index 120ec96b0d..7667c0803f 100644 --- a/t/helper/test-svn-fe.c +++ b/t/helper/test-svn-fe.c @@ -11,7 +11,7 @@  static const char test_svnfe_usage[] =  	"test-svn-fe (<dumpfile> | [-d] <preimage> <delta> <len>)"; -static int apply_delta(int argc, char *argv[]) +static int apply_delta(int argc, const char **argv)  {  	struct line_buffer preimage = LINE_BUFFER_INIT;  	struct line_buffer delta = LINE_BUFFER_INIT; @@ -35,7 +35,7 @@ static int apply_delta(int argc, char *argv[])  	return 0;  } -int main(int argc, char *argv[]) +int cmd_main(int argc, const char **argv)  {  	if (argc == 2) {  		if (svndump_init(argv[1])) diff --git a/t/helper/test-urlmatch-normalization.c b/t/helper/test-urlmatch-normalization.c index 090bf219a7..49b6e836be 100644 --- a/t/helper/test-urlmatch-normalization.c +++ b/t/helper/test-urlmatch-normalization.c @@ -1,7 +1,7 @@  #include "git-compat-util.h"  #include "urlmatch.h" -int main(int argc, char **argv) +int cmd_main(int argc, const char **argv)  {  	const char usage[] = "test-urlmatch-normalization [-p | -l] <url1> | <url1> <url2>";  	char *url1, *url2; diff --git a/t/helper/test-wildmatch.c b/t/helper/test-wildmatch.c index 578b164fe6..52be876fed 100644 --- a/t/helper/test-wildmatch.c +++ b/t/helper/test-wildmatch.c @@ -1,6 +1,6 @@  #include "cache.h" -int main(int argc, char **argv) +int cmd_main(int argc, const char **argv)  {  	int i;  	for (i = 2; i < argc; i++) { | 
