anchor.diff:  
   start_dbus(Config, {DBusConfig, DBusEnv}) ->
   	File = get_data_path(DBusConfig, Config),
  -	Pid = os:cmd("dbus-daemon --config-file=" ++ File ++ "& echo $!"),
  +	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) ->
  -	os:cmd("kill " ++ proplists:get_value(dbus, Config)),
  +	exit(?config(dbus, Config), kill),
   	proplists:delete(dbus_env, 
   					 proplists:delete(dbus, Config)).
  
positive.code: init_per_group(_Name, Config) ->
  	Config0 = start_dbus(Config, ?dbus_session_unix_external),
  	ServicePath = get_data_path(?SCRIPT, Config0),
      Pid = os:cmd(ServicePath ++ " & echo $!"),
      [ {service_pid, Pid}, {connect, true} | Config0 ].
  
  
  end_per_group(connect, Config) ->
      Config;
  end_per_group(connect_unix_anonymous, Config) ->
      stop_dbus(Config);
  end_per_group(connect_unix_external, Config) ->
      stop_dbus(Config);
  end_per_group(_Name, Config) ->
      os:cmd("kill " ++ ?config(service_pid, Config)),
  	stop_dbus(Config),
      ok.
  
  init_per_testcase(_, Config) ->
      case ?config(connect, Config) of
  
negative.code:     ?assertMatch(ok, dbus_bus_connection:close(Bus)).
  
  connect_service(Config) ->
  	?assertEqual(["/tmp/dbus-test"], filelib:wildcard("/tmp/dbus-test")),
      {ok, Service} = dbus_proxy:start_link(?config(bus, Config), ?SERVICE),
      ?assert(is_pid(Service)),
      ok.
  