Do not generate maps and variants as keys in fate maps
This commit is contained in:
parent
a5bfdf63d5
commit
8bf19dc060
@ -80,8 +80,8 @@ fate_code(Failure) ->
|
|||||||
{non_empty(map(if Failure == 1 -> binary(1);
|
{non_empty(map(if Failure == 1 -> binary(1);
|
||||||
true -> binary(4) end,
|
true -> binary(4) end,
|
||||||
{{list(aefate_type_eqc:fate_type(Size div 3)), aefate_type_eqc:fate_type(Size div 3)}, bbs_code(Failure)})),
|
{{list(aefate_type_eqc:fate_type(Size div 3)), aefate_type_eqc:fate_type(Size div 3)}, bbs_code(Failure)})),
|
||||||
map(resize(Size div 5, aefate_eqc:fate_data()), resize(Size div 3, aefate_eqc:fate_data())),
|
map(small_fate_data_key(5), small_fate_data(4)),
|
||||||
map(resize(Size div 5, aefate_eqc:fate_data()), resize(Size div 4, aefate_eqc:fate_data()))},
|
map(small_fate_data_key(5), small_fate_data(4))},
|
||||||
aeb_fate_code:update_annotations(
|
aeb_fate_code:update_annotations(
|
||||||
aeb_fate_code:update_symbols(
|
aeb_fate_code:update_symbols(
|
||||||
aeb_fate_code:update_functions(
|
aeb_fate_code:update_functions(
|
||||||
@ -128,3 +128,6 @@ injection(Binary) ->
|
|||||||
|
|
||||||
small_fate_data(N) ->
|
small_fate_data(N) ->
|
||||||
?SIZED(Size, resize(Size div N, aefate_eqc:fate_data())).
|
?SIZED(Size, resize(Size div N, aefate_eqc:fate_data())).
|
||||||
|
|
||||||
|
small_fate_data_key(N) ->
|
||||||
|
?SIZED(Size, ?LET(Data, aefate_eqc:fate_data(Size div N, []), eqc_symbolic:eval(Data))).
|
||||||
|
@ -64,7 +64,7 @@ prop_fuzz() ->
|
|||||||
end))).
|
end))).
|
||||||
|
|
||||||
fate_data() ->
|
fate_data() ->
|
||||||
?SIZED(Size, ?LET(Data, fate_data(Size, [map]), eqc_symbolic:eval(Data))).
|
?SIZED(Size, ?LET(Data, fate_data(Size, [map, variant]), eqc_symbolic:eval(Data))).
|
||||||
|
|
||||||
fate_data(0, _Options) ->
|
fate_data(0, _Options) ->
|
||||||
?LAZY(
|
?LAZY(
|
||||||
@ -84,10 +84,12 @@ fate_data(0, _Options) ->
|
|||||||
fate_data(Size, Options) ->
|
fate_data(Size, Options) ->
|
||||||
oneof([?LAZY(fate_data(Size - 1, Options)),
|
oneof([?LAZY(fate_data(Size - 1, Options)),
|
||||||
?LAZY(fate_list( fate_data(Size div 5, Options) )),
|
?LAZY(fate_list( fate_data(Size div 5, Options) )),
|
||||||
?LAZY(fate_tuple( list(fate_data(Size div 5, Options)) )),
|
?LAZY(fate_tuple( list(fate_data(Size div 5, Options)) ))] ++
|
||||||
?LAZY(fate_variant( list(fate_data(Size div 5, Options)))) ] ++
|
[?LAZY(fate_variant( list(fate_data(Size div 5, Options))))
|
||||||
|
|| lists:member(variant, Options)
|
||||||
|
] ++
|
||||||
[
|
[
|
||||||
?LAZY(fate_map( fate_data(Size div 8, Options -- [map]),
|
?LAZY(fate_map( fate_data(Size div 8, Options -- [map, variant]),
|
||||||
fate_data(Size div 5, Options)))
|
fate_data(Size div 5, Options)))
|
||||||
|| lists:member(map, Options)
|
|| lists:member(map, Options)
|
||||||
]).
|
]).
|
||||||
|
Loading…
x
Reference in New Issue
Block a user