aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/test/lists_SUITE.erl
diff options
context:
space:
mode:
authorJohn Högberg <[email protected]>2018-11-16 14:28:33 +0100
committerJohn Högberg <[email protected]>2018-11-16 14:28:33 +0100
commit5873f86728d945be654e31d33fd72a9ecd9c6eaa (patch)
treea6901f6bc1e8a1b7ab428636a0ad380cfc3bf6fb /lib/stdlib/test/lists_SUITE.erl
parentd7f9029afb669fd8dd8590e72cd7f0f30b2e9c84 (diff)
parentd61d422d4211b5b319ca6d5dee2cc63dbfeff538 (diff)
downloadotp-5873f86728d945be654e31d33fd72a9ecd9c6eaa.tar.gz
otp-5873f86728d945be654e31d33fd72a9ecd9c6eaa.tar.bz2
otp-5873f86728d945be654e31d33fd72a9ecd9c6eaa.zip
Merge branch 'john/erts/plusplus-trapping/OTP-15427'
* john/erts/plusplus-trapping/OTP-15427: Don't use too many reductions in lists:reverse/2 Make '++'/2 trapping
Diffstat (limited to 'lib/stdlib/test/lists_SUITE.erl')
-rw-r--r--lib/stdlib/test/lists_SUITE.erl14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/stdlib/test/lists_SUITE.erl b/lib/stdlib/test/lists_SUITE.erl
index bd2f3b448b..5dab6f6697 100644
--- a/lib/stdlib/test/lists_SUITE.erl
+++ b/lib/stdlib/test/lists_SUITE.erl
@@ -158,6 +158,20 @@ append_2(Config) when is_list(Config) ->
"abcdef"=lists:append("abc", "def"),
[hej, du]=lists:append([hej], [du]),
[10, [elem]]=lists:append([10], [[elem]]),
+
+ %% Trapping, both crashing and otherwise.
+ [append_trapping_1(N) || N <- lists:seq(0, 20)],
+
+ ok.
+
+append_trapping_1(N) ->
+ List = lists:duplicate(N + (1 bsl N), gurka),
+ ImproperList = List ++ crash,
+
+ {'EXIT',_} = (catch (ImproperList ++ [])),
+
+ [3, 2, 1 | List] = lists:reverse(List ++ [1, 2, 3]),
+
ok.
%% Tests the lists:reverse() implementation. The function is