File 9501-Remove-catch-in-unicode_SUITE.patch of Package erlang

From 033db0885cf71fc132985242a30f89f2ba362ee0 Mon Sep 17 00:00:00 2001
From: Maria Scott <maria-12648430@hnc-agency.org>
Date: Mon, 23 Mar 2026 17:03:20 +0100
Subject: [PATCH] Remove catch in unicode_SUITE

---
 lib/stdlib/test/unicode_SUITE.erl      | 151 +++++++++++++------------
 lib/stdlib/test/unicode_util_SUITE.erl |  37 +++---
 2 files changed, 95 insertions(+), 93 deletions(-)

diff --git a/lib/stdlib/test/unicode_SUITE.erl b/lib/stdlib/test/unicode_SUITE.erl
index 886b073854..89635da66e 100644
--- a/lib/stdlib/test/unicode_SUITE.erl
+++ b/lib/stdlib/test/unicode_SUITE.erl
@@ -22,6 +22,7 @@
 -module(unicode_SUITE).
 
 -include_lib("common_test/include/ct.hrl").
+-include_lib("stdlib/include/assert.hrl").
 
 -export([all/0, suite/0,groups/0,
 	 utf8_illegal_sequences_bif/1,
@@ -199,73 +200,73 @@ exceptions(Config) when is_list(Config) ->
 
 ex_exceptions(Config) when is_list(Config) ->
     L = lists:seq(0,255),
-    {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary(L++255,unicode)),
-    {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary({1,2,3},unicode)),
-    {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary(1,unicode)),
-    {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary(1.0,unicode)),
-    {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary('1',unicode)),
-    {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary([1,2,3,apa],unicode)),
-    {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary([1,2,3,4.0],unicode)),
-    {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary(L++255,latin1)),
-    {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary({1,2,3},latin1)),
-    {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary(1,latin1)),
-    {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary(1.0,latin1)),
-    {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary('1',latin1)),
-    {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary([1,2,3,apa],latin1)),
-    {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary([1,2,3,4.0],latin1)),
-    {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary(L,gnarfl)),
-    {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary(L,L)),
-    {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary(L,{latin1})),
-    {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary(L,[latin1])),
-    {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary(L,1)),
-    {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary(L,1.0)),
+    ?assertError(badarg, unicode:characters_to_binary(L++255,unicode)),
+    ?assertError(badarg, unicode:characters_to_binary({1,2,3},unicode)),
+    ?assertError(badarg, unicode:characters_to_binary(1,unicode)),
+    ?assertError(badarg, unicode:characters_to_binary(1.0,unicode)),
+    ?assertError(badarg, unicode:characters_to_binary('1',unicode)),
+    ?assertError(badarg, unicode:characters_to_binary([1,2,3,apa],unicode)),
+    ?assertError(badarg, unicode:characters_to_binary([1,2,3,4.0],unicode)),
+    ?assertError(badarg, unicode:characters_to_binary(L++255,latin1)),
+    ?assertError(badarg, unicode:characters_to_binary({1,2,3},latin1)),
+    ?assertError(badarg, unicode:characters_to_binary(1,latin1)),
+    ?assertError(badarg, unicode:characters_to_binary(1.0,latin1)),
+    ?assertError(badarg, unicode:characters_to_binary('1',latin1)),
+    ?assertError(badarg, unicode:characters_to_binary([1,2,3,apa],latin1)),
+    ?assertError(badarg, unicode:characters_to_binary([1,2,3,4.0],latin1)),
+    ?assertError(badarg, unicode:characters_to_binary(L,gnarfl)),
+    ?assertError(badarg, unicode:characters_to_binary(L,L)),
+    ?assertError(badarg, unicode:characters_to_binary(L,{latin1})),
+    ?assertError(badarg, unicode:characters_to_binary(L,[latin1])),
+    ?assertError(badarg, unicode:characters_to_binary(L,1)),
+    ?assertError(badarg, unicode:characters_to_binary(L,1.0)),
     Encodings = [unicode, utf8,utf16,utf32,{utf16,big},
 		 {utf16,little},{utf32,big},{utf32,little}],
     [ begin
-	  {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary(L++255,unicode,Enc)),
-	  {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary({1,2,3},unicode,Enc)),
-	  {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary(1,unicode,Enc)),
-	  {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary(1.0,unicode,Enc)),
-	  {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary('1',unicode,Enc)),
-	  {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary([1,2,3,apa],unicode,
-								    Enc)),
-	  {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary([1,2,3,4.0],unicode,
-								    Enc)),
-	  {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary(L++255,latin1,Enc)),
-	  {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary({1,2,3},latin1,Enc)),
-	  {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary(1,latin1,Enc)),
-	  {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary(1.0,latin1,Enc)),
-	  {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary('1',latin1,Enc)),
-	  {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary([1,2,3,apa],latin1,
-								    Enc)),
-	  {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary([1,2,3,4.0],latin1,
-								    Enc)),
-	  {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary(L,gnarfl,Enc)),
-	  {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary(L,L,Enc)),
-	  {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary(L,{latin1},Enc)),
-	  {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary(L,[latin1],Enc)),
-	  {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary(L,1,Enc)),
-	  {'EXIT',{badarg,_}} = (catch unicode:characters_to_binary(L,1.0,Enc))
+          ?assertError(badarg, unicode:characters_to_binary(L++255,unicode,Enc)),
+          ?assertError(badarg, unicode:characters_to_binary({1,2,3},unicode,Enc)),
+          ?assertError(badarg, unicode:characters_to_binary(1,unicode,Enc)),
+          ?assertError(badarg, unicode:characters_to_binary(1.0,unicode,Enc)),
+          ?assertError(badarg, unicode:characters_to_binary('1',unicode,Enc)),
+          ?assertError(badarg, unicode:characters_to_binary([1,2,3,apa],unicode,
+                                                                    Enc)),
+          ?assertError(badarg, unicode:characters_to_binary([1,2,3,4.0],unicode,
+                                                                    Enc)),
+          ?assertError(badarg, unicode:characters_to_binary(L++255,latin1,Enc)),
+          ?assertError(badarg, unicode:characters_to_binary({1,2,3},latin1,Enc)),
+          ?assertError(badarg, unicode:characters_to_binary(1,latin1,Enc)),
+          ?assertError(badarg, unicode:characters_to_binary(1.0,latin1,Enc)),
+          ?assertError(badarg, unicode:characters_to_binary('1',latin1,Enc)),
+          ?assertError(badarg, unicode:characters_to_binary([1,2,3,apa],latin1,
+                                                                    Enc)),
+          ?assertError(badarg, unicode:characters_to_binary([1,2,3,4.0],latin1,
+                                                                    Enc)),
+          ?assertError(badarg, unicode:characters_to_binary(L,gnarfl,Enc)),
+          ?assertError(badarg, unicode:characters_to_binary(L,L,Enc)),
+          ?assertError(badarg, unicode:characters_to_binary(L,{latin1},Enc)),
+          ?assertError(badarg, unicode:characters_to_binary(L,[latin1],Enc)),
+          ?assertError(badarg, unicode:characters_to_binary(L,1,Enc)),
+          ?assertError(badarg, unicode:characters_to_binary(L,1.0,Enc))
       end || Enc <- Encodings ],
 
 
     Encodings2 = [latin1, unicode, utf8,utf16,utf32,{utf16,big},
 		  {utf16,little},{utf32,big},{utf32,little}],
     [ begin
-	  {'EXIT',{badarg,_}} = (catch unicode:characters_to_list(L++255,Enc)),
-	  {'EXIT',{badarg,_}} = (catch unicode:characters_to_list({1,2,3},Enc)),
-	  {'EXIT',{badarg,_}} = (catch unicode:characters_to_list(1,Enc)),
-	  {'EXIT',{badarg,_}} = (catch unicode:characters_to_list(1.0,Enc)),
-	  {'EXIT',{badarg,_}} = (catch unicode:characters_to_list('1',Enc)),
-	  {'EXIT',{badarg,_}} = (catch unicode:characters_to_list([1,2,3,apa],Enc)),
-	  {'EXIT',{badarg,_}} = (catch unicode:characters_to_list([1,2,3,4.0],Enc)),
-	  {'EXIT',{badarg,_}} = (catch unicode:characters_to_list(L,{Enc})),
-	  {'EXIT',{badarg,_}} = (catch unicode:characters_to_list(L,[Enc]))
+          ?assertError(badarg, unicode:characters_to_list(L++255,Enc)),
+          ?assertError(badarg, unicode:characters_to_list({1,2,3},Enc)),
+          ?assertError(badarg, unicode:characters_to_list(1,Enc)),
+          ?assertError(badarg, unicode:characters_to_list(1.0,Enc)),
+          ?assertError(badarg, unicode:characters_to_list('1',Enc)),
+          ?assertError(badarg, unicode:characters_to_list([1,2,3,apa],Enc)),
+          ?assertError(badarg, unicode:characters_to_list([1,2,3,4.0],Enc)),
+          ?assertError(badarg, unicode:characters_to_list(L,{Enc})),
+          ?assertError(badarg, unicode:characters_to_list(L,[Enc]))
       end || Enc <- Encodings2 ],
-    {'EXIT',{badarg,_}} = (catch unicode:characters_to_list(L,gnarfl)),
-    {'EXIT',{badarg,_}} = (catch unicode:characters_to_list(L,L)),
-    {'EXIT',{badarg,_}} = (catch unicode:characters_to_list(L,1)),
-    {'EXIT',{badarg,_}} = (catch unicode:characters_to_list(L,1.0)),
+    ?assertError(badarg, unicode:characters_to_list(L,gnarfl)),
+    ?assertError(badarg, unicode:characters_to_list(L,L)),
+    ?assertError(badarg, unicode:characters_to_list(L,1)),
+    ?assertError(badarg, unicode:characters_to_list(L,1.0)),
     [ begin
 	  Bx = unicode:characters_to_binary(L,latin1, Enc),
 	  L = unicode:characters_to_list(Bx,Enc)
@@ -537,13 +538,13 @@ ex_random_lists(Config) when is_list(Config) ->
 						  flatb(L)))
 	       end,
     SelfMadeA = fun(L) -> 
-			case (catch list_to_utf8_bsyntax(L,latin1)) of
-			    {'EXIT', Reason} ->
-				io:format("Exit: ~p (~w)~n",[Reason,L]),
-				exit(Reason);
-			    Other ->
-				Other
-			end
+                        try
+                            list_to_utf8_bsyntax(L,latin1)
+                        catch
+                            _:Reason ->
+                                io:format("Exit: ~p (~w)~n",[Reason,L]),
+                                exit(Reason)
+                        end
 		end,
     random_iolist:run(150, PlainFlatten1, SelfMade),
     random_iolist:run(150, PlainFlatten2, SelfMadeA),
@@ -943,14 +944,14 @@ fail_bif_1(Bin,Coding) ->
 
 normalize(_) ->
     %% More tests are in unicode_util_SUITE.erl and str_SUITE.erl
-    {'EXIT', _} = (catch unicode:characters_to_nfc_list({tuple})),
-    {'EXIT', _} = (catch unicode:characters_to_nfd_list({tuple})),
-    {'EXIT', _} = (catch unicode:characters_to_nfkc_list({tuple})),
-    {'EXIT', _} = (catch unicode:characters_to_nfkd_list({tuple})),
-    {'EXIT', _} = (catch unicode:characters_to_nfc_binary({tuple})),
-    {'EXIT', _} = (catch unicode:characters_to_nfd_binary({tuple})),
-    {'EXIT', _} = (catch unicode:characters_to_nfkc_binary({tuple})),
-    {'EXIT', _} = (catch unicode:characters_to_nfkd_binary({tuple})),
+    ?assertError(_, unicode:characters_to_nfc_list({tuple})),
+    ?assertError(_, unicode:characters_to_nfd_list({tuple})),
+    ?assertError(_, unicode:characters_to_nfkc_list({tuple})),
+    ?assertError(_, unicode:characters_to_nfkd_list({tuple})),
+    ?assertError(_, unicode:characters_to_nfc_binary({tuple})),
+    ?assertError(_, unicode:characters_to_nfd_binary({tuple})),
+    ?assertError(_, unicode:characters_to_nfkc_binary({tuple})),
+    ?assertError(_, unicode:characters_to_nfkd_binary({tuple})),
     String = ["abc..åäö", <<"Ωµe`è"/utf8>>, "œŒþæÆħ§ß ホンダ"],
     NFD_l = unicode:characters_to_nfd_list(String),
     NFD_b = unicode:characters_to_nfd_binary(String),
@@ -1495,9 +1496,9 @@ category(_Config) ->
                     LC == unicode:category(Id)
             end,
     [] = [Id || Id <- lists:seq(1, ?MAX_CHAR), not Check(Id)],
-    {'EXIT', _} = catch unicode:category(-1),
-    {'EXIT', _} = catch unicode:category(5000000),
-    {'EXIT', _} = catch unicode:category(foobar),
+    ?assertError(_, unicode:category(-1)),
+    ?assertError(_, unicode:category(5000000)),
+    ?assertError(_, unicode:category(foobar)),
     ok.
 
 is_whitespace(Config) ->
diff --git a/lib/stdlib/test/unicode_util_SUITE.erl b/lib/stdlib/test/unicode_util_SUITE.erl
index 6832196c13..293ed3a62c 100644
--- a/lib/stdlib/test/unicode_util_SUITE.erl
+++ b/lib/stdlib/test/unicode_util_SUITE.erl
@@ -22,6 +22,7 @@
 -module(unicode_util_SUITE).
 
 -include_lib("common_test/include/ct.hrl").
+-include_lib("stdlib/include/assert.hrl").
 
 -export([all/0, suite/0, extra/1,
          uppercase/1, lowercase/1, titlecase/1, casefold/1,
@@ -111,13 +112,13 @@ cp(_) ->
     {error, <<128>>} = Get(<<128>>),
     {error, [<<128>>, 0]} = Get([<<128>>, 0]),
 
-    {'EXIT', _} = catch Get([-1]),
-    {'EXIT', _} = catch Get([-1, $a]),
-    {'EXIT', _} = catch Get([foo, $a]),
-    {'EXIT', _} = catch Get([-1, $a]),
-    {'EXIT', _} = catch Get([[], -1]),
-    {'EXIT', _} = catch Get([[-1], $a]),
-    {'EXIT', _} = catch Get([[-1, $a], $a]),
+    ?assertError(_, Get([-1])),
+    ?assertError(_, Get([-1, $a])),
+    ?assertError(_, Get([foo, $a])),
+    ?assertError(_, Get([-1, $a])),
+    ?assertError(_, Get([[], -1])),
+    ?assertError(_, Get([[-1], $a])),
+    ?assertError(_, Get([[-1, $a], $a])),
 
     ok.
 
@@ -131,14 +132,14 @@ gc(Config) ->
     {error, <<128>>} = Get(<<128>>),
     {error, [<<128>>, 0]} = Get([<<128>>, 0]),
 
-    {'EXIT', _} = catch Get([-1]),
-    {'EXIT', _} = catch Get([-1, $a]),
-    {'EXIT', _} = catch Get([foo, $a]),
-    {'EXIT', _} = catch Get([-1, $a]),
-    {'EXIT', _} = catch Get([[], -1]),
-    {'EXIT', _} = catch Get([[-1], $a]),
-    {'EXIT', _} = catch Get([[-1, $a], $a]),
-    {'EXIT', _} = catch Get([<<$a>>, [-1, $a], $a]), %% Current impl
+    ?assertError(_, Get([-1])),
+    ?assertError(_, Get([-1, $a])),
+    ?assertError(_, Get([foo, $a])),
+    ?assertError(_, Get([-1, $a])),
+    ?assertError(_, Get([[], -1])),
+    ?assertError(_, Get([[-1], $a])),
+    ?assertError(_, Get([[-1, $a], $a])),
+    ?assertError(_, Get([<<$a>>, [-1, $a], $a])), %% Current impl
 
     0 = fold(fun verify_gc/3, 0, DataDir ++ "/GraphemeBreakTest.txt"),
     ok.
@@ -379,9 +380,9 @@ category(_Config) ->
                     LC == unicode_util:category(Id)
             end,
     [] = [Id || Id <- lists:seq(1, 200000), not Check(Id)],
-    {'EXIT', _} = catch unicode_util:category(-1),
-    {'EXIT', _} = catch unicode_util:category(5000000),
-    {'EXIT', _} = catch unicode_util:category(foobar),
+    ?assertError(_, unicode_util:category(-1)),
+    ?assertError(_, unicode_util:category(5000000)),
+    ?assertError(_, unicode_util:category(foobar)),
     ok.
 
 is_id_func(_Config) ->
-- 
2.51.0

openSUSE Build Service is sponsored by