aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/test
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2019-02-11 14:41:05 +0100
committerSverker Eriksson <[email protected]>2019-02-11 14:41:05 +0100
commit0699796062861bec095fda747afdcf01bc2f015e (patch)
treea333dee41b4f93a4cfe4951559a1d65ca1630e5e /erts/emulator/test
parent657dea63080ef1cd732e1e7694c3358072354401 (diff)
parent2b8a46f154fb411c47262eb1c439a912d1fc8fd5 (diff)
downloadotp-0699796062861bec095fda747afdcf01bc2f015e.tar.gz
otp-0699796062861bec095fda747afdcf01bc2f015e.tar.bz2
otp-0699796062861bec095fda747afdcf01bc2f015e.zip
Merge branch 'maint'
Diffstat (limited to 'erts/emulator/test')
-rw-r--r--erts/emulator/test/nif_SUITE.erl16
1 files changed, 16 insertions, 0 deletions
diff --git a/erts/emulator/test/nif_SUITE.erl b/erts/emulator/test/nif_SUITE.erl
index 75b3cd2c14..168df76301 100644
--- a/erts/emulator/test/nif_SUITE.erl
+++ b/erts/emulator/test/nif_SUITE.erl
@@ -1215,6 +1215,15 @@ maps(Config) when is_list(Config) ->
M2 = maps_from_list_nif(maps:to_list(M2)),
M3 = maps_from_list_nif(maps:to_list(M3)),
+ %% Test different map sizes (OTP-15567)
+ repeat_while(fun({35,_}) -> false;
+ ({K,Map}) ->
+ Map = maps_from_list_nif(maps:to_list(Map)),
+ Map = maps:filter(fun(K,V) -> V =:= K*100 end, Map),
+ {K+1, maps:put(K,K*100,Map)}
+ end,
+ {1,#{}}),
+
has_duplicate_keys = maps_from_list_nif([{1,1},{1,1}]),
verify_tmpmem(TmpMem),
@@ -2511,6 +2520,13 @@ repeat(0, _, Arg) ->
repeat(N, Fun, Arg0) ->
repeat(N-1, Fun, Fun(Arg0)).
+repeat_while(Fun, Acc0) ->
+ case Fun(Acc0) of
+ false -> ok;
+ Acc1 ->
+ repeat_while(Fun, Acc1)
+ end.
+
check(Exp,Got,Line) ->
case Got of
Exp -> Exp;