diff --git a/rebar.config b/rebar.config index 40b137f..c651e11 100644 --- a/rebar.config +++ b/rebar.config @@ -1,5 +1,5 @@ {erl_opts, [warnings_as_errors, - {platform_define, "^2[0-1]{1}", fsm_deprecated}, + {platform_define, "^2[0-2]{1}", fsm_deprecated}, {platform_define, "^1[7-8]{1}", old_rand}, {platform_define, "^17", no_log2}, {platform_define, "^R", no_sync}, diff --git a/src/leveled_inker.erl b/src/leveled_inker.erl index 32ee376..9af7fc4 100644 --- a/src/leveled_inker.erl +++ b/src/leveled_inker.erl @@ -1553,9 +1553,25 @@ handle_down_test() -> SnapOpts = #inker_options{start_snapshot=true, bookies_pid = FakeBookie, source_inker=Ink1}, - {ok, Snap1} = ink_snapstart(SnapOpts), + CheckSnapDiesFun = + fun(_X, IsDead) -> + case IsDead of + true -> + true; + false -> + case erlang:process_info(Snap1) of + undefined -> + true; + _ -> + timer:sleep(100), + false + end + end + end, + ?assertNot(lists:foldl(CheckSnapDiesFun, false, [1, 2])), + FakeBookie ! stop, receive @@ -1565,7 +1581,7 @@ handle_down_test() -> ok end, - ?assertEqual(undefined, erlang:process_info(Snap1)), + ?assert(lists:foldl(CheckSnapDiesFun, false, lists:seq(1, 10))), ink_close(Ink1), clean_testdir(RootPath). diff --git a/src/leveled_penciller.erl b/src/leveled_penciller.erl index 4d572bd..7bbf6d4 100644 --- a/src/leveled_penciller.erl +++ b/src/leveled_penciller.erl @@ -2387,6 +2387,23 @@ handle_down_test() -> {FakeBookie, {ok, Snap, null}} -> {ok, Snap, null} end, + + CheckSnapDiesFun = + fun(_X, IsDead) -> + case IsDead of + true -> + true; + false -> + case erlang:process_info(PclSnap) of + undefined -> + true; + _ -> + timer:sleep(100), + false + end + end + end, + ?assertNot(lists:foldl(CheckSnapDiesFun, false, [1, 2])), FakeBookie ! stop, @@ -2397,7 +2414,7 @@ handle_down_test() -> ok end, - ?assertEqual(undefined, erlang:process_info(PclSnap)), + ?assert(lists:foldl(CheckSnapDiesFun, false, lists:seq(1, 10))), pcl_close(PCLr), clean_testdir(RootPath).