anchor.diff:  init_per_group(_Name, Config) ->
   	Config0 = start_dbus(Config, ?dbus_session_unix_external),
   	ServicePath = get_data_path(?SCRIPT, Config0),
  -    Pid = os:cmd(ServicePath ++ " & echo $!"),
  +    Pid = spawn(fun () -> os:cmd(ServicePath) end),
       [ {service_pid, Pid}, {connect, true} | Config0 ].
   
   
  -end_per_group(connect, Config) ->
  -    Config;
  +end_per_group(connect, _Config) ->
  +	{return_group_result, ok};
   end_per_group(connect_unix_anonymous, Config) ->
  -    stop_dbus(Config);
  +    stop_dbus(Config),
  +	{return_group_result, ok};
   end_per_group(connect_unix_external, Config) ->
  -    stop_dbus(Config);
  +    stop_dbus(Config),
  +	{return_group_result, ok};
   end_per_group(_Name, Config) ->
  -    os:cmd("kill " ++ ?config(service_pid, Config)),
  +	exit(?config(service_pid, Config), kill),
   	stop_dbus(Config),
  -    ok.
  +	{return_group_result, ok}.
  +
   
   init_per_testcase(_, Config) ->
       case ?config(connect, Config) of
  
positive.code:     ?assertMatch(ok, dbus_bus_connection:close(Bus)).
  
  connect_service(Config) ->
      {ok, Service} = dbus_proxy:start_link(?config(bus, Config), ?SERVICE),
      ?assert(is_pid(Service)),
      ok.
  
negative.code: 
  start_dbus(Config, {DBusConfig, DBusEnv}) ->
  	File = get_data_path(DBusConfig, Config),
  	Pid = spawn(fun() -> os:cmd("dbus-daemon --config-file=" ++ File) end),
  	os:putenv("DBUS_SESSION_BUS_ADDRESS", DBusEnv),
  	[ {dbus, Pid}, {dbus_env, DBusEnv} | Config ].
  
  stop_dbus(Config) ->
  	exit(?config(dbus, Config), kill),
  	proplists:delete(dbus_env, 
  					 proplists:delete(dbus, Config)).
  