diff options
author | Jay Doane <jaydoane@apache.org> | 2020-02-17 00:13:49 -0800 |
---|---|---|
committer | Garren Smith <garren.smith@gmail.com> | 2020-02-17 14:04:50 +0200 |
commit | b42d871b3f5610f91b5e192e2aa15b50224202d8 (patch) | |
tree | 7cf58b23073ae932ace105f9a970df7d854def45 | |
parent | 5ab7912d275aacd8c8712c8c645d4fe18ee5ac3b (diff) | |
download | couchdb-b42d871b3f5610f91b5e192e2aa15b50224202d8.tar.gz |
Mango eunit test fixes (#2553)
* Fix mango_indexer_test
The callback first argument shape changed to `{doc, SortKeys, JsonDoc}`.
* Suppress compiler warnings
* Fix mango_jobs_indexer_test
* Fix mango_idx tests
* Fix mango_cursor_view tests
Wrap `RowProps` in a tuple, and correctly order assertions.
Note that `does_not_run_match_on_doc_with_value_test` still fails with
a `no_match`.
* Enable coverage for mango eunit tests
-rw-r--r-- | src/mango/rebar.config | 2 | ||||
-rw-r--r-- | src/mango/src/mango_cursor_view.erl | 8 | ||||
-rw-r--r-- | src/mango/src/mango_fdb.erl | 3 | ||||
-rw-r--r-- | src/mango/src/mango_idx.erl | 23 | ||||
-rw-r--r-- | src/mango/src/mango_indexer.erl | 23 | ||||
-rw-r--r-- | src/mango/src/mango_jobs.erl | 4 | ||||
-rw-r--r-- | src/mango/test/eunit/mango_indexer_test.erl | 2 | ||||
-rw-r--r-- | src/mango/test/eunit/mango_jobs_indexer_test.erl | 4 |
8 files changed, 35 insertions, 34 deletions
diff --git a/src/mango/rebar.config b/src/mango/rebar.config new file mode 100644 index 000000000..e0d18443b --- /dev/null +++ b/src/mango/rebar.config @@ -0,0 +1,2 @@ +{cover_enabled, true}. +{cover_print_enabled, true}. diff --git a/src/mango/src/mango_cursor_view.erl b/src/mango/src/mango_cursor_view.erl index a986844a2..22ff6a868 100644 --- a/src/mango/src/mango_cursor_view.erl +++ b/src/mango/src/mango_cursor_view.erl @@ -526,8 +526,8 @@ runs_match_on_doc_with_no_value_test() -> ] }} ], - {Match, _, _} = doc_member(Cursor, RowProps), - ?assertEqual(Match, no_match). + {Match, _, _} = doc_member(Cursor, {RowProps}), + ?assertEqual(no_match, Match). does_not_run_match_on_doc_with_value_test() -> Cursor = #cursor { @@ -548,8 +548,8 @@ does_not_run_match_on_doc_with_value_test() -> ] }} ], - {Match, _, _} = doc_member(Cursor, RowProps), - ?assertEqual(Match, ok). + {Match, _, _} = doc_member(Cursor, {RowProps}), + ?assertEqual(ok, Match). -endif. diff --git a/src/mango/src/mango_fdb.erl b/src/mango/src/mango_fdb.erl index 1e9545467..769fdc9a3 100644 --- a/src/mango/src/mango_fdb.erl +++ b/src/mango/src/mango_fdb.erl @@ -60,8 +60,7 @@ get_build_vs(TxDb, #idx{} = Idx) -> get_build_vs(TxDb, DDoc) -> #{ - tx := Tx, - db_prefix := DbPrefix + tx := Tx } = TxDb, Key = build_vs_key(TxDb, DDoc), EV = erlfdb:wait(erlfdb:get(Tx, Key)), diff --git a/src/mango/src/mango_idx.erl b/src/mango/src/mango_idx.erl index f1be029d9..b861d5283 100644 --- a/src/mango/src/mango_idx.erl +++ b/src/mango/src/mango_idx.erl @@ -535,7 +535,8 @@ filter_opts([Opt | Rest]) -> [Opt | filter_opts(Rest)]. -get_partial_filter_selector(#idx{def = Def}) when Def =:= all_docs; Def =:= undefined -> +get_partial_filter_selector(#idx{def = Def}) + when Def =:= all_docs; Def =:= undefined -> undefined; get_partial_filter_selector(#idx{def = {Def}}) -> case proplists:get_value(<<"partial_filter_selector">>, Def) of @@ -558,14 +559,18 @@ get_legacy_selector(Def) -> -include_lib("eunit/include/eunit.hrl"). index(SelectorName, Selector) -> - { - idx,<<"mango_test_46418cd02081470d93290dc12306ebcb">>, - <<"_design/57e860dee471f40a2c74ea5b72997b81dda36a24">>, - <<"Selected">>,<<"json">>, - {[{<<"fields">>,{[{<<"location">>,<<"asc">>}]}}, - {SelectorName,{Selector}}]}, - false, - [{<<"def">>,{[{<<"fields">>,[<<"location">>]}]}}] + #idx{ + dbname = <<"mango_test_46418cd02081470d93290dc12306ebcb">>, + ddoc = <<"_design/57e860dee471f40a2c74ea5b72997b81dda36a24">>, + name = <<"Selected">>, + type = <<"json">>, + def = {[ + {<<"fields">>, {[{<<"location">>,<<"asc">>}]}}, + {SelectorName, {Selector}} + ]}, + partitioned = false, + opts = [{<<"def">>,{[{<<"fields">>,[<<"location">>]}]}}], + build_status = undefined }. get_partial_filter_all_docs_test() -> diff --git a/src/mango/src/mango_indexer.erl b/src/mango/src/mango_indexer.erl index c7632a7f1..d00a254dd 100644 --- a/src/mango/src/mango_indexer.erl +++ b/src/mango/src/mango_indexer.erl @@ -178,15 +178,14 @@ should_index(Selector, Doc) -> Matches and not IsDesign. -validate_index_info(IndexInfo) -> - IdxTypes = [mango_idx_view, mango_idx_text], - Results = lists:foldl(fun(IdxType, Results0) -> - try - IdxType:validate_index_def(IndexInfo), - [valid_index | Results0] - catch _:_ -> - [invalid_index | Results0] - end - end, [], IdxTypes), - lists:member(valid_index, Results). - +%% validate_index_info(IndexInfo) -> +%% IdxTypes = [mango_idx_view, mango_idx_text], +%% Results = lists:foldl(fun(IdxType, Results0) -> +%% try +%% IdxType:validate_index_def(IndexInfo), +%% [valid_index | Results0] +%% catch _:_ -> +%% [invalid_index | Results0] +%% end +%% end, [], IdxTypes), +%% lists:member(valid_index, Results). diff --git a/src/mango/src/mango_jobs.erl b/src/mango/src/mango_jobs.erl index c5a70ff50..fd8325438 100644 --- a/src/mango/src/mango_jobs.erl +++ b/src/mango/src/mango_jobs.erl @@ -27,10 +27,6 @@ set_timeout() -> build_index(TxDb, #idx{} = Idx) -> - #{ - tx := Tx - } = TxDb, - mango_fdb:create_build_vs(TxDb, Idx), JobId = job_id(TxDb, Idx), diff --git a/src/mango/test/eunit/mango_indexer_test.erl b/src/mango/test/eunit/mango_indexer_test.erl index ee24b21c5..ba0144f4b 100644 --- a/src/mango/test/eunit/mango_indexer_test.erl +++ b/src/mango/test/eunit/mango_indexer_test.erl @@ -155,7 +155,7 @@ doc(Id) -> ]}). -query_cb({doc, Doc}, #cursor{user_acc = Acc} = Cursor) -> +query_cb({doc, _, Doc}, #cursor{user_acc = Acc} = Cursor) -> {ok, Cursor#cursor{ user_acc = Acc ++ [Doc] }}. diff --git a/src/mango/test/eunit/mango_jobs_indexer_test.erl b/src/mango/test/eunit/mango_jobs_indexer_test.erl index 9641163e5..255165573 100644 --- a/src/mango/test/eunit/mango_jobs_indexer_test.erl +++ b/src/mango/test/eunit/mango_jobs_indexer_test.erl @@ -76,7 +76,7 @@ index_docs(Db) -> [{id, <<"3">>}, {value, 3}], [{id, <<"4">>}, {value, 4}], [{id, <<"5">>}, {value, 5}] -], Docs). + ], Docs). index_lots_of_docs(Db) -> @@ -186,7 +186,7 @@ doc(Id) -> ]}). -query_cb({doc, Doc}, #cursor{user_acc = Acc} = Cursor) -> +query_cb({doc, _, Doc}, #cursor{user_acc = Acc} = Cursor) -> {ok, Cursor#cursor{ user_acc = Acc ++ [Doc] }}. |