diff options
author | Björn Gustavsson <[email protected]> | 2016-04-25 12:40:35 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2016-04-27 14:43:04 +0200 |
commit | 9fddd89e347590aba3594829f904ea5211805958 (patch) | |
tree | 9a4914c9279e07db5c67bf586611805f9c4949c4 /lib/compiler/test/beam_utils_SUITE.erl | |
parent | 2aabd0f9ca9ab7d9d59c1504b9742734e2d6c945 (diff) | |
download | otp-9fddd89e347590aba3594829f904ea5211805958.tar.gz otp-9fddd89e347590aba3594829f904ea5211805958.tar.bz2 otp-9fddd89e347590aba3594829f904ea5211805958.zip |
Move test cases from compilation_SUITE to beam_utils_SUITE
beam_utils_SUITE didn't exist when the two test cases were written.
Diffstat (limited to 'lib/compiler/test/beam_utils_SUITE.erl')
-rw-r--r-- | lib/compiler/test/beam_utils_SUITE.erl | 40 |
1 files changed, 38 insertions, 2 deletions
diff --git a/lib/compiler/test/beam_utils_SUITE.erl b/lib/compiler/test/beam_utils_SUITE.erl index 70c00f163c..6353ed3242 100644 --- a/lib/compiler/test/beam_utils_SUITE.erl +++ b/lib/compiler/test/beam_utils_SUITE.erl @@ -23,7 +23,7 @@ init_per_group/2,end_per_group/2, apply_fun/1,apply_mf/1,bs_init/1,bs_save/1, is_not_killed/1,is_not_used_at/1, - select/1,y_catch/1]). + select/1,y_catch/1,otp_8949_b/1,liveopt/1]). -export([id/1]). suite() -> [{ct_hooks,[ts_install_cth]}]. @@ -41,7 +41,9 @@ groups() -> is_not_killed, is_not_used_at, select, - y_catch + y_catch, + otp_8949_b, + liveopt ]}]. init_per_suite(Config) -> @@ -232,6 +234,40 @@ do_y_catch_1(<<_,_/binary>>, _) -> do_y_catch_2(_) -> {a,b,c}. +otp_8949_b(_Config) -> + self() ! something, + value = otp_8949_b([], false), + {'EXIT',_} = (catch otp_8949_b([], true)), + ok. + +%% Would cause an endless loop in beam_utils. +otp_8949_b(A, B) -> + Var = id(value), + if + A == [], B == false -> + ok + end, + receive + something -> + id(Var) + end. + +-record(alarmInfo, {type,cause,origin}). + +liveopt(_Config) -> + F = liveopt_fun(42, pebkac, user), + void = F(42, #alarmInfo{type=sctp,cause=pebkac,origin=user}), + ok. + +liveopt_fun(Peer, Cause, Origin) -> + fun(PeerNo, AlarmInfo) + when PeerNo == Peer andalso + AlarmInfo == #alarmInfo{type=sctp, + cause=Cause, + origin=Origin} -> + void + end. + %% The identity function. id(I) -> I. |