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]
     }}.