Skip to content

Commit 8a7b034

Browse files
tanayabhgitster
authored andcommitted
add tests for git_config_get_string_const()
Add tests for `git_config_get_string_const()`, check whether it dies printing the line number and the file name if a NULL value is retrieved for the given key. Signed-off-by: Tanay Abhra <[email protected]> Reviewed-by: Matthieu Moy <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 79e9ce2 commit 8a7b034

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

t/t1308-config-set.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,16 @@ test_expect_success 'find integer value for a key' '
119119
check_config get_int lamb.chop 65
120120
'
121121

122+
test_expect_success 'find string value for a key' '
123+
check_config get_string case.baz hask &&
124+
check_config expect_code 1 get_string case.ba "Value not found for \"case.ba\""
125+
'
126+
127+
test_expect_success 'check line error when NULL string is queried' '
128+
test_expect_code 128 test-config get_string case.foo 2>result &&
129+
test_i18ngrep "fatal: .*case\.foo.*\.git/config.*line 7" result
130+
'
131+
122132
test_expect_success 'find integer if value is non parse-able' '
123133
check_config expect_code 128 get_int lamb.head
124134
'

test-config.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
*
1717
* get_bool -> print bool value for the entered key or die
1818
*
19+
* get_string -> print string value for the entered key or die
20+
*
1921
* configset_get_value -> returns value with the highest priority for the entered key
2022
* from a config_set constructed from files entered as arguments.
2123
*
@@ -84,6 +86,14 @@ int main(int argc, char **argv)
8486
printf("Value not found for \"%s\"\n", argv[2]);
8587
goto exit1;
8688
}
89+
} else if (argc == 3 && !strcmp(argv[1], "get_string")) {
90+
if (!git_config_get_string_const(argv[2], &v)) {
91+
printf("%s\n", v);
92+
goto exit0;
93+
} else {
94+
printf("Value not found for \"%s\"\n", argv[2]);
95+
goto exit1;
96+
}
8797
} else if (!strcmp(argv[1], "configset_get_value")) {
8898
for (i = 3; i < argc; i++) {
8999
int err;

0 commit comments

Comments
 (0)