summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJay Doane <jaydoane@apache.org>2020-02-17 00:13:49 -0800
committerGarren Smith <garren.smith@gmail.com>2020-02-17 14:04:50 +0200
commitb42d871b3f5610f91b5e192e2aa15b50224202d8 (patch)
tree7cf58b23073ae932ace105f9a970df7d854def45
parent5ab7912d275aacd8c8712c8c645d4fe18ee5ac3b (diff)
downloadcouchdb-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.config2
-rw-r--r--src/mango/src/mango_cursor_view.erl8
-rw-r--r--src/mango/src/mango_fdb.erl3
-rw-r--r--src/mango/src/mango_idx.erl23
-rw-r--r--src/mango/src/mango_indexer.erl23
-rw-r--r--src/mango/src/mango_jobs.erl4
-rw-r--r--src/mango/test/eunit/mango_indexer_test.erl2
-rw-r--r--src/mango/test/eunit/mango_jobs_indexer_test.erl4
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]
}}.