Re: [PATCH v2 08/28] submodule--helper: move "resolve-relative-url-test" to a test-tool

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> writes:

> As its name suggests the "resolve-relative-url-test" has never been
> used outside of the test suite, see 63e95beb085 (submodule: port
> resolve_relative_url from shell to C, 2016-04-15) for its original
> addition.
>
> Perhaps it would make sense to drop this code entirely, as we feel
> that we've got enough indirect test coverage, but let's leave that
> question to a possible follow-up change. For now let's keep the test
> coverage this gives us.

Agree with this and the other related messages that describe the intent
behind the test code. Thanks!

>
> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx>
> ---
>  builtin/submodule--helper.c | 23 --------------------
>  t/helper/test-submodule.c   | 42 +++++++++++++++++++++++++++++++++++++
>  t/t0060-path-utils.sh       |  2 +-
>  3 files changed, 43 insertions(+), 24 deletions(-)
>
> diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
> index 06307886080..246457ec2e9 100644
> --- a/builtin/submodule--helper.c
> +++ b/builtin/submodule--helper.c
> @@ -96,28 +96,6 @@ static char *resolve_relative_url(const char *rel_url, const char *up_path, int
>  	return resolved_url;
>  }
>  
> -static int resolve_relative_url_test(int argc, const char **argv, const char *prefix)
> -{
> -	char *remoteurl, *res;
> -	const char *up_path, *url;
> -
> -	if (argc != 4)
> -		die("resolve-relative-url-test only accepts three arguments: <up_path> <remoteurl> <url>");
> -
> -	up_path = argv[1];
> -	remoteurl = xstrdup(argv[2]);
> -	url = argv[3];
> -
> -	if (!strcmp(up_path, "(null)"))
> -		up_path = NULL;
> -
> -	res = relative_url(remoteurl, url, up_path);
> -	puts(res);
> -	free(res);
> -	free(remoteurl);
> -	return 0;
> -}
> -
>  /* the result should be freed by the caller. */
>  static char *get_submodule_displaypath(const char *path, const char *prefix)
>  {
> @@ -3273,7 +3251,6 @@ static struct cmd_struct commands[] = {
>  	{"clone", module_clone, SUPPORT_SUPER_PREFIX},
>  	{"add", module_add, 0},
>  	{"update", module_update, SUPPORT_SUPER_PREFIX},
> -	{"resolve-relative-url-test", resolve_relative_url_test, 0},
>  	{"foreach", module_foreach, SUPPORT_SUPER_PREFIX},
>  	{"init", module_init, 0},
>  	{"status", module_status, SUPPORT_SUPER_PREFIX},
> diff --git a/t/helper/test-submodule.c b/t/helper/test-submodule.c
> index 9f0eb440192..e0e0c53d386 100644
> --- a/t/helper/test-submodule.c
> +++ b/t/helper/test-submodule.c
> @@ -2,6 +2,7 @@
>  #include "test-tool-utils.h"
>  #include "cache.h"
>  #include "parse-options.h"
> +#include "remote.h"
>  #include "submodule-config.h"
>  #include "submodule.h"
>  
> @@ -19,9 +20,17 @@ static const char *submodule_is_active_usage[] = {
>  	NULL
>  };
>  
> +#define TEST_TOOL_RESOLVE_RELATIVE_URL_USAGE \
> +	"test-tool submodule resolve-relative-url <up_path> <remoteurl> <url>"
> +static const char *submodule_resolve_relative_url_usage[] = {
> +	TEST_TOOL_RESOLVE_RELATIVE_URL_USAGE,
> +	NULL,
> +};
> +
>  static const char *submodule_usage[] = {
>  	TEST_TOOL_CHECK_NAME_USAGE,
>  	TEST_TOOL_IS_ACTIVE_USAGE,
> +	TEST_TOOL_RESOLVE_RELATIVE_URL_USAGE,
>  	NULL
>  };
>  
> @@ -76,9 +85,42 @@ static int cmd__submodule_is_active(int argc, const char **argv)
>  	return !is_submodule_active(the_repository, argv[0]);
>  }
>  
> +static int resolve_relative_url(int argc, const char **argv)
> +{
> +	char *remoteurl, *res;
> +	const char *up_path, *url;
> +
> +	up_path = argv[0];
> +	remoteurl = xstrdup(argv[1]);
> +	url = argv[2];
> +
> +	if (!strcmp(up_path, "(null)"))
> +		up_path = NULL;
> +
> +	res = relative_url(remoteurl, url, up_path);
> +	puts(res);
> +	free(res);
> +	free(remoteurl);
> +	return 0;
> +}
> +
> +static int cmd__submodule_resolve_relative_url(int argc, const char **argv)
> +{
> +	struct option options[] = {
> +		OPT_END()
> +	};
> +	argc = parse_options(argc, argv, "test-tools", options,
> +			     submodule_resolve_relative_url_usage, 0);
> +	if (argc != 3)
> +		usage_with_options(submodule_resolve_relative_url_usage, options);
> +
> +	return resolve_relative_url(argc, argv);
> +}
> +
>  static struct test_cmd cmds[] = {
>  	{ "check-name", cmd__submodule_check_name },
>  	{ "is-active", cmd__submodule_is_active },
> +	{ "resolve-relative-url", cmd__submodule_resolve_relative_url},
>  };
>  
>  int cmd__submodule(int argc, const char **argv)
> diff --git a/t/t0060-path-utils.sh b/t/t0060-path-utils.sh
> index 1f2007e62b7..68e29c904a6 100755
> --- a/t/t0060-path-utils.sh
> +++ b/t/t0060-path-utils.sh
> @@ -22,7 +22,7 @@ relative_path() {
>  
>  test_submodule_relative_url() {
>  	test_expect_success "test_submodule_relative_url: $1 $2 $3 => $4" "
> -		actual=\$(git submodule--helper resolve-relative-url-test '$1' '$2' '$3') &&
> +		actual=\$(test-tool submodule resolve-relative-url '$1' '$2' '$3') &&
>  		test \"\$actual\" = '$4'
>  	"
>  }
> -- 
> 2.37.1.1233.ge8b09efaedc




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux