submodule--helper: move "check-name" to a test-tool
Move the "check-name" helper to a test-tool, sincea6226fd772
(submodule--helper: convert the bulk of cmd_add() to C, 2021-08-10) it has only been used by this test, not git-submodule.sh. As noted with its introduction in0383bbb901
(submodule-config: verify submodule names as paths, 2018-04-30) the intent of t7450-bad-git-dotfiles.sh has always been to unit test the check_submodule_name() function. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Reviewed-by: Glen Choo <chooglen@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
9fb2a970e9
commit
85321a346b
@ -2728,29 +2728,6 @@ static int absorb_git_dirs(int argc, const char **argv, const char *prefix)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Exit non-zero if any of the submodule names given on the command line is
|
|
||||||
* invalid. If no names are given, filter stdin to print only valid names
|
|
||||||
* (which is primarily intended for testing).
|
|
||||||
*/
|
|
||||||
static int check_name(int argc, const char **argv, const char *prefix)
|
|
||||||
{
|
|
||||||
if (argc > 1) {
|
|
||||||
while (*++argv) {
|
|
||||||
if (check_submodule_name(*argv) < 0)
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
struct strbuf buf = STRBUF_INIT;
|
|
||||||
while (strbuf_getline(&buf, stdin) != EOF) {
|
|
||||||
if (!check_submodule_name(buf.buf))
|
|
||||||
printf("%s\n", buf.buf);
|
|
||||||
}
|
|
||||||
strbuf_release(&buf);
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int module_config(int argc, const char **argv, const char *prefix)
|
static int module_config(int argc, const char **argv, const char *prefix)
|
||||||
{
|
{
|
||||||
enum {
|
enum {
|
||||||
@ -3305,7 +3282,6 @@ static struct cmd_struct commands[] = {
|
|||||||
{"summary", module_summary, 0},
|
{"summary", module_summary, 0},
|
||||||
{"push-check", push_check, 0},
|
{"push-check", push_check, 0},
|
||||||
{"absorbgitdirs", absorb_git_dirs, SUPPORT_SUPER_PREFIX},
|
{"absorbgitdirs", absorb_git_dirs, SUPPORT_SUPER_PREFIX},
|
||||||
{"check-name", check_name, 0},
|
|
||||||
{"config", module_config, 0},
|
{"config", module_config, 0},
|
||||||
{"set-url", module_set_url, 0},
|
{"set-url", module_set_url, 0},
|
||||||
{"set-branch", module_set_branch, 0},
|
{"set-branch", module_set_branch, 0},
|
||||||
|
@ -2,8 +2,16 @@
|
|||||||
#include "test-tool-utils.h"
|
#include "test-tool-utils.h"
|
||||||
#include "cache.h"
|
#include "cache.h"
|
||||||
#include "parse-options.h"
|
#include "parse-options.h"
|
||||||
|
#include "submodule-config.h"
|
||||||
#include "submodule.h"
|
#include "submodule.h"
|
||||||
|
|
||||||
|
#define TEST_TOOL_CHECK_NAME_USAGE \
|
||||||
|
"test-tool submodule check-name <name>"
|
||||||
|
static const char *submodule_check_name_usage[] = {
|
||||||
|
TEST_TOOL_CHECK_NAME_USAGE,
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
#define TEST_TOOL_IS_ACTIVE_USAGE \
|
#define TEST_TOOL_IS_ACTIVE_USAGE \
|
||||||
"test-tool submodule is-active <name>"
|
"test-tool submodule is-active <name>"
|
||||||
static const char *submodule_is_active_usage[] = {
|
static const char *submodule_is_active_usage[] = {
|
||||||
@ -12,10 +20,47 @@ static const char *submodule_is_active_usage[] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static const char *submodule_usage[] = {
|
static const char *submodule_usage[] = {
|
||||||
|
TEST_TOOL_CHECK_NAME_USAGE,
|
||||||
TEST_TOOL_IS_ACTIVE_USAGE,
|
TEST_TOOL_IS_ACTIVE_USAGE,
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Exit non-zero if any of the submodule names given on the command line is
|
||||||
|
* invalid. If no names are given, filter stdin to print only valid names
|
||||||
|
* (which is primarily intended for testing).
|
||||||
|
*/
|
||||||
|
static int check_name(int argc, const char **argv)
|
||||||
|
{
|
||||||
|
if (argc > 1) {
|
||||||
|
while (*++argv) {
|
||||||
|
if (check_submodule_name(*argv) < 0)
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
struct strbuf buf = STRBUF_INIT;
|
||||||
|
while (strbuf_getline(&buf, stdin) != EOF) {
|
||||||
|
if (!check_submodule_name(buf.buf))
|
||||||
|
printf("%s\n", buf.buf);
|
||||||
|
}
|
||||||
|
strbuf_release(&buf);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int cmd__submodule_check_name(int argc, const char **argv)
|
||||||
|
{
|
||||||
|
struct option options[] = {
|
||||||
|
OPT_END()
|
||||||
|
};
|
||||||
|
argc = parse_options(argc, argv, "test-tools", options,
|
||||||
|
submodule_check_name_usage, 0);
|
||||||
|
if (argc)
|
||||||
|
usage_with_options(submodule_check_name_usage, options);
|
||||||
|
|
||||||
|
return check_name(argc, argv);
|
||||||
|
}
|
||||||
|
|
||||||
static int cmd__submodule_is_active(int argc, const char **argv)
|
static int cmd__submodule_is_active(int argc, const char **argv)
|
||||||
{
|
{
|
||||||
struct option options[] = {
|
struct option options[] = {
|
||||||
@ -32,6 +77,7 @@ static int cmd__submodule_is_active(int argc, const char **argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static struct test_cmd cmds[] = {
|
static struct test_cmd cmds[] = {
|
||||||
|
{ "check-name", cmd__submodule_check_name },
|
||||||
{ "is-active", cmd__submodule_is_active },
|
{ "is-active", cmd__submodule_is_active },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ test_expect_success 'check names' '
|
|||||||
valid/with/paths
|
valid/with/paths
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
git submodule--helper check-name >actual <<-\EOF &&
|
test-tool submodule check-name >actual <<-\EOF &&
|
||||||
valid
|
valid
|
||||||
valid/with/paths
|
valid/with/paths
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user