diff options
author | Paul J. Davis <paul.joseph.davis@gmail.com> | 2020-03-03 14:55:47 -0600 |
---|---|---|
committer | Paul J. Davis <paul.joseph.davis@gmail.com> | 2020-03-03 14:55:47 -0600 |
commit | 010c88d74621f19be3f9437a8e2578e968f26b46 (patch) | |
tree | 277171cf8065973c069e03abba0a7c19f1e97633 | |
parent | 685481f5381a621479598f2e3288258fdf25996e (diff) | |
download | couchdb-010c88d74621f19be3f9437a8e2578e968f26b46.tar.gz |
WIP: trying permute
-rw-r--r-- | src/couch_views/test/couch_views_size_test.erl | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/src/couch_views/test/couch_views_size_test.erl b/src/couch_views/test/couch_views_size_test.erl index 16a67080a..f442fb71d 100644 --- a/src/couch_views/test/couch_views_size_test.erl +++ b/src/couch_views/test/couch_views_size_test.erl @@ -85,6 +85,8 @@ generate_sets() -> generate_transitions() -> Sets = generate_sets(), + %Pairs0 = [{Set1, Set2} || Set1 <- Sets, Set2 <- Sets], + %Pairs = lists:sublist(Pairs0, 3), Pairs = [{Set1, Set2} || Set1 <- Sets, Set2 <- Sets], lists:flatmap(fun({{N1, D1, R1} = S1, {N2, D2, R2} = S2}) -> lists:foldl(fun(DeltaN, DNAcc) -> @@ -164,12 +166,12 @@ check_transition(Db, {Set1, Set2, Transition}) -> fabric2_fdb:transactional(Db, fun(TxDb) -> Doc = make_doc(DocId, InitJSONKVs), - couch_views_indexer:write_doc(TxDb, Sig, Doc, [1]) + couch_views_fdb:write_doc(TxDb, Sig, [1], Doc) end), fabric2_fdb:transactional(Db, fun(TxDb) -> Doc = make_doc(DocId, FinalJSONKVs), - couch_views_indexer:write_doc(TxDb, Sig, Doc, [1]) + couch_views_fdb:write_doc(TxDb, Sig, [1], Doc) end), validate_index(Db, Sig). @@ -181,20 +183,20 @@ make_doc(DocId, []) -> #{ id => DocId, deleted => true, - results => [] + results => [[]] }; false -> #{ id => DocId, deleted => false, - results => [] + results => [[]] } end; make_doc(DocId, Results) -> #{ id => DocId, deleted => false, - results => Results + results => [Results] }. @@ -213,7 +215,7 @@ init_set({N, D, R}, Labels) -> reduce_set({DeltaN, DeltaD, DeltaR}, {Unique, Dupes}) -> NewDupes = lists:sublist(Dupes, DeltaD), - NewUnique = lists:sublist(Unique, DeltaN), + NewUnique = lists:sublist(Unique, DeltaN - DeltaD), {NewUnique, [{Key, DeltaR} || {Key, _} <- NewDupes]}. @@ -222,6 +224,8 @@ fill_set({N, D, R}, {Unique, Dupes}, Labels) -> {NewDupes, RestLabels} = fill_keys(AddDupes, Labels, Dupes), AddUnique = N - length(Unique) - length(NewDupes), + ?debugFmt("~n~n~p ~p ~p", [N, length(Unique), length(NewDupes)]), + ?debugFmt("~p ~p ~p~n", [AddUnique, RestLabels, Unique]), {NewUnique, _} = fill_keys(AddUnique, RestLabels, Unique), % Sanity assertions N = length(NewUnique) + length(NewDupes), @@ -235,8 +239,10 @@ fill_set({N, D, R}, {Unique, Dupes}, Labels) -> fill_keys(0, Labels, Acc) -> + ?debugFmt("wtf?", []), {Acc, Labels}; fill_keys(Count, [Label | RestLabels], Acc) when Count > 0 -> + ?debugFmt("WHUT: ~p", [Count]), fill_keys(Count - 1, RestLabels, [Label | Acc]). @@ -249,11 +255,11 @@ unlabel({Unique, Dupes}, Bindings) -> unlabel_item(Label, Bindings) when is_atom(Label) -> NewBindings = maybe_bind(Label, Bindings), - KV = maps:get(Label, Bindings), + KV = maps:get(Label, NewBindings), {[KV], NewBindings}; unlabel_item({Label, Count}, Bindings) when is_atom(Label), is_integer(Count) -> NewBindings = maybe_bind(Label, Bindings), - {K, _} = KV = maps:get(Label, Bindings), + {K, _} = KV = maps:get(Label, NewBindings), ToAdd = lists:map(fun(_) -> {K, gen_value()} end, lists:seq(1, Count - 1)), |