You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by ga...@apache.org on 2020/02/19 08:22:33 UTC
[couchdb] 21/23: Mango eunit test fixes (#2553)
This is an automated email from the ASF dual-hosted git repository.
garren pushed a commit to branch fdb-mango-indexes
in repository https://gitbox.apache.org/repos/asf/couchdb.git
commit 50b8b47885426d52239a4f37c1fb4d17b21b2e0a
Author: Jay Doane <ja...@apache.org>
AuthorDate: Mon Feb 17 00:13:49 2020 -0800
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
---
src/mango/rebar.config | 2 ++
src/mango/src/mango_cursor_view.erl | 8 ++++----
src/mango/src/mango_fdb.erl | 3 +--
src/mango/src/mango_idx.erl | 23 ++++++++++++++---------
src/mango/src/mango_indexer.erl | 23 +++++++++++------------
src/mango/src/mango_jobs.erl | 4 ----
src/mango/test/eunit/mango_indexer_test.erl | 2 +-
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 0000000..e0d1844
--- /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 a986844..22ff6a8 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 1e95454..769fdc9 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 f1be029..b861d52 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 c7632a7..d00a254 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 c5a70ff..fd83254 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 ee24b21..ba0144f 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 9641163..2551655 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]
}}.