diff options
author | Sverker Eriksson <[email protected]> | 2019-02-11 14:41:05 +0100 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2019-02-11 14:41:05 +0100 |
commit | 0699796062861bec095fda747afdcf01bc2f015e (patch) | |
tree | a333dee41b4f93a4cfe4951559a1d65ca1630e5e /erts/emulator/test/nif_SUITE.erl | |
parent | 657dea63080ef1cd732e1e7694c3358072354401 (diff) | |
parent | 2b8a46f154fb411c47262eb1c439a912d1fc8fd5 (diff) | |
download | otp-0699796062861bec095fda747afdcf01bc2f015e.tar.gz otp-0699796062861bec095fda747afdcf01bc2f015e.tar.bz2 otp-0699796062861bec095fda747afdcf01bc2f015e.zip |
Merge branch 'maint'
Diffstat (limited to 'erts/emulator/test/nif_SUITE.erl')
-rw-r--r-- | erts/emulator/test/nif_SUITE.erl | 16 |
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; |