Skip to content

Commit ead47a0

Browse files
committed
Merge pull request #165 from basho/bugfix/sdc/incomplete-parse
Add case for incomplete/syntax-error when parsing conf file. Reviewed-by: zeeshanlakhani
2 parents 5363f09 + 36d1d11 commit ead47a0

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

src/cuttlefish_conf.erl

+7
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,8 @@ file(Filename) ->
6666
case conf_parse:file(Filename) of
6767
{error, Reason} ->
6868
{error, [{error, ?FMT("Could not open file (~s) for Reason ~s", [Filename, Reason])}]};
69+
{_Conf, Remainder, {{line, L}, {column, C}}} when is_binary(Remainder) ->
70+
{error, [{error, ?FMT("Syntax error in ~s after line ~p column ~p, parsing incomplete", [Filename, L, C])}]};
6971
Conf ->
7072
%% Conf is a proplist, check if any of the values are cuttlefish_errors
7173
{_, Values} = lists:unzip(Conf),
@@ -273,6 +275,11 @@ files_one_nonent_test() ->
273275
?assertEqual({error,[{error,"Could not open file (../test/nonent.conf) for Reason enoent"}]}, Conf),
274276
ok.
275277

278+
files_incomplete_parse_test() ->
279+
Conf = file("../test/incomplete.conf"),
280+
?assertEqual({error, [{error,"Syntax error in ../test/incomplete.conf after line 3 column 1, parsing incomplete"}]}, Conf),
281+
ok.
282+
276283
generate_element_level_advanced_test() ->
277284
cuttlefish_lager_test_backend:bounce(warning),
278285
assert_no_output({level, advanced}),

test/incomplete.conf

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
a.b = c
2+
c.d = e
3+
f =

0 commit comments

Comments
 (0)