Skip to content

Commit 0a5605a

Browse files
committed
Add test
Signed-off-by: Mateusz Front <mateusz.front@swmansion.com>
1 parent 2b159df commit 0a5605a

File tree

6 files changed

+46
-0
lines changed

6 files changed

+46
-0
lines changed

tests/erlang_tests/CMakeLists.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -551,6 +551,11 @@ compile_assembler(test_op_bs_start_match_asm)
551551
compile_erlang(test_op_bs_create_bin)
552552
compile_assembler(test_op_bs_create_bin_asm)
553553

554+
compile_erlang(test_reraise)
555+
compile_erlang(reraise_reraiser)
556+
compile_erlang(reraise_intermediate_caller)
557+
compile_erlang(reraise_raiser)
558+
554559
if(Erlang_VERSION VERSION_GREATER_EQUAL "23")
555560
set(OTP23_OR_GREATER_TESTS
556561
test_op_bs_start_match_asm.beam
@@ -1073,6 +1078,11 @@ add_custom_target(erlang_test_modules DEPENDS
10731078
test_op_bs_start_match.beam
10741079
test_op_bs_create_bin.beam
10751080

1081+
test_reraise.beam
1082+
reraise_reraiser.beam
1083+
reraise_intermediate_caller.beam
1084+
reraise_raiser.beam
1085+
10761086
${OTP23_OR_GREATER_TESTS}
10771087
${OTP25_OR_GREATER_TESTS}
10781088
)
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
-module(reraise_intermediate_caller).
2+
3+
-export([call_raiser/0]).
4+
5+
call_raiser() ->
6+
reraise_raiser:raise_error().
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
-module(reraise_raiser).
2+
3+
-export([raise_error/0]).
4+
5+
raise_error() ->
6+
error("foo").
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
-module(reraise_reraiser).
2+
3+
-export([reraise_error/0]).
4+
5+
reraise_error() ->
6+
try
7+
reraise_intermediate_caller:call_raiser()
8+
catch
9+
Class:Reason:Stacktrace ->
10+
erlang:error(erlang:raise(Class, Reason, Stacktrace))
11+
end.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
-module(test_reraise).
2+
3+
-export([start/0]).
4+
5+
start() ->
6+
try
7+
reraise_reraiser:reraise_error()
8+
catch
9+
C:E:S -> erlang:display({C, E, S})
10+
end,
11+
0.

tests/test.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -598,6 +598,8 @@ struct Test tests[] = {
598598
TEST_CASE(test_ets),
599599
TEST_CASE(test_node),
600600

601+
TEST_CASE(test_reraise),
602+
601603
// TEST CRASHES HERE: TEST_CASE(memlimit),
602604

603605
{ NULL, 0, false, false }

0 commit comments

Comments
 (0)