anchor.diff:      ["Remove generated crashdumps"];
   end_per_suite(Config) when is_list(Config) ->
       Dumps = ?config(dumps,Config),
  +    DataDir = ?config(data_dir,Config),
  +    FailedFile = filename:join(DataDir,?failed_file),
  +    case filelib:is_file(FailedFile) of
  +	true ->
  +	    SaveDir = filename:join(DataDir,"save"),
  +	    file:make_dir(SaveDir),
  +	    file:copy(FailedFile,filename:join(SaveDir,?failed_file)),
  +	    lists:foreach(
  +	      fun(CD) ->
  +		      File = filename:basename(CD),
  +		      New = filename:join(SaveDir,File),
  +		      file:copy(CD,New)
  +	      end, Dumps);
  +	false ->
  +	    ok
  +    end,
  +    file:delete(FailedFile),
       lists:foreach(fun(CD) -> ok = file:delete(CD) end,Dumps),
       lists:keydelete(dumps,1,Config).
   
  
positive.code: 	r12b -> "+R12 ";
  	r13b -> "+R13 ";
  	r14b -> "+R14 ";
  	current -> ""
      end.
  
negative.code:     catch crashdump_viewer:stop(),
      Dog = ?t:timetrap(?default_timeout),
      [{watchdog, Dog}|Config].
  end_per_testcase(Case, Config) ->
      Dog=?config(watchdog, Config),
      ?t:timetrap_cancel(Dog),
      case ?config(tc_status,Config) of
  	ok ->
  	    ok;
  	_Fail ->
  	    File = filename:join(?config(data_dir,Config),?failed_file),
  	    {ok,Fd}=file:open(File,[append]),
  	    file:write(Fd,io_lib:format("~w.~n",[Case])),
  	    file:close(Fd)
      end,
      ok.
  
  suite() -> [{ct_hooks,[ts_install_cth]}].
  