Signed-off-by: Matthieu Moy <Matthieu.Moy@xxxxxxx> --- Consider squashing this into PATCH 2/2 Probably not sufficient. t/t1308-config-set.sh | 22 ++++++++++++++++++++++ test-config.c | 8 ++++++-- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/t/t1308-config-set.sh b/t/t1308-config-set.sh index 87a29f1..f1e9e76 100755 --- a/t/t1308-config-set.sh +++ b/t/t1308-config-set.sh @@ -167,4 +167,26 @@ test_expect_success 'find value_list for a key from a configset' ' test_cmp expect actual ' +test_expect_success 'proper error on non-existant files' ' + echo "Error reading configuration file non-existant-file." >expect && + test_must_fail test-config configset_get_value foo.bar non-existant-file 2>actual && + test_cmp expect actual +' + +test_expect_success 'proper error on error in default config files' ' + cp .git/config .git/config.old && + test_when_finished "mv .git/config.old .git/config" && + echo "[" >> .git/config && + echo "fatal: bad config file line 35 in .git/config" >expect && + test_must_fail test-config get_value foo.bar 2>actual && + test_cmp expect actual +' + +test_expect_success 'proper error on error in custom config files' ' + echo "[" >> syntax-error && + echo "fatal: bad config file line 1 in syntax-error" >expect && + test_must_fail test-config configset_get_value foo.bar syntax-error 2>actual && + test_cmp expect actual +' + test_done diff --git a/test-config.c b/test-config.c index 07b61ef..49f8cd7 100644 --- a/test-config.c +++ b/test-config.c @@ -86,8 +86,10 @@ int main(int argc, char **argv) } } else if (!strcmp(argv[1], "configset_get_value")) { for (i = 3; i < argc; i++) { - if (git_configset_add_file(&cs, argv[i])) + if (git_configset_add_file(&cs, argv[i])) { + fprintf(stderr, "Error reading configuration file %s.\n", argv[i]); goto exit2; + } } if (!git_configset_get_value(&cs, argv[2], &v)) { if (!v) @@ -101,8 +103,10 @@ int main(int argc, char **argv) } } else if (!strcmp(argv[1], "configset_get_value_multi")) { for (i = 3; i < argc; i++) { - if (git_configset_add_file(&cs, argv[i])) + if (git_configset_add_file(&cs, argv[i])) { + fprintf(stderr, "Error reading configuration file %s.\n", argv[i]); goto exit2; + } } strptr = git_configset_get_value_multi(&cs, argv[2]); if (strptr) { -- 2.0.0.262.gdafc651 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html