From ab965710d014912cbd3c4ef8f9c3acc0dffa1d30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20H=C3=B6gberg?= Date: Fri, 9 Feb 2018 10:24:43 +0100 Subject: Automatically start lcnt server on first use lcnt:collect is documented as implicitly starting the lcnt server but didn't do so prior to this commit. I've decided to extend this behavior to all operations as the overhead is negligible and it's a bit more convenient to use. --- lib/tools/test/lcnt_SUITE.erl | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'lib/tools/test') diff --git a/lib/tools/test/lcnt_SUITE.erl b/lib/tools/test/lcnt_SUITE.erl index 146c915087..4a92abb5c8 100644 --- a/lib/tools/test/lcnt_SUITE.erl +++ b/lib/tools/test/lcnt_SUITE.erl @@ -30,6 +30,7 @@ t_conflicts/1, t_locations/1, t_swap_keys/1, + t_implicit_start/1, smoke_lcnt/1]). init_per_testcase(_Case, Config) -> @@ -44,7 +45,7 @@ suite() -> {timetrap,{minutes,4}}]. all() -> - [t_load, t_conflicts, t_locations, t_swap_keys, + [t_load, t_conflicts, t_locations, t_swap_keys, t_implicit_start, smoke_lcnt]. %%---------------------------------------------------------------------- @@ -149,6 +150,11 @@ t_swap_keys_file([File|Files]) -> ok = lcnt:stop(), t_swap_keys_file(Files). +%% Prior to OTP-14913 this would crash with 'noproc' as the lcnt server hadn't +%% been started yet. +t_implicit_start(Config) when is_list(Config) -> + ok = lcnt:conflicts(). + %% Simple smoke test of actual lock-counting, if running on %% a run-time with lock-counting enabled. smoke_lcnt(Config) -> -- cgit v1.2.3 From dfa4d62c263cd3f11338aba891179b08704d9287 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9ter=20G=C3=B6m=C3=B6ri?= Date: Wed, 7 Feb 2018 09:20:11 +0100 Subject: Don't crash lcnt server if information/0 is called before collect/0 --- lib/tools/test/lcnt_SUITE.erl | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'lib/tools/test') diff --git a/lib/tools/test/lcnt_SUITE.erl b/lib/tools/test/lcnt_SUITE.erl index 146c915087..f0c36dedd9 100644 --- a/lib/tools/test/lcnt_SUITE.erl +++ b/lib/tools/test/lcnt_SUITE.erl @@ -30,6 +30,7 @@ t_conflicts/1, t_locations/1, t_swap_keys/1, + t_crash_before_collect/1, smoke_lcnt/1]). init_per_testcase(_Case, Config) -> @@ -44,7 +45,7 @@ suite() -> {timetrap,{minutes,4}}]. all() -> - [t_load, t_conflicts, t_locations, t_swap_keys, + [t_load, t_conflicts, t_locations, t_swap_keys, t_crash_before_collect, smoke_lcnt]. %%---------------------------------------------------------------------- @@ -149,6 +150,10 @@ t_swap_keys_file([File|Files]) -> ok = lcnt:stop(), t_swap_keys_file(Files). +t_crash_before_collect(Config) when is_list(Config) -> + {ok, _} = lcnt:start(), + ok = lcnt:information(). + %% Simple smoke test of actual lock-counting, if running on %% a run-time with lock-counting enabled. smoke_lcnt(Config) -> -- cgit v1.2.3