anchor.diff:  
   %% Tests the append_element/2 BIF.
   t_append_element(Config) when is_list(Config) ->
  -    ok = t_append_element({}, 2048, 2048),
  -
  -    % test upper boundry, 16777215 elements
  -    MaxSize  = 1 bsl 24 - 1,
  -    MaxTuple = list_to_tuple(lists:seq(1, MaxSize)),
  -    {'EXIT',{badarg,_}} = (catch erlang:append_element(MaxTuple, a)),
  -    ok.
  +    ok = t_append_element({}, 2048, 2048).
  +
  +t_append_element_upper_boundry(Config) when is_list(Config) ->
  +    sys_mem_cond_run(2048,
  +		     fun () ->
  +			     %% test upper boundry, 16777215 elements
  +			     MaxSize  = 1 bsl 24 - 1,
  +			     MaxTuple = list_to_tuple(lists:seq(1, MaxSize)),
  +			     {'EXIT',{badarg,_}} = (catch erlang:append_element(MaxTuple, a)),
  +			     ok
  +		     end).
   
   t_append_element(_Tuple, 0, _High) -> ok;
   t_append_element(Tuple, N, High) ->
  
positive.code:     t_make_tuple1({a}),
      t_make_tuple1(erlang:make_tuple(400, [])),
  
      % test upper boundry, 16777215 elements
      t_make_tuple(1 bsl 24 - 1, a),
      {'EXIT', {badarg,_}} = (catch erlang:make_tuple(1 bsl 24, a)),
  
      {'EXIT', {badarg,_}} = (catch erlang:make_tuple(-1, a)),
  
negative.code:     [].
  
  init_per_suite(Config) ->
      A0 = case application:start(sasl) of
  	     ok -> [sasl];
  	     _ -> []
  	 end,
      A = case application:start(os_mon) of
  	     ok -> [os_mon|A0];
  	     _ -> A0
  	 end,
      [{started_apps, A}|Config].
  
  end_per_suite(Config) ->
      As = ?config(started_apps, Config),
      lists:foreach(fun (A) -> application:stop(A) end, As),
      Config.
  
  init_per_group(_GroupName, Config) ->
      Config.
  