anchor.diff:        ]
        }].
   
  +
   init_per_suite(Config) ->
  +    ?P("init_per_suite -> entry with"
  +       "~n   Config: ~p", [Config]),
       Config.
   
  -end_per_suite(_Config) ->
  -    ok.
  -
  -init_per_testcase(_Case, Config) ->
  +end_per_suite(Config) ->
  +    ?P("end_per_suite -> entry with"
  +       "~n   Config: ~p", [Config]),
  +    ok.
  +
  +
  +init_per_testcase(Case, Config) ->
  +    ?P("init_per_testcase(~w) -> entry with"
  +       "~n   Config: ~p", [Case, Config]),
       Dog = ?t:timetrap(?default_timeout),
       [{watchdog, Dog} | Config].
   
  -end_per_testcase(_Case, Config) ->
  +end_per_testcase(Case, Config) ->
  +    ?P("end_per_testcase(~w) -> entry with"
  +       "~n   Config: ~p", [Case, Config]),
       Dog = ?config(watchdog, Config),
       ?t:timetrap_cancel(Dog),
       ok.
   
  -init_per_group(gui, Config) ->
  +
  +init_per_group(gui = Group, Config) ->
  +    ?P("init_per_group(~w) -> entry with"
  +       "~n   Config: ~p", [Group, Config]),
       try
   	case os:type() of
   	    {unix,darwin} ->
  +		?P("init_per_group(~w) -> skip", [Group]),
   		exit("Can not test on MacOSX");
   	    {unix, _} ->
  -		io:format("DISPLAY ~s~n", [os:getenv("DISPLAY")]),
  +		?P("init_per_group(~w) -> DISPLAY ~s",
  +                   [Group, os:getenv("DISPLAY")]),
   		case ct:get_config(xserver, none) of
   		    none -> ignore;
   		    Server -> os:putenv("DISPLAY", Server)
  
positive.code: basic(suite) -> [];
  basic(doc) -> [""];
  basic(Config) when is_list(Config) ->
      %% Start these before
      wx:new(),
      wx:destroy(),
      timer:send_after(100, "foobar"),
      {foo, node@machine} ! dummy_msg,  %% start distribution stuff
      %% Otherwise ever lasting servers gets added to procs
      ProcsBefore = processes(),
      ProcInfoBefore = [{P,process_info(P)} || P <- ProcsBefore],
      NumProcsBefore = length(ProcsBefore),
  
      ok = observer:start(),
      Notebook = setup_whitebox_testing(),
  
      io:format("Notebook ~p~n",[Notebook]),
      Count = wxNotebook:getPageCount(Notebook),
      true = Count >= 6,
      0 = wxNotebook:getSelection(Notebook),
      timer:sleep(500),
      Check = fun(N, TestMore) ->
  		    TestMore andalso
  
negative.code: 
  %% Default timetrap timeout (set in init_per_testcase)
  -define(default_timeout, ?t:minutes(2)).
  
  -define(P(F),    print(F)).
  -define(P(F, A), print(F, A)).
  
  
  suite() -> [{timetrap, {minutes, 5}},
              {ct_hooks,[ts_install_cth]}].
  