summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul J. Davis <paul.joseph.davis@gmail.com>2020-03-03 14:55:47 -0600
committerPaul J. Davis <paul.joseph.davis@gmail.com>2020-03-03 14:55:47 -0600
commit010c88d74621f19be3f9437a8e2578e968f26b46 (patch)
tree277171cf8065973c069e03abba0a7c19f1e97633
parent685481f5381a621479598f2e3288258fdf25996e (diff)
downloadcouchdb-010c88d74621f19be3f9437a8e2578e968f26b46.tar.gz
WIP: trying permute
-rw-r--r--src/couch_views/test/couch_views_size_test.erl22
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)),