File 9491-Remove-catch-in-lists_SUITE.patch of Package erlang
From 75064cf1a922c3eacbdd47f57597c92768d866b0 Mon Sep 17 00:00:00 2001
From: Maria Scott <maria-12648430@hnc-agency.org>
Date: Wed, 18 Mar 2026 16:40:28 +0100
Subject: [PATCH] Remove catch in lists_SUITE
---
lib/stdlib/test/lists_SUITE.erl | 591 ++++++++++++++++----------------
1 file changed, 294 insertions(+), 297 deletions(-)
diff --git a/lib/stdlib/test/lists_SUITE.erl b/lib/stdlib/test/lists_SUITE.erl
index ac7ecaebb3..19861d188c 100644
--- a/lib/stdlib/test/lists_SUITE.erl
+++ b/lib/stdlib/test/lists_SUITE.erl
@@ -25,6 +25,7 @@
-module(lists_SUITE).
-include_lib("common_test/include/ct.hrl").
+-include_lib("stdlib/include/assert.hrl").
%% Test server specific exports
-export([all/0, suite/0,groups/0,init_per_suite/1, end_per_suite/1,
@@ -166,7 +167,7 @@ append_trapping_1(N) ->
List = lists:duplicate(N + (1 bsl N), gurka),
ImproperList = List ++ crash,
- {'EXIT',_} = (catch (ImproperList ++ [])),
+ ?assertError(_, ImproperList ++ []),
[3, 2, 1 | List] = lists:reverse(List ++ [1, 2, 3]),
@@ -212,8 +213,8 @@ reverse_test(Num) ->
%% Test the lists:member() implementation. This test case depends on
%% lists:reverse() to work, wich is tested in a separate test case.
member(Config) when is_list(Config) ->
- {'EXIT',{badarg,_}} = (catch lists:member(45, {a,b,c})),
- {'EXIT',{badarg,_}} = (catch lists:member(45, [0|non_list_tail])),
+ ?assertError(badarg, lists:member(45, {a,b,c})),
+ ?assertError(badarg, lists:member(45, [0|non_list_tail])),
false = lists:member(4233, []),
member_test(1),
member_test(100),
@@ -244,9 +245,9 @@ member_test(Num) ->
keymember(Config) when is_list(Config) ->
false = lists:keymember(anything_goes, 1, []),
- {'EXIT',{badarg,_}} = (catch lists:keymember(anything_goes, -1, [])),
- {'EXIT',{badarg,_}} = (catch lists:keymember(anything_goes, 0, [])),
- {'EXIT',{badarg,_}} = (catch lists:keymember(anything_goes, 1, {1,2,3})),
+ ?assertError(badarg, lists:keymember(anything_goes, -1, [])),
+ ?assertError(badarg, lists:keymember(anything_goes, 0, [])),
+ ?assertError(badarg, lists:keymember(anything_goes, 1, {1,2,3})),
List = [{52.0,a},{-19,b,c},{37.5,d},an_atom,42.0,{39},{45,{x,y,z}}],
false = lists:keymember(333, 5, List),
@@ -281,9 +282,9 @@ keymember(Config) when is_list(Config) ->
keysearch_keyfind(Config) when is_list(Config) ->
false = key_search_find(anything_goes, 1, []),
- {'EXIT',{badarg,_}} = (catch key_search_find(anything_goes, -1, [])),
- {'EXIT',{badarg,_}} = (catch key_search_find(anything_goes, 0, [])),
- {'EXIT',{badarg,_}} = (catch key_search_find(anything_goes, 1, {1,2,3})),
+ ?assertError(badarg, key_search_find(anything_goes, -1, [])),
+ ?assertError(badarg, key_search_find(anything_goes, 0, [])),
+ ?assertError(badarg, key_search_find(anything_goes, 1, {1,2,3})),
First = {x,42.0},
Second = {y,-77},
@@ -384,10 +385,10 @@ takewhile(Config) when is_list(Config) ->
ok.
keystore(Config) when is_list(Config) ->
- {'EXIT',_} = (catch lists:keystore(key, 0, [], {1})),
- {'EXIT',_} = (catch lists:keystore(key, 1, {}, {})),
- {'EXIT',_} = (catch lists:keystore(key, 1, {a,b}, {})),
- {'EXIT', _} = (catch lists:keystore(a, 2, [{1,a}], b)),
+ ?assertError(_, lists:keystore(key, 0, [], {1})),
+ ?assertError(_, lists:keystore(key, 1, {}, {})),
+ ?assertError(_, lists:keystore(key, 1, {a,b}, {})),
+ ?assertError(_, lists:keystore(a, 2, [{1,a}], b)),
T = {k,17},
[T] = lists:keystore(a, 2, [], T),
[{1,a},{2,b},{k,17}] = lists:keystore(c, 2, [{1,a},{2,b}],T),
@@ -400,9 +401,9 @@ keystore(Config) when is_list(Config) ->
ok.
keytake(Config) when is_list(Config) ->
- {'EXIT',_} = (catch lists:keytake(key, 0, [])),
- {'EXIT',_} = (catch lists:keytake(key, 1, {})),
- {'EXIT',_} = (catch lists:keytake(key, 1, {a,b})),
+ ?assertError(_, lists:keytake(key, 0, [])),
+ ?assertError(_, lists:keytake(key, 1, {})),
+ ?assertError(_, lists:keytake(key, 1, {a,b})),
false = lists:keytake(key, 2, [{a}]),
false = lists:keytake(key, 1, [a]),
false = lists:keytake(k, 1, []),
@@ -421,8 +422,8 @@ keyreplace(Config) when is_list(Config) ->
[a,{x,y,z}] = lists:keyreplace(a, 5, [a,{x,y,z}], {no,use}),
%% Error cases.
- {'EXIT',_} = (catch lists:keyreplace(k, 1, [], not_tuple)),
- {'EXIT',_} = (catch lists:keyreplace(k, 0, [], {a,b})),
+ ?assertError(_, lists:keyreplace(k, 1, [], not_tuple)),
+ ?assertError(_, lists:keyreplace(k, 0, [], {a,b})),
ok.
merge(Config) when is_list(Config) ->
@@ -458,25 +459,25 @@ merge(Config) when is_list(Config) ->
true = erts_debug:same(Singleton, lists:merge([[], Singleton, []])),
true = erts_debug:same(Singleton, lists:merge([[], [], Singleton])),
- {'EXIT', _} = (catch lists:merge([a])),
- {'EXIT', _} = (catch lists:merge([a, b])),
- {'EXIT', _} = (catch lists:merge([a, []])),
- {'EXIT', _} = (catch lists:merge([[], b])),
- {'EXIT', _} = (catch lists:merge([a, [1, 2, 3]])),
- {'EXIT', _} = (catch lists:merge([[1, 2, 3], b])),
- {'EXIT', _} = (catch lists:merge([a, b, c])),
- {'EXIT', _} = (catch lists:merge([a, b, []])),
- {'EXIT', _} = (catch lists:merge([a, [], c])),
- {'EXIT', _} = (catch lists:merge([a, [], []])),
- {'EXIT', _} = (catch lists:merge([[], b, c])),
- {'EXIT', _} = (catch lists:merge([[], b, []])),
- {'EXIT', _} = (catch lists:merge([[], [], c])),
- {'EXIT', _} = (catch lists:merge([a, b, [1, 2, 3]])),
- {'EXIT', _} = (catch lists:merge([a, [1, 2, 3], c])),
- {'EXIT', _} = (catch lists:merge([a, [1, 2, 3], [4, 5, 6]])),
- {'EXIT', _} = (catch lists:merge([[1, 2, 3], b, c])),
- {'EXIT', _} = (catch lists:merge([[1, 2, 3], b, [4, 5, 6]])),
- {'EXIT', _} = (catch lists:merge([[1, 2, 3], [4, 5, 6], c])),
+ ?assertError(_, lists:merge([a])),
+ ?assertError(_, lists:merge([a, b])),
+ ?assertError(_, lists:merge([a, []])),
+ ?assertError(_, lists:merge([[], b])),
+ ?assertError(_, lists:merge([a, [1, 2, 3]])),
+ ?assertError(_, lists:merge([[1, 2, 3], b])),
+ ?assertError(_, lists:merge([a, b, c])),
+ ?assertError(_, lists:merge([a, b, []])),
+ ?assertError(_, lists:merge([a, [], c])),
+ ?assertError(_, lists:merge([a, [], []])),
+ ?assertError(_, lists:merge([[], b, c])),
+ ?assertError(_, lists:merge([[], b, []])),
+ ?assertError(_, lists:merge([[], [], c])),
+ ?assertError(_, lists:merge([a, b, [1, 2, 3]])),
+ ?assertError(_, lists:merge([a, [1, 2, 3], c])),
+ ?assertError(_, lists:merge([a, [1, 2, 3], [4, 5, 6]])),
+ ?assertError(_, lists:merge([[1, 2, 3], b, c])),
+ ?assertError(_, lists:merge([[1, 2, 3], b, [4, 5, 6]])),
+ ?assertError(_, lists:merge([[1, 2, 3], [4, 5, 6], c])),
Two = [1,2],
Six = [1,2,3,4,5,6],
@@ -500,11 +501,11 @@ merge(Config) when is_list(Config) ->
true = erts_debug:same(Singleton, lists:merge([], Singleton)),
true = erts_debug:same(Singleton, lists:merge(Singleton, [])),
- {'EXIT', _} = (catch lists:merge(a, b)),
- {'EXIT', _} = (catch lists:merge(a, [])),
- {'EXIT', _} = (catch lists:merge([], b)),
- {'EXIT', _} = (catch lists:merge(a, [1, 2, 3])),
- {'EXIT', _} = (catch lists:merge([1, 2, 3], b)),
+ ?assertError(_, lists:merge(a, b)),
+ ?assertError(_, lists:merge(a, [])),
+ ?assertError(_, lists:merge([], b)),
+ ?assertError(_, lists:merge(a, [1, 2, 3])),
+ ?assertError(_, lists:merge([1, 2, 3], b)),
%% 3-way merge
[] = lists:merge3([], [], []),
@@ -526,17 +527,17 @@ merge(Config) when is_list(Config) ->
true = erts_debug:same(Singleton, lists:merge3([], Singleton, [])),
true = erts_debug:same(Singleton, lists:merge3(Singleton, [], [])),
- {'EXIT', _} = (catch lists:merge3(a, b, c)),
- {'EXIT', _} = (catch lists:merge3(a, b, [])),
- {'EXIT', _} = (catch lists:merge3(a, [], c)),
- {'EXIT', _} = (catch lists:merge3(a, [], [])),
- {'EXIT', _} = (catch lists:merge3([], b, [])),
- {'EXIT', _} = (catch lists:merge3([], [], c)),
- {'EXIT', _} = (catch lists:merge3(a, b, [1, 2, 3])),
- {'EXIT', _} = (catch lists:merge3(a, [1, 2, 3], c)),
- {'EXIT', _} = (catch lists:merge3(a, [1, 2, 3], [4, 5, 6])),
- {'EXIT', _} = (catch lists:merge3([1, 2, 3], b, [4, 5, 6])),
- {'EXIT', _} = (catch lists:merge3([1, 2, 3], [4, 5, 6], c)),
+ ?assertError(_, lists:merge3(a, b, c)),
+ ?assertError(_, lists:merge3(a, b, [])),
+ ?assertError(_, lists:merge3(a, [], c)),
+ ?assertError(_, lists:merge3(a, [], [])),
+ ?assertError(_, lists:merge3([], b, [])),
+ ?assertError(_, lists:merge3([], [], c)),
+ ?assertError(_, lists:merge3(a, b, [1, 2, 3])),
+ ?assertError(_, lists:merge3(a, [1, 2, 3], c)),
+ ?assertError(_, lists:merge3(a, [1, 2, 3], [4, 5, 6])),
+ ?assertError(_, lists:merge3([1, 2, 3], b, [4, 5, 6])),
+ ?assertError(_, lists:merge3([1, 2, 3], [4, 5, 6], c)),
ok.
@@ -566,11 +567,11 @@ rmerge(Config) when is_list(Config) ->
true = erts_debug:same(Singleton, lists:rmerge([], Singleton)),
true = erts_debug:same(Singleton, lists:rmerge(Singleton, [])),
- {'EXIT', _} = (catch lists:rmerge(a, b)),
- {'EXIT', _} = (catch lists:rmerge(a, [])),
- {'EXIT', _} = (catch lists:rmerge([], b)),
- {'EXIT', _} = (catch lists:rmerge(a, [1, 2, 3])),
- {'EXIT', _} = (catch lists:rmerge([1, 2, 3], b)),
+ ?assertError(_, lists:rmerge(a, b)),
+ ?assertError(_, lists:rmerge(a, [])),
+ ?assertError(_, lists:rmerge([], b)),
+ ?assertError(_, lists:rmerge(a, [1, 2, 3])),
+ ?assertError(_, lists:rmerge([1, 2, 3], b)),
Nine = [9,8,7,6,5,4,3,2,1],
@@ -594,17 +595,17 @@ rmerge(Config) when is_list(Config) ->
true = erts_debug:same(Singleton, lists:rmerge3([], Singleton, [])),
true = erts_debug:same(Singleton, lists:rmerge3(Singleton, [], [])),
- {'EXIT', _} = (catch lists:rmerge3(a, b, c)),
- {'EXIT', _} = (catch lists:rmerge3(a, b, [])),
- {'EXIT', _} = (catch lists:rmerge3(a, [], c)),
- {'EXIT', _} = (catch lists:rmerge3(a, [], [])),
- {'EXIT', _} = (catch lists:rmerge3([], b, [])),
- {'EXIT', _} = (catch lists:rmerge3([], [], c)),
- {'EXIT', _} = (catch lists:rmerge3(a, b, [1, 2, 3])),
- {'EXIT', _} = (catch lists:rmerge3(a, [1, 2, 3], c)),
- {'EXIT', _} = (catch lists:rmerge3(a, [1, 2, 3], [4, 5, 6])),
- {'EXIT', _} = (catch lists:rmerge3([1, 2, 3], b, [4, 5, 6])),
- {'EXIT', _} = (catch lists:rmerge3([1, 2, 3], [4, 5, 6], c)),
+ ?assertError(_, lists:rmerge3(a, b, c)),
+ ?assertError(_, lists:rmerge3(a, b, [])),
+ ?assertError(_, lists:rmerge3(a, [], c)),
+ ?assertError(_, lists:rmerge3(a, [], [])),
+ ?assertError(_, lists:rmerge3([], b, [])),
+ ?assertError(_, lists:rmerge3([], [], c)),
+ ?assertError(_, lists:rmerge3(a, b, [1, 2, 3])),
+ ?assertError(_, lists:rmerge3(a, [1, 2, 3], c)),
+ ?assertError(_, lists:rmerge3(a, [1, 2, 3], [4, 5, 6])),
+ ?assertError(_, lists:rmerge3([1, 2, 3], b, [4, 5, 6])),
+ ?assertError(_, lists:rmerge3([1, 2, 3], [4, 5, 6], c)),
ok.
@@ -775,25 +776,25 @@ umerge(Conf) when is_list(Conf) ->
true = erts_debug:same(Singleton, lists:umerge([[], Singleton, []])),
true = erts_debug:same(Singleton, lists:umerge([[], [], Singleton])),
- {'EXIT', _} = (catch lists:umerge([a])),
- {'EXIT', _} = (catch lists:umerge([a, b])),
- {'EXIT', _} = (catch lists:umerge([a, []])),
- {'EXIT', _} = (catch lists:umerge([[], b])),
- {'EXIT', _} = (catch lists:umerge([a, [1, 2, 3]])),
- {'EXIT', _} = (catch lists:umerge([[1, 2, 3], b])),
- {'EXIT', _} = (catch lists:umerge([a, b, c])),
- {'EXIT', _} = (catch lists:umerge([a, b, []])),
- {'EXIT', _} = (catch lists:umerge([a, [], c])),
- {'EXIT', _} = (catch lists:umerge([a, [], []])),
- {'EXIT', _} = (catch lists:umerge([[], b, c])),
- {'EXIT', _} = (catch lists:umerge([[], b, []])),
- {'EXIT', _} = (catch lists:umerge([[], [], c])),
- {'EXIT', _} = (catch lists:umerge([a, b, [1, 2, 3]])),
- {'EXIT', _} = (catch lists:umerge([a, [1, 2, 3], c])),
- {'EXIT', _} = (catch lists:umerge([a, [1, 2, 3], [4, 5, 6]])),
- {'EXIT', _} = (catch lists:umerge([[1, 2, 3], b, c])),
- {'EXIT', _} = (catch lists:umerge([[1, 2, 3], b, [4, 5, 6]])),
- {'EXIT', _} = (catch lists:umerge([[1, 2, 3], [4, 5, 6], c])),
+ ?assertError(_, lists:umerge([a])),
+ ?assertError(_, lists:umerge([a, b])),
+ ?assertError(_, lists:umerge([a, []])),
+ ?assertError(_, lists:umerge([[], b])),
+ ?assertError(_, lists:umerge([a, [1, 2, 3]])),
+ ?assertError(_, lists:umerge([[1, 2, 3], b])),
+ ?assertError(_, lists:umerge([a, b, c])),
+ ?assertError(_, lists:umerge([a, b, []])),
+ ?assertError(_, lists:umerge([a, [], c])),
+ ?assertError(_, lists:umerge([a, [], []])),
+ ?assertError(_, lists:umerge([[], b, c])),
+ ?assertError(_, lists:umerge([[], b, []])),
+ ?assertError(_, lists:umerge([[], [], c])),
+ ?assertError(_, lists:umerge([a, b, [1, 2, 3]])),
+ ?assertError(_, lists:umerge([a, [1, 2, 3], c])),
+ ?assertError(_, lists:umerge([a, [1, 2, 3], [4, 5, 6]])),
+ ?assertError(_, lists:umerge([[1, 2, 3], b, c])),
+ ?assertError(_, lists:umerge([[1, 2, 3], b, [4, 5, 6]])),
+ ?assertError(_, lists:umerge([[1, 2, 3], [4, 5, 6], c])),
Two = [1,2],
Six = [1,2,3,4,5,6],
@@ -824,11 +825,11 @@ umerge(Conf) when is_list(Conf) ->
true = erts_debug:same(Singleton, lists:umerge([], Singleton)),
true = erts_debug:same(Singleton, lists:umerge(Singleton, [])),
- {'EXIT', _} = (catch lists:umerge(a, b)),
- {'EXIT', _} = (catch lists:umerge(a, [])),
- {'EXIT', _} = (catch lists:umerge([], b)),
- {'EXIT', _} = (catch lists:umerge(a, [1, 2, 3])),
- {'EXIT', _} = (catch lists:umerge([1, 2, 3], b)),
+ ?assertError(_, lists:umerge(a, b)),
+ ?assertError(_, lists:umerge(a, [])),
+ ?assertError(_, lists:umerge([], b)),
+ ?assertError(_, lists:umerge(a, [1, 2, 3])),
+ ?assertError(_, lists:umerge([1, 2, 3], b)),
%% 3-way unique merge
[] = lists:umerge3([], [], []),
@@ -855,17 +856,17 @@ umerge(Conf) when is_list(Conf) ->
true = erts_debug:same(Singleton, lists:umerge3([], Singleton, [])),
true = erts_debug:same(Singleton, lists:umerge3(Singleton, [], [])),
- {'EXIT', _} = (catch lists:umerge3(a, b, c)),
- {'EXIT', _} = (catch lists:umerge3(a, b, [])),
- {'EXIT', _} = (catch lists:umerge3(a, [], c)),
- {'EXIT', _} = (catch lists:umerge3(a, [], [])),
- {'EXIT', _} = (catch lists:umerge3([], b, [])),
- {'EXIT', _} = (catch lists:umerge3([], [], c)),
- {'EXIT', _} = (catch lists:umerge3(a, b, [1, 2, 3])),
- {'EXIT', _} = (catch lists:umerge3(a, [1, 2, 3], c)),
- {'EXIT', _} = (catch lists:umerge3(a, [1, 2, 3], [4, 5, 6])),
- {'EXIT', _} = (catch lists:umerge3([1, 2, 3], b, [4, 5, 6])),
- {'EXIT', _} = (catch lists:umerge3([1, 2, 3], [4, 5, 6], c)),
+ ?assertError(_, lists:umerge3(a, b, c)),
+ ?assertError(_, lists:umerge3(a, b, [])),
+ ?assertError(_, lists:umerge3(a, [], c)),
+ ?assertError(_, lists:umerge3(a, [], [])),
+ ?assertError(_, lists:umerge3([], b, [])),
+ ?assertError(_, lists:umerge3([], [], c)),
+ ?assertError(_, lists:umerge3(a, b, [1, 2, 3])),
+ ?assertError(_, lists:umerge3(a, [1, 2, 3], c)),
+ ?assertError(_, lists:umerge3(a, [1, 2, 3], [4, 5, 6])),
+ ?assertError(_, lists:umerge3([1, 2, 3], b, [4, 5, 6])),
+ ?assertError(_, lists:umerge3([1, 2, 3], [4, 5, 6], c)),
ok.
@@ -901,11 +902,11 @@ rumerge(Conf) when is_list(Conf) ->
true = erts_debug:same(Singleton, lists:rumerge([], Singleton)),
true = erts_debug:same(Singleton, lists:rumerge(Singleton, [])),
- {'EXIT', _} = (catch lists:rumerge(a, b)),
- {'EXIT', _} = (catch lists:rumerge(a, [])),
- {'EXIT', _} = (catch lists:rumerge([], b)),
- {'EXIT', _} = (catch lists:rumerge(a, [1, 2, 3])),
- {'EXIT', _} = (catch lists:rumerge([1, 2, 3], b)),
+ ?assertError(_, lists:rumerge(a, b)),
+ ?assertError(_, lists:rumerge(a, [])),
+ ?assertError(_, lists:rumerge([], b)),
+ ?assertError(_, lists:rumerge(a, [1, 2, 3])),
+ ?assertError(_, lists:rumerge([1, 2, 3], b)),
Nine = [9,8,7,6,5,4,3,2,1],
@@ -940,17 +941,17 @@ rumerge(Conf) when is_list(Conf) ->
true = erts_debug:same(Singleton, lists:rumerge3([], Singleton, [])),
true = erts_debug:same(Singleton, lists:rumerge3(Singleton, [], [])),
- {'EXIT', _} = (catch lists:rumerge3(a, b, c)),
- {'EXIT', _} = (catch lists:rumerge3(a, b, [])),
- {'EXIT', _} = (catch lists:rumerge3(a, [], c)),
- {'EXIT', _} = (catch lists:rumerge3(a, [], [])),
- {'EXIT', _} = (catch lists:rumerge3([], b, [])),
- {'EXIT', _} = (catch lists:rumerge3([], [], c)),
- {'EXIT', _} = (catch lists:rumerge3(a, b, [1, 2, 3])),
- {'EXIT', _} = (catch lists:rumerge3(a, [1, 2, 3], c)),
- {'EXIT', _} = (catch lists:rumerge3(a, [1, 2, 3], [4, 5, 6])),
- {'EXIT', _} = (catch lists:rumerge3([1, 2, 3], b, [4, 5, 6])),
- {'EXIT', _} = (catch lists:rumerge3([1, 2, 3], [4, 5, 6], c)),
+ ?assertError(_, lists:rumerge3(a, b, c)),
+ ?assertError(_, lists:rumerge3(a, b, [])),
+ ?assertError(_, lists:rumerge3(a, [], c)),
+ ?assertError(_, lists:rumerge3(a, [], [])),
+ ?assertError(_, lists:rumerge3([], b, [])),
+ ?assertError(_, lists:rumerge3([], [], c)),
+ ?assertError(_, lists:rumerge3(a, b, [1, 2, 3])),
+ ?assertError(_, lists:rumerge3(a, [1, 2, 3], c)),
+ ?assertError(_, lists:rumerge3(a, [1, 2, 3], [4, 5, 6])),
+ ?assertError(_, lists:rumerge3([1, 2, 3], b, [4, 5, 6])),
+ ?assertError(_, lists:rumerge3([1, 2, 3], [4, 5, 6], c)),
ok.
@@ -1046,11 +1047,11 @@ keymerge(Config) when is_list(Config) ->
true = erts_debug:same(Singleton, lists:keymerge(1, Singleton, [])),
true = erts_debug:same(Singleton, lists:keymerge(1, [], Singleton)),
- {'EXIT', _} = (catch lists:keymerge(1, a, b)),
- {'EXIT', _} = (catch lists:keymerge(1, a, [])),
- {'EXIT', _} = (catch lists:keymerge(1, [], b)),
- {'EXIT', _} = (catch lists:keymerge(1, a, [{1, a}, {2, b}, {3, c}])),
- {'EXIT', _} = (catch lists:keymerge(1, [{1, a}, {2, b}, {3, c}], b)),
+ ?assertError(_, lists:keymerge(1, a, b)),
+ ?assertError(_, lists:keymerge(1, a, [])),
+ ?assertError(_, lists:keymerge(1, [], b)),
+ ?assertError(_, lists:keymerge(1, a, [{1, a}, {2, b}, {3, c}])),
+ ?assertError(_, lists:keymerge(1, [{1, a}, {2, b}, {3, c}], b)),
ok.
@@ -1093,11 +1094,11 @@ rkeymerge(Config) when is_list(Config) ->
true = erts_debug:same(Singleton, lists:rkeymerge(1, Singleton, [])),
true = erts_debug:same(Singleton, lists:rkeymerge(1, [], Singleton)),
- {'EXIT', _} = (catch lists:rkeymerge(1, a, b)),
- {'EXIT', _} = (catch lists:rkeymerge(1, a, [])),
- {'EXIT', _} = (catch lists:rkeymerge(1, [], b)),
- {'EXIT', _} = (catch lists:rkeymerge(1, a, [{1, a}, {2, b}, {3, c}])),
- {'EXIT', _} = (catch lists:rkeymerge(1, [{1, a}, {2, b}, {3, c}], b)),
+ ?assertError(_, lists:rkeymerge(1, a, b)),
+ ?assertError(_, lists:rkeymerge(1, a, [])),
+ ?assertError(_, lists:rkeymerge(1, [], b)),
+ ?assertError(_, lists:rkeymerge(1, a, [{1, a}, {2, b}, {3, c}])),
+ ?assertError(_, lists:rkeymerge(1, [{1, a}, {2, b}, {3, c}], b)),
ok.
@@ -1190,14 +1191,14 @@ lists_keyeq(_I, _X, []) -> [].
%% keysort should exit when given bad arguments
keysort_error(Config) when is_list(Config) ->
- {'EXIT', _} = (catch lists:keysort(0, [{1,b},{1,c}])),
- {'EXIT', _} = (catch lists:keysort(3, [{1,b},{1,c}])),
- {'EXIT', _} = (catch lists:keysort(1.5, [{1,b},{1,c}])),
- {'EXIT', _} = (catch lists:keysort(x, [{1,b},{1,c}])),
- {'EXIT', _} = (catch lists:keysort(x, [])),
- {'EXIT', _} = (catch lists:keysort(x, [{1,b}])),
- {'EXIT', _} = (catch lists:keysort(1, [a,b])),
- {'EXIT', _} = (catch lists:keysort(1, [{1,b} | {1,c}])),
+ ?assertError(_, lists:keysort(0, [{1,b},{1,c}])),
+ ?assertError(_, lists:keysort(3, [{1,b},{1,c}])),
+ ?assertError(_, lists:keysort(1.5, [{1,b},{1,c}])),
+ ?assertError(_, lists:keysort(x, [{1,b},{1,c}])),
+ ?assertError(_, lists:keysort(x, [])),
+ ?assertError(_, lists:keysort(x, [{1,b}])),
+ ?assertError(_, lists:keysort(1, [a,b])),
+ ?assertError(_, lists:keysort(1, [{1,b} | {1,c}])),
ok.
%% keysort with other key than first element
@@ -1235,12 +1236,10 @@ check_sorted(I, Input, L) ->
check_sorted(_I, _J, _Input, []) ->
ok;
check_sorted(I, J, Input, [A | Rest]) ->
- case catch check_sorted1(I, J, A, Rest) of
- {'EXIT', _} ->
+ try check_sorted1(I, J, A, Rest)
+ catch _:_ ->
io:format("~w~n", [Input]),
- erlang:error(check_sorted);
- Reply ->
- Reply
+ erlang:error(check_sorted)
end.
check_sorted1(_I, _J, _A, []) ->
@@ -1312,11 +1311,11 @@ ukeymerge(Conf) when is_list(Conf) ->
true = erts_debug:same(Singleton, lists:ukeymerge(1, Singleton, [])),
true = erts_debug:same(Singleton, lists:ukeymerge(1, [], Singleton)),
- {'EXIT', _} = (catch lists:ukeymerge(1, a, b)),
- {'EXIT', _} = (catch lists:ukeymerge(1, a, [])),
- {'EXIT', _} = (catch lists:ukeymerge(1, [], b)),
- {'EXIT', _} = (catch lists:ukeymerge(1, a, [{1, a}, {2, b}, {3, c}])),
- {'EXIT', _} = (catch lists:ukeymerge(1, [{1, a}, {2, b}, {3, c}], b)),
+ ?assertError(_, lists:ukeymerge(1, a, b)),
+ ?assertError(_, lists:ukeymerge(1, a, [])),
+ ?assertError(_, lists:ukeymerge(1, [], b)),
+ ?assertError(_, lists:ukeymerge(1, a, [{1, a}, {2, b}, {3, c}])),
+ ?assertError(_, lists:ukeymerge(1, [{1, a}, {2, b}, {3, c}], b)),
ok.
@@ -1376,11 +1375,11 @@ rukeymerge(Conf) when is_list(Conf) ->
true = erts_debug:same(Singleton, lists:rukeymerge(1, Singleton, [])),
true = erts_debug:same(Singleton, lists:rukeymerge(1, [], Singleton)),
- {'EXIT', _} = (catch lists:rukeymerge(1, a, b)),
- {'EXIT', _} = (catch lists:rukeymerge(1, a, [])),
- {'EXIT', _} = (catch lists:rukeymerge(1, [], b)),
- {'EXIT', _} = (catch lists:rukeymerge(1, a, [{1, a}, {2, b}, {3, c}])),
- {'EXIT', _} = (catch lists:rukeymerge(1, [{1, a}, {2, b}, {3, c}], b)),
+ ?assertError(_, lists:rukeymerge(1, a, b)),
+ ?assertError(_, lists:rukeymerge(1, a, [])),
+ ?assertError(_, lists:rukeymerge(1, [], b)),
+ ?assertError(_, lists:rukeymerge(1, a, [{1, a}, {2, b}, {3, c}])),
+ ?assertError(_, lists:rukeymerge(1, [{1, a}, {2, b}, {3, c}], b)),
ok.
@@ -1449,14 +1448,14 @@ ukeysort_1(Config) when is_list(Config) ->
%% ukeysort should exit when given bad arguments.
ukeysort_error(Config) when is_list(Config) ->
- {'EXIT', _} = (catch lists:ukeysort(0, [{1,b},{1,c}])),
- {'EXIT', _} = (catch lists:ukeysort(3, [{1,b},{1,c}])),
- {'EXIT', _} = (catch lists:ukeysort(1.5, [{1,b},{1,c}])),
- {'EXIT', _} = (catch lists:ukeysort(x, [{1,b},{1,c}])),
- {'EXIT', _} = (catch lists:ukeysort(x, [])),
- {'EXIT', _} = (catch lists:ukeysort(x, [{1,b}])),
- {'EXIT', _} = (catch lists:ukeysort(1, [a,b])),
- {'EXIT', _} = (catch lists:ukeysort(1, [{1,b} | {1,c}])),
+ ?assertError(_, lists:ukeysort(0, [{1,b},{1,c}])),
+ ?assertError(_, lists:ukeysort(3, [{1,b},{1,c}])),
+ ?assertError(_, lists:ukeysort(1.5, [{1,b},{1,c}])),
+ ?assertError(_, lists:ukeysort(x, [{1,b},{1,c}])),
+ ?assertError(_, lists:ukeysort(x, [])),
+ ?assertError(_, lists:ukeysort(x, [{1,b}])),
+ ?assertError(_, lists:ukeysort(1, [a,b])),
+ ?assertError(_, lists:ukeysort(1, [{1,b} | {1,c}])),
ok.
%% ukeysort with other key than first element.
@@ -1508,12 +1507,10 @@ ucheck_sorted(I, Input, L) ->
ucheck_sorted(_I, _J, _Input, []) ->
ok;
ucheck_sorted(I, J, Input, [A | Rest]) ->
- case catch ucheck_sorted1(I, J, A, Rest) of
- {'EXIT', _} ->
+ try ucheck_sorted1(I, J, A, Rest)
+ catch _:_ ->
io:format("~w~n", [Input]),
- erlang:error(ucheck_sorted);
- Reply ->
- Reply
+ erlang:error(ucheck_sorted)
end.
ucheck_sorted1(_I, _J, _A, []) ->
@@ -1691,7 +1688,7 @@ display_state(S) ->
%% Test for infinite loop (OTP-2404).
seq_loop(Config) when is_list(Config) ->
- _ = (catch lists:seq(1, 5, -1)),
+ ?assertError(_, lists:seq(1, 5, -1)),
ok.
%% Non-error cases for seq/2.
@@ -1712,7 +1709,7 @@ seq_2_e(Config) when is_list(Config) ->
ok.
seq_error(Args) ->
- {'EXIT', _} = (catch apply(lists, seq, Args)).
+ ?assertError(_, apply(lists, seq, Args)).
%% Non-error cases for seq/3.
seq_3(Config) when is_list(Config) ->
@@ -1761,15 +1758,15 @@ otp_7230(Config) when is_list(Config) ->
[] =
[{F, T, S} ||
F <- L, T <- L, S <- SL,
- not check_seq(F, T, S, catch lists:seq(F, T, S))
+ not check_seq(F, T, S, try lists:seq(F, T, S) catch error:_ -> error end)
orelse
- S =:= 1 andalso not check_seq(F, T, S, catch lists:seq(F, T))
+ S =:= 1 andalso not check_seq(F, T, S, try lists:seq(F, T) catch error:_ -> error end)
].
check_seq(From, To, 0, R) ->
From =:= To andalso R =:= [From]
orelse
- From =/= To andalso is_tuple(R) andalso element(1, R) =:= 'EXIT';
+ From =/= To andalso R =:= error;
check_seq(From, To, Step, []) when Step =/= 0 ->
0 =:= property(From, To, Step)
andalso
@@ -1779,9 +1776,9 @@ check_seq(From, To, Step, []) when Step =/= 0 ->
Step < 0 andalso To > From andalso To-From =< -Step
);
check_seq(From, To, Step, R) when R =/= [], To < From, Step > 0 ->
- is_tuple(R) andalso element(1, R) =:= 'EXIT';
+ R =:= error;
check_seq(From, To, Step, R) when R =/= [], To > From, Step < 0 ->
- is_tuple(R) andalso element(1, R) =:= 'EXIT';
+ R =:= error;
check_seq(From, To, Step, L) when is_list(L), L =/= [], Step =/= 0 ->
First = hd(L),
Last = lists:last(L),
@@ -1818,8 +1815,8 @@ property(From, To, Step) ->
%%%------------------------------------------------------------
--define(sublist_error2(X,Y), {'EXIT', _} = (catch lists:sublist(X,Y))).
--define(sublist_error3(X,Y,Z), {'EXIT', _} = (catch lists:sublist(X,Y,Z))).
+-define(sublist_error2(X,Y), ?assertError(_, lists:sublist(X,Y))).
+-define(sublist_error3(X,Y,Z), ?assertError(_, lists:sublist(X,Y,Z))).
sublist_2(Config) when is_list(Config) ->
[] = lists:sublist([], 0),
@@ -1907,8 +1904,8 @@ sublist_3_e(Config) when is_list(Config) ->
%%%------------------------------------------------------------
--define(flatten_error1(X), {'EXIT', _} = (catch lists:flatten(X))).
--define(flatten_error2(X,Y), {'EXIT', _} = (catch lists:flatten(X,Y))).
+-define(flatten_error1(X), ?assertError(_, lists:flatten(X))).
+-define(flatten_error2(X,Y), ?assertError(_, lists:flatten(X,Y))).
%% Test lists:flatten/1,2 and lists:flatlength/1.
flatten_1(Config) when is_list(Config) ->
@@ -1970,20 +1967,20 @@ zip_unzip(Config) when is_list(Config) ->
{[a,c],[b,d]} = lists:unzip([{a,b},{c,d}]),
%% Error cases.
- {'EXIT',{function_clause,_}} = (catch lists:zip([], [b])),
- {'EXIT',{function_clause,_}} = (catch lists:zip([a], [])),
- {'EXIT',{function_clause,_}} = (catch lists:zip([a], [b,c])),
- {'EXIT',{function_clause,_}} = (catch lists:zip([a], [b,c])),
+ ?assertError(function_clause, lists:zip([], [b])),
+ ?assertError(function_clause, lists:zip([a], [])),
+ ?assertError(function_clause, lists:zip([a], [b,c])),
+ ?assertError(function_clause, lists:zip([a], [b,c])),
ok.
zip_fail(Config) when is_list(Config) ->
[] = lists:zip([], [], fail),
- {'EXIT', {function_clause, _}} = (catch lists:zip([a], [], fail)),
- {'EXIT', {function_clause, _}} = (catch lists:zip([], [c], fail)),
+ ?assertError(function_clause, lists:zip([a], [], fail)),
+ ?assertError(function_clause, lists:zip([], [c], fail)),
[{a, c}] = lists:zip([a], [c], fail),
- {'EXIT', {function_clause, _}} = (catch lists:zip([a, b], [c], fail)),
- {'EXIT', {function_clause, _}} = (catch lists:zip([a], [c, d], fail)),
+ ?assertError(function_clause, lists:zip([a, b], [c], fail)),
+ ?assertError(function_clause, lists:zip([a], [c, d], fail)),
ok.
@@ -2031,28 +2028,28 @@ zip_unzip3(Config) when is_list(Config) ->
{[a],[b],[c]} = lists:unzip3([{a,b,c}]),
%% Error cases.
- {'EXIT',{function_clause,_}} = (catch lists:zip3([], [], [c])),
- {'EXIT',{function_clause,_}} = (catch lists:zip3([], [b], [])),
- {'EXIT',{function_clause,_}} = (catch lists:zip3([a], [], [])),
+ ?assertError(function_clause, lists:zip3([], [], [c])),
+ ?assertError(function_clause, lists:zip3([], [b], [])),
+ ?assertError(function_clause, lists:zip3([a], [], [])),
ok.
zip3_fail(Config) when is_list(Config) ->
[] = lists:zip3([], [], [], fail),
- {'EXIT', {function_clause, _}} = (catch lists:zip3([a], [], [], fail)),
- {'EXIT', {function_clause, _}} = (catch lists:zip3([], [c], [], fail)),
- {'EXIT', {function_clause, _}} = (catch lists:zip3([a], [c], [], fail)),
- {'EXIT', {function_clause, _}} = (catch lists:zip3([], [], [e], fail)),
- {'EXIT', {function_clause, _}} = (catch lists:zip3([a], [], [e], fail)),
- {'EXIT', {function_clause, _}} = (catch lists:zip3([], [c], [e], fail)),
+ ?assertError(function_clause, lists:zip3([a], [], [], fail)),
+ ?assertError(function_clause, lists:zip3([], [c], [], fail)),
+ ?assertError(function_clause, lists:zip3([a], [c], [], fail)),
+ ?assertError(function_clause, lists:zip3([], [], [e], fail)),
+ ?assertError(function_clause, lists:zip3([a], [], [e], fail)),
+ ?assertError(function_clause, lists:zip3([], [c], [e], fail)),
[{a, c, e}] = lists:zip3([a], [c], [e], fail),
- {'EXIT', {function_clause, _}} = (catch lists:zip3([a, b], [c], [e], fail)),
- {'EXIT', {function_clause, _}} = (catch lists:zip3([a], [c, d], [e], fail)),
- {'EXIT', {function_clause, _}} = (catch lists:zip3([a, b], [c, d], [e], fail)),
- {'EXIT', {function_clause, _}} = (catch lists:zip3([a], [c], [e, f], fail)),
- {'EXIT', {function_clause, _}} = (catch lists:zip3([a, b], [c], [e, f], fail)),
- {'EXIT', {function_clause, _}} = (catch lists:zip3([a], [c, d], [e, f], fail)),
+ ?assertError(function_clause, lists:zip3([a, b], [c], [e], fail)),
+ ?assertError(function_clause, lists:zip3([a], [c, d], [e], fail)),
+ ?assertError(function_clause, lists:zip3([a, b], [c, d], [e], fail)),
+ ?assertError(function_clause, lists:zip3([a], [c], [e, f], fail)),
+ ?assertError(function_clause, lists:zip3([a, b], [c], [e, f], fail)),
+ ?assertError(function_clause, lists:zip3([a], [c, d], [e, f], fail)),
ok.
@@ -2111,23 +2108,23 @@ zipwith(Config) when is_list(Config) ->
SeqB = [B || [_|B] <- AB],
%% Error cases.
- {'EXIT',{function_clause,_}} = (catch lists:zipwith(badfun, [], [])),
- {'EXIT',{function_clause,_}} = (catch lists:zipwith(Zip, [], [b])),
- {'EXIT',{function_clause,_}} = (catch lists:zipwith(Zip, [a], [])),
- {'EXIT',{function_clause,_}} = (catch lists:zipwith(Zip, [a], [b,c])),
- {'EXIT',{function_clause,_}} = (catch lists:zipwith(Zip, [a], [b,c])),
+ ?assertError(function_clause, lists:zipwith(badfun, [], [])),
+ ?assertError(function_clause, lists:zipwith(Zip, [], [b])),
+ ?assertError(function_clause, lists:zipwith(Zip, [a], [])),
+ ?assertError(function_clause, lists:zipwith(Zip, [a], [b,c])),
+ ?assertError(function_clause, lists:zipwith(Zip, [a], [b,c])),
ok.
zipwith_fail(Config) when is_list(Config) ->
Zip = fun(A, B) -> A * B end,
[] = lists:zipwith(Zip, [], [], fail),
- {'EXIT', {function_clause, _}} = (catch lists:zipwith(Zip, [2], [], fail)),
- {'EXIT', {function_clause, _}} = (catch lists:zipwith(Zip, [], [5], fail)),
+ ?assertError(function_clause, lists:zipwith(Zip, [2], [], fail)),
+ ?assertError(function_clause, lists:zipwith(Zip, [], [5], fail)),
[2 * 5] = lists:zipwith(Zip, [2], [5], fail),
- {'EXIT', {function_clause, _}} = (catch lists:zipwith(Zip, [2, 3], [5], fail)),
- {'EXIT', {function_clause, _}} = (catch lists:zipwith(Zip, [2], [5, 7], fail)),
+ ?assertError(function_clause, lists:zipwith(Zip, [2, 3], [5], fail)),
+ ?assertError(function_clause, lists:zipwith(Zip, [2], [5, 7], fail)),
ok.
@@ -2176,10 +2173,10 @@ zipwith3(Config) when is_list(Config) ->
SeqC = [C || [_,_,C] <- ABC],
%% Error cases.
- {'EXIT',{function_clause,_}} = (catch lists:zipwith3(badfun, [], [], [])),
- {'EXIT',{function_clause,_}} = (catch lists:zipwith3(Zip, [], [], [c])),
- {'EXIT',{function_clause,_}} = (catch lists:zipwith3(Zip, [], [b], [])),
- {'EXIT',{function_clause,_}} = (catch lists:zipwith3(Zip, [a], [], [])),
+ ?assertError(function_clause, lists:zipwith3(badfun, [], [], [])),
+ ?assertError(function_clause, lists:zipwith3(Zip, [], [], [c])),
+ ?assertError(function_clause, lists:zipwith3(Zip, [], [b], [])),
+ ?assertError(function_clause, lists:zipwith3(Zip, [a], [], [])),
ok.
@@ -2187,20 +2184,20 @@ zipwith3_fail(Config) when is_list(Config) ->
Zip = fun(A, B, C) -> A * B * C end,
[] = lists:zipwith3(Zip, [], [], [], fail),
- {'EXIT', {function_clause, _}} = (catch lists:zipwith3(Zip, [2], [], [], fail)),
- {'EXIT', {function_clause, _}} = (catch lists:zipwith3(Zip, [], [5], [], fail)),
- {'EXIT', {function_clause, _}} = (catch lists:zipwith3(Zip, [2], [5], [], fail)),
- {'EXIT', {function_clause, _}} = (catch lists:zipwith3(Zip, [], [], [11], fail)),
- {'EXIT', {function_clause, _}} = (catch lists:zipwith3(Zip, [2], [], [11], fail)),
- {'EXIT', {function_clause, _}} = (catch lists:zipwith3(Zip, [], [5], [11], fail)),
+ ?assertError(function_clause, lists:zipwith3(Zip, [2], [], [], fail)),
+ ?assertError(function_clause, lists:zipwith3(Zip, [], [5], [], fail)),
+ ?assertError(function_clause, lists:zipwith3(Zip, [2], [5], [], fail)),
+ ?assertError(function_clause, lists:zipwith3(Zip, [], [], [11], fail)),
+ ?assertError(function_clause, lists:zipwith3(Zip, [2], [], [11], fail)),
+ ?assertError(function_clause, lists:zipwith3(Zip, [], [5], [11], fail)),
[2 * 5 * 11] = lists:zipwith3(Zip, [2], [5], [11], fail),
- {'EXIT', {function_clause, _}} = (catch lists:zipwith3(Zip, [2, 3], [5], [11], fail)),
- {'EXIT', {function_clause, _}} = (catch lists:zipwith3(Zip, [2], [5, 7], [11], fail)),
- {'EXIT', {function_clause, _}} = (catch lists:zipwith3(Zip, [2, 3], [5, 7], [11], fail)),
- {'EXIT', {function_clause, _}} = (catch lists:zipwith3(Zip, [2], [5], [11, 13], fail)),
- {'EXIT', {function_clause, _}} = (catch lists:zipwith3(Zip, [2, 3], [5], [11, 13], fail)),
- {'EXIT', {function_clause, _}} = (catch lists:zipwith3(Zip, [2], [5, 7], [11, 13], fail)),
+ ?assertError(function_clause, lists:zipwith3(Zip, [2, 3], [5], [11], fail)),
+ ?assertError(function_clause, lists:zipwith3(Zip, [2], [5, 7], [11], fail)),
+ ?assertError(function_clause, lists:zipwith3(Zip, [2, 3], [5, 7], [11], fail)),
+ ?assertError(function_clause, lists:zipwith3(Zip, [2], [5], [11, 13], fail)),
+ ?assertError(function_clause, lists:zipwith3(Zip, [2, 3], [5], [11, 13], fail)),
+ ?assertError(function_clause, lists:zipwith3(Zip, [2], [5, 7], [11, 13], fail)),
ok.
@@ -2270,8 +2267,8 @@ filter_partition(Config) when is_list(Config) ->
filpart(F, [6,8,1,2,42,3,17], [6,8,2,42]),
%% Error cases.
- {'EXIT',{function_clause,_}} = (catch lists:filter(badfun, [])),
- {'EXIT',{function_clause,_}} = (catch lists:partition(badfun, [])),
+ ?assertError(function_clause, lists:filter(badfun, [])),
+ ?assertError(function_clause, lists:partition(badfun, [])),
ok.
filpart(F, All, Exp) ->
@@ -2289,67 +2286,67 @@ otp_5939(Config) when is_list(Config) ->
Fold = fun(_E, A) -> A end,
MapFold = fun(E, A) -> {E,A} end,
- {'EXIT', _} = (catch lists:usort( [asd], [qwe])),
+ ?assertError(_, lists:usort( [asd], [qwe])),
- {'EXIT', _} = (catch lists:zipwith(func, [], [])),
+ ?assertError(_, lists:zipwith(func, [], [])),
[] = lists:zipwith(Fun2, [], []),
- {'EXIT', _} = (catch lists:zipwith3(func, [], [], [])),
+ ?assertError(_, lists:zipwith3(func, [], [], [])),
[] = lists:zipwith3(Fun3, [], [], []),
- {'EXIT', _} = (catch lists:keymap(func, 1, [])),
- {'EXIT', _} = (catch lists:keymap(Fun1, 0, [])),
+ ?assertError(_, lists:keymap(func, 1, [])),
+ ?assertError(_, lists:keymap(Fun1, 0, [])),
[] = lists:keymap(Fun1, 1, []),
- {'EXIT', _} = (catch lists:merge(func, [], [1])),
- {'EXIT', _} = (catch lists:merge(func, [1], [])),
+ ?assertError(_, lists:merge(func, [], [1])),
+ ?assertError(_, lists:merge(func, [1], [])),
[] = lists:merge(Fun2, [], []),
- {'EXIT', _} = (catch lists:rmerge(func, [], [1])),
- {'EXIT', _} = (catch lists:rmerge(func, [1], [])),
+ ?assertError(_, lists:rmerge(func, [], [1])),
+ ?assertError(_, lists:rmerge(func, [1], [])),
[] = lists:rmerge(Fun2, [], []),
- {'EXIT', _} = (catch lists:usort(func, [])),
- {'EXIT', _} = (catch lists:usort(func, [a])),
- {'EXIT', _} = (catch lists:usort(func, [a, b])),
+ ?assertError(_, lists:usort(func, [])),
+ ?assertError(_, lists:usort(func, [a])),
+ ?assertError(_, lists:usort(func, [a, b])),
[] = lists:usort(Fun2, []),
- {'EXIT', _} = (catch lists:umerge(func, [], [1])),
- {'EXIT', _} = (catch lists:merge(func, [1], [])),
+ ?assertError(_, lists:umerge(func, [], [1])),
+ ?assertError(_, lists:merge(func, [1], [])),
[] = lists:umerge(Fun2, [], []),
- {'EXIT', _} = (catch lists:rumerge(func, [], [1])),
- {'EXIT', _} = (catch lists:rumerge(func, [1], [])),
+ ?assertError(_, lists:rumerge(func, [], [1])),
+ ?assertError(_, lists:rumerge(func, [1], [])),
[] = lists:rumerge(Fun2, [], []),
- {'EXIT', _} = (catch lists:all(func, [])),
+ ?assertError(_, lists:all(func, [])),
true = lists:all(Pred, []),
- {'EXIT', _} = (catch lists:any(func, [])),
+ ?assertError(_, lists:any(func, [])),
false = lists:any(Pred, []),
- {'EXIT', _} = (catch lists:map(func, [])),
+ ?assertError(_, lists:map(func, [])),
[] = lists:map(Fun1, []),
- {'EXIT', _} = (catch lists:flatmap(func, [])),
+ ?assertError(_, lists:flatmap(func, [])),
[] = lists:flatmap(Fun1, []),
- {'EXIT', _} = (catch lists:foldl(func, [], [])),
+ ?assertError(_, lists:foldl(func, [], [])),
[] = lists:foldl(Fold, [], []),
- {'EXIT', _} = (catch lists:foldr(func, [], [])),
+ ?assertError(_, lists:foldr(func, [], [])),
[] = lists:foldr(Fold, [], []),
- {'EXIT', _} = (catch lists:filter(func, [])),
+ ?assertError(_, lists:filter(func, [])),
[] = lists:filter(Pred, []),
- {'EXIT', _} = (catch lists:partition(func, [])),
+ ?assertError(_, lists:partition(func, [])),
{[],[]} = lists:partition(Pred, []),
- {'EXIT', _} = (catch lists:filtermap(func, [])),
+ ?assertError(_, lists:filtermap(func, [])),
[] = lists:filtermap(Fun1, []),
- {'EXIT', _} = (catch lists:foreach(func, [])),
+ ?assertError(_, lists:foreach(func, [])),
ok = lists:foreach(Fun1, []),
- {'EXIT', _} = (catch lists:mapfoldl(func, [], [])),
+ ?assertError(_, lists:mapfoldl(func, [], [])),
{[],[]} = lists:mapfoldl(MapFold, [], []),
- {'EXIT', _} = (catch lists:mapfoldr(func, [], [])),
+ ?assertError(_, lists:mapfoldr(func, [], [])),
{[],[]} = lists:mapfoldr(MapFold, [], []),
- {'EXIT', _} = (catch lists:takewhile(func, [])),
+ ?assertError(_, lists:takewhile(func, [])),
[] = lists:takewhile(Pred, []),
- {'EXIT', _} = (catch lists:dropwhile(func, [])),
+ ?assertError(_, lists:dropwhile(func, [])),
[] = lists:dropwhile(Pred, []),
- {'EXIT', _} = (catch lists:splitwith(func, [])),
+ ?assertError(_, lists:splitwith(func, [])),
{[],[]} = lists:splitwith(Pred, []),
ok.
%% OTP-6023. lists:keyreplace/4, a typecheck.
otp_6023(Config) when is_list(Config) ->
- {'EXIT', _} = (catch lists:keyreplace(a, 2, [{1,a}], b)),
+ ?assertError(_, lists:keyreplace(a, 2, [{1,a}], b)),
[{2,b}] = lists:keyreplace(a, 2, [{1,a}], {2,b}),
ok.
@@ -2389,12 +2386,12 @@ suffix(Config) when is_list(Config) ->
false = lists:suffix([2.0,3.0], [1,2,3]),
%% Error cases.
- {'EXIT',_} = (catch lists:suffix({a,b,c}, [])),
- {'EXIT',_} = (catch lists:suffix([], {a,b})),
- {'EXIT',_} = (catch lists:suffix([a|b], [])),
- {'EXIT',_} = (catch lists:suffix([a,b|c], [a|b])),
- {'EXIT',_} = (catch lists:suffix([a|b], [a,b|c])),
- {'EXIT',_} = (catch lists:suffix([a|b], [a|b])),
+ ?assertError(_, lists:suffix({a,b,c}, [])),
+ ?assertError(_, lists:suffix([], {a,b})),
+ ?assertError(_, lists:suffix([a|b], [])),
+ ?assertError(_, lists:suffix([a,b|c], [a|b])),
+ ?assertError(_, lists:suffix([a|b], [a,b|c])),
+ ?assertError(_, lists:suffix([a|b], [a|b])),
ok.
@@ -2432,11 +2429,11 @@ subtract(Config) when is_list(Config) ->
[1,2,3,4,43.0] = sub([1,2,3,4,5,42.0,43.0], [42.0,5]),
%% Crashing subtracts.
- {'EXIT',_} = (catch sub([], [a|b])),
- {'EXIT',_} = (catch sub([a], [a|b])),
- {'EXIT',_} = (catch sub([a|b], [])),
- {'EXIT',_} = (catch sub([a|b], [])),
- {'EXIT',_} = (catch sub([a|b], [a])),
+ ?assertError(_, sub([], [a|b])),
+ ?assertError(_, sub([a], [a|b])),
+ ?assertError(_, sub([a|b], [])),
+ ?assertError(_, sub([a|b], [])),
+ ?assertError(_, sub([a|b], [a])),
%% Trapping, both crashing and otherwise.
[sub_trapping(N) || N <- lists:seq(0, 18)],
@@ -2467,8 +2464,8 @@ sub_trapping(N) ->
List = lists:duplicate(N + (1 bsl N), gurka),
ImproperList = List ++ crash,
- {'EXIT',_} = (catch sub_trapping_1(ImproperList, [])),
- {'EXIT',_} = (catch sub_trapping_1(List, ImproperList)),
+ ?assertError(_, sub_trapping_1(ImproperList, [])),
+ ?assertError(_, sub_trapping_1(List, ImproperList)),
List = List -- lists:duplicate(N + (1 bsl N), gaffel),
ok = sub_trapping_1(List, []).
@@ -2502,8 +2499,8 @@ sub_thresholds(N) ->
droplast(Config) when is_list(Config) ->
[] = lists:droplast([x]),
[x] = lists:droplast([x, y]),
- {'EXIT', {function_clause, _}} = (catch lists:droplast([])),
- {'EXIT', {function_clause, _}} = (catch lists:droplast(x)),
+ ?assertError(function_clause, lists:droplast([])),
+ ?assertError(function_clause, lists:droplast(x)),
ok.
@@ -2517,8 +2514,8 @@ search(Config) when is_list(Config) ->
false = lists:search(F, []),
%% Error cases.
- {'EXIT',{function_clause,_}} = (catch lists:search(badfun, [])),
- {'EXIT',{function_clause,_}} = (catch lists:search(F2, [])),
+ ?assertError(function_clause, lists:search(badfun, [])),
+ ?assertError(function_clause, lists:search(F2, [])),
ok.
%% Briefly test the common high-order functions to ensure they
@@ -2573,28 +2570,28 @@ enumerate(Config) when is_list(Config) ->
[{10,a},{12,b},{14,c}] = lists:enumerate(10, 2, [a,b,c]),
[{10,a},{8,b},{6,c}] = lists:enumerate(10, -2, [a,b,c]),
[{-10,a},{-12,b},{-14,c}] = lists:enumerate(-10, -2, [a,b,c]),
- {'EXIT', {function_clause, _}} = catch lists:enumerate(0),
- {'EXIT', {function_clause, _}} = catch lists:enumerate(0, 10),
- {'EXIT', {function_clause, _}} = catch lists:enumerate(0, 10, 20),
- {'EXIT', {function_clause, _}} = catch lists:enumerate(1.0, []),
- {'EXIT', {function_clause, _}} = catch lists:enumerate(1.0, [a,b,c]),
- {'EXIT', {function_clause, _}} = catch lists:enumerate(1.0, 2, []),
- {'EXIT', {function_clause, _}} = catch lists:enumerate(1.0, 2, [a,b,c]),
- {'EXIT', {function_clause, _}} = catch lists:enumerate(1, 2.0, []),
- {'EXIT', {function_clause, _}} = catch lists:enumerate(1, 2.0, [a,b,c]),
- {'EXIT', {function_clause, _}} = catch lists:enumerate(1.0, 2.0, []),
- {'EXIT', {function_clause, _}} = catch lists:enumerate(1.0, 2.0, [a,b,c]),
- {'EXIT', {function_clause, _}} = catch lists:enumerate(<<1>>, []),
- {'EXIT', {function_clause, _}} = catch lists:enumerate(<<1>>, [a,b,c]),
- {'EXIT', {function_clause, _}} = catch lists:enumerate(<<1>>, 2, []),
- {'EXIT', {function_clause, _}} = catch lists:enumerate(<<1>>, 2, [a,b,c]),
- {'EXIT', {function_clause, _}} = catch lists:enumerate(1, <<2>>, []),
- {'EXIT', {function_clause, _}} = catch lists:enumerate(1, <<2>>, [a,b,c]),
- {'EXIT', {function_clause, _}} = catch lists:enumerate(<<1>>, <<2>>, []),
- {'EXIT', {function_clause, _}} = catch lists:enumerate(<<1>>, <<2>>, [a,b,c]),
- {'EXIT', {function_clause, _}} = catch lists:enumerate(<<1,2,3>>),
- {'EXIT', {function_clause, _}} = catch lists:enumerate(1, <<1,2,3>>),
- {'EXIT', {function_clause, _}} = catch lists:enumerate(1, 2, <<1,2,3>>),
+ ?assertError(function_clause, lists:enumerate(0)),
+ ?assertError(function_clause, lists:enumerate(0, 10)),
+ ?assertError(function_clause, lists:enumerate(0, 10, 20)),
+ ?assertError(function_clause, lists:enumerate(1.0, [])),
+ ?assertError(function_clause, lists:enumerate(1.0, [a,b,c])),
+ ?assertError(function_clause, lists:enumerate(1.0, 2, [])),
+ ?assertError(function_clause, lists:enumerate(1.0, 2, [a,b,c])),
+ ?assertError(function_clause, lists:enumerate(1, 2.0, [])),
+ ?assertError(function_clause, lists:enumerate(1, 2.0, [a,b,c])),
+ ?assertError(function_clause, lists:enumerate(1.0, 2.0, [])),
+ ?assertError(function_clause, lists:enumerate(1.0, 2.0, [a,b,c])),
+ ?assertError(function_clause, lists:enumerate(<<1>>, [])),
+ ?assertError(function_clause, lists:enumerate(<<1>>, [a,b,c])),
+ ?assertError(function_clause, lists:enumerate(<<1>>, 2, [])),
+ ?assertError(function_clause, lists:enumerate(<<1>>, 2, [a,b,c])),
+ ?assertError(function_clause, lists:enumerate(1, <<2>>, [])),
+ ?assertError(function_clause, lists:enumerate(1, <<2>>, [a,b,c])),
+ ?assertError(function_clause, lists:enumerate(<<1>>, <<2>>, [])),
+ ?assertError(function_clause, lists:enumerate(<<1>>, <<2>>, [a,b,c])),
+ ?assertError(function_clause, lists:enumerate(<<1,2,3>>)),
+ ?assertError(function_clause, lists:enumerate(1, <<1,2,3>>)),
+ ?assertError(function_clause, lists:enumerate(1, 2, <<1,2,3>>)),
ok.
--
2.51.0