diff options
author | Hans Bolinder <[email protected]> | 2017-06-14 13:16:47 +0200 |
---|---|---|
committer | Siri Hansen <[email protected]> | 2017-09-05 11:02:25 +0200 |
commit | 2ca6b53da655b4c1377e8ddb818ce70c71e3538e (patch) | |
tree | 819e8ed1d4e5856334cf1a43396cc1148b7fb556 /lib/stdlib/test | |
parent | bb8a07ca8295a506e06fbf0b2173e6cd55b3d523 (diff) | |
download | otp-2ca6b53da655b4c1377e8ddb818ce70c71e3538e.tar.gz otp-2ca6b53da655b4c1377e8ddb818ce70c71e3538e.tar.bz2 otp-2ca6b53da655b4c1377e8ddb818ce70c71e3538e.zip |
stdlib: Modify handling of Unicode in proc_lib
Diffstat (limited to 'lib/stdlib/test')
-rw-r--r-- | lib/stdlib/test/proc_lib_SUITE.erl | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/lib/stdlib/test/proc_lib_SUITE.erl b/lib/stdlib/test/proc_lib_SUITE.erl index c4fafe82a4..7686889360 100644 --- a/lib/stdlib/test/proc_lib_SUITE.erl +++ b/lib/stdlib/test/proc_lib_SUITE.erl @@ -552,14 +552,17 @@ t_format(_Config) -> t_format() -> error_logger:add_report_handler(?MODULE, self()), - Pid = proc_lib:spawn(fun t_format_looper/0), + Pid = proc_lib:spawn(fun '\x{aaa}t_format_looper'/0), HugeData = gb_sets:from_list(lists:seq(1, 100)), - Pid ! {die,HugeData}, + SomeData1 = list_to_atom([246]), + SomeData2 = list_to_atom([1024]), + Pid ! {SomeData1,SomeData2}, + Pid ! {die,{HugeData,SomeData1,SomeData2}}, Report = receive {crash_report, Pid, Report0} -> Report0 end, - Usz = do_test_format(Report, unlimited), - Tsz = do_test_format(Report, 20), + Usz = do_test_format(Report, latin1, unlimited), + Tsz = do_test_format(Report, latin1, 20), if Tsz >= Usz -> @@ -568,6 +571,16 @@ t_format() -> ok end, + UszU = do_test_format(Report, unicode, unlimited), + TszU = do_test_format(Report, unicode, 20), + + if + TszU >= UszU -> + ct:fail(failed); + true -> + ok + end, + ok. t_format_arbitrary(_Config) -> @@ -597,15 +610,19 @@ do_test_format(Report, Encoding, Depth) -> io:format("*** Depth = ~p, Encoding = ~p", [Depth, Encoding]), S0 = proc_lib:format(Report, Encoding, Depth), S = lists:flatten(S0), - io:put_chars(S), + case Encoding of + latin1 -> io:format("~s\n", [S]); + _ -> io:format("~ts\n", [S]) + end, length(S). -t_format_looper() -> +'\x{aaa}t_format_looper'() -> receive {die,Data} -> exit(Data); - _ -> - t_format_looper() + M -> + put(M, M), + '\x{aaa}t_format_looper'() end. %%----------------------------------------------------------------- |