Skip to content

Commit c950098

Browse files
committed
add tests
1 parent 256c096 commit c950098

File tree

5 files changed

+46
-0
lines changed

5 files changed

+46
-0
lines changed

tests/erlang_tests/CMakeLists.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -551,6 +551,10 @@ 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_raiser)
557+
554558
if(Erlang_VERSION VERSION_GREATER_EQUAL "23")
555559
set(OTP23_OR_GREATER_TESTS
556560
test_op_bs_start_match_asm.beam
@@ -1073,6 +1077,10 @@ add_custom_target(erlang_test_modules DEPENDS
10731077
test_op_bs_start_match.beam
10741078
test_op_bs_create_bin.beam
10751079

1080+
test_reraise.beam
1081+
reraise_reraiser.beam
1082+
reraise_raiser.beam
1083+
10761084
${OTP23_OR_GREATER_TESTS}
10771085
${OTP25_OR_GREATER_TESTS}
10781086
)
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_raiser:raise_error()
8+
catch
9+
Class:Reason:Stacktrace ->
10+
erlang:error(erlang:raise(Class, Reason, Stacktrace))
11+
end.
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
-module(test_reraise).
2+
3+
-export([start/0]).
4+
5+
start() ->
6+
try
7+
reraise_reraiser:reraise_error()
8+
catch
9+
Class:Reason:Stacktrace ->
10+
error = Class,
11+
"foo" = Reason,
12+
13+
[
14+
{reraise_raiser, raise_error, 0, _Meta1},
15+
{reraise_reraiser, reraise_error, 0, _Meta2}
16+
| _Rest
17+
] = Stacktrace
18+
end,
19+
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)