t1309: test read_early_config()
So far, we had no explicit tests of that function. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
1a27409ae8
commit
1a6ec1eb38
@ -66,6 +66,16 @@ static int iterate_cb(const char *var, const char *value, void *data)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int early_config_cb(const char *var, const char *value, void *vdata)
|
||||
{
|
||||
const char *key = vdata;
|
||||
|
||||
if (!strcmp(key, var))
|
||||
printf("%s\n", value);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int cmd_main(int argc, const char **argv)
|
||||
{
|
||||
int i, val;
|
||||
@ -73,6 +83,11 @@ int cmd_main(int argc, const char **argv)
|
||||
const struct string_list *strptr;
|
||||
struct config_set cs;
|
||||
|
||||
if (argc == 3 && !strcmp(argv[1], "read_early_config")) {
|
||||
read_early_config(early_config_cb, (void *)argv[2]);
|
||||
return 0;
|
||||
}
|
||||
|
||||
setup_git_directory();
|
||||
|
||||
git_configset_init(&cs);
|
||||
|
50
t/t1309-early-config.sh
Executable file
50
t/t1309-early-config.sh
Executable file
@ -0,0 +1,50 @@
|
||||
#!/bin/sh
|
||||
|
||||
test_description='Test read_early_config()'
|
||||
|
||||
. ./test-lib.sh
|
||||
|
||||
test_expect_success 'read early config' '
|
||||
test_config early.config correct &&
|
||||
test-config read_early_config early.config >output &&
|
||||
test correct = "$(cat output)"
|
||||
'
|
||||
|
||||
test_expect_success 'in a sub-directory' '
|
||||
test_config early.config sub &&
|
||||
mkdir -p sub &&
|
||||
(
|
||||
cd sub &&
|
||||
test-config read_early_config early.config
|
||||
) >output &&
|
||||
test sub = "$(cat output)"
|
||||
'
|
||||
|
||||
test_expect_success 'ceiling' '
|
||||
test_config early.config ceiling &&
|
||||
mkdir -p sub &&
|
||||
(
|
||||
GIT_CEILING_DIRECTORIES="$PWD" &&
|
||||
export GIT_CEILING_DIRECTORIES &&
|
||||
cd sub &&
|
||||
test-config read_early_config early.config
|
||||
) >output &&
|
||||
test -z "$(cat output)"
|
||||
'
|
||||
|
||||
test_expect_success 'ceiling #2' '
|
||||
mkdir -p xdg/git &&
|
||||
git config -f xdg/git/config early.config xdg &&
|
||||
test_config early.config ceiling &&
|
||||
mkdir -p sub &&
|
||||
(
|
||||
XDG_CONFIG_HOME="$PWD"/xdg &&
|
||||
GIT_CEILING_DIRECTORIES="$PWD" &&
|
||||
export GIT_CEILING_DIRECTORIES XDG_CONFIG_HOME &&
|
||||
cd sub &&
|
||||
test-config read_early_config early.config
|
||||
) >output &&
|
||||
test xdg = "$(cat output)"
|
||||
'
|
||||
|
||||
test_done
|
Loading…
Reference in New Issue
Block a user