4
%% Copyright Ericsson AB 1999-2009. All Rights Reserved.
4
%% Copyright Ericsson AB 1999-2011. All Rights Reserved.
6
6
%% The contents of this file are subject to the Erlang Public License,
7
7
%% Version 1.1, (the "License"); you may not use this file except in
8
8
%% compliance with the License. You should have received a copy of the
9
9
%% Erlang Public License along with this software. If not, it can be
10
10
%% retrieved online at http://www.erlang.org/.
12
12
%% Software distributed under the License is distributed on an "AS IS"
13
13
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
14
14
%% the License for the specific language governing rights and limitations
15
15
%% under the License.
23
23
-define(default_timeout, ?t:minutes(1)).
25
-export([all/1,init_per_testcase/2,fin_per_testcase/2,
25
-export([all/0, suite/0,groups/0,init_per_suite/1, end_per_suite/1,
26
init_per_group/2,end_per_group/2,
27
init_per_testcase/2,end_per_testcase/2,
26
28
bad_apply/1,bad_fun_call/1,badarity/1,ext_badarity/1,
27
29
equality/1,ordering/1,
28
30
fun_to_port/1,t_hash/1,t_phash/1,t_phash2/1,md5/1,
33
35
-export([nothing/0]).
35
-include("test_server.hrl").
38
[bad_apply,bad_fun_call,badarity,ext_badarity,equality,ordering,
39
fun_to_port,t_hash,t_phash,t_phash2,md5,
40
refc,refc_ets,refc_dist,const_propagation,
41
t_arity,t_is_function2,t_fun_info].
37
-include_lib("test_server/include/test_server.hrl").
39
suite() -> [{ct_hooks,[ts_install_cth]}].
42
[bad_apply, bad_fun_call, badarity, ext_badarity,
43
equality, ordering, fun_to_port, t_hash, t_phash,
44
t_phash2, md5, refc, refc_ets, refc_dist,
45
const_propagation, t_arity, t_is_function2, t_fun_info].
50
init_per_suite(Config) ->
53
end_per_suite(_Config) ->
56
init_per_group(_GroupName, Config) ->
59
end_per_group(_GroupName, Config) ->
43
63
init_per_testcase(_Case, Config) ->
44
64
?line Dog = test_server:timetrap(?default_timeout),
45
65
[{watchdog, Dog}|Config].
47
fin_per_testcase(_Case, Config) ->
67
end_per_testcase(_Case, Config) ->
48
68
Dog=?config(watchdog, Config),
49
69
test_server:timetrap_cancel(Dog),
627
647
%% Fun is passed in an exit signal. Wait until it is gone.
628
648
?line wait_until(fun () -> 4 =/= fun_refc(F2) end),
629
649
?line 3 = fun_refc(F2),
630
?line 3 = fun_refc(F),
650
erts_debug:set_internal_state(available_internal_state, true),
651
?line F_refc = case erts_debug:get_internal_state(force_heap_frags) of
653
true -> 2 % GC after bif already decreased it
655
?line F_refc = fun_refc(F),
656
erts_debug:set_internal_state(available_internal_state, false),
631
657
refc_dist_send(Node, F).
633
659
refc_dist_send(Node, F) ->