From 413b8af900c5399e8a33f7389fa3a49d1fda6f2d Mon Sep 17 00:00:00 2001 From: Martin Sumner Date: Mon, 17 Sep 2018 10:09:57 +0100 Subject: [PATCH] Confirm undefined root_path fails --- src/leveled_bookie.erl | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/leveled_bookie.erl b/src/leveled_bookie.erl index 3f1f511..9ee34dd 100644 --- a/src/leveled_bookie.erl +++ b/src/leveled_bookie.erl @@ -929,8 +929,11 @@ book_isempty(Pid, Tag) -> -spec init([open_options()]) -> {ok, book_state()}. init([Opts]) -> leveled_rand:seed(), - case proplists:get_value(snapshot_bookie, Opts) of - undefined -> + case {proplists:get_value(snapshot_bookie, Opts), + proplists:get_value(root_path, Opts)} of + {undefined, undefined} -> + {stop, no_root_path}; + {undefined, _RP} -> % Start from file not snapshot {InkerOpts, PencillerOpts} = set_options(Opts), @@ -975,7 +978,7 @@ init([Opts]) -> {ok, State0#state{inker=Inker, penciller=Penciller, ledger_cache=#ledger_cache{mem = NewETS}}}; - Bookie -> + {Bookie, undefined} -> {ok, Penciller, Inker} = book_snapshot(Bookie, store, undefined, true), leveled_log:log("B0002", [Inker, Penciller]), @@ -2537,6 +2540,11 @@ is_empty_headonly_test() -> ?assertMatch(false, book_isempty(Bookie1, ?HEAD_TAG)), ok = book_close(Bookie1). +undefined_rootpath_test() -> + Opts = [{max_journalsize, 1000000}, {cache_size, 500}], + R = gen_server:start(?MODULE, [set_defaults(Opts)], []), + ?assertMatch({error, no_root_path}, R). + foldkeys_headonly_test() -> foldkeys_headonly_tester(5000, 25, "BucketStr"),