anchor.diff:              exit({tc_runner_start, timeout, RunnerInfo})
       end.
   
  -await_tc_runner_done(Runner, MRef) ->
  +await_tc_runner_done(Runner, OldFlag) ->
       receive
  -        {'DOWN', MRef, process, Runner, Reason} ->
  +        {'EXIT', Runner, Reason} ->
               ?EPRINT2("TC runner failed: "
                        "~n   ~p~n", [Reason]),
               exit({tx_runner_failed, Reason});
  
positive.code:                    get()]),
      case net_adm:ping(N) of
          pong ->
              ?PRINT2("tc_try -> ~p still running~n", [N]),
              Runner = spawn(N, ?MODULE, tc_wait, [self(), get(), M, F, A]),
              MRef   = erlang:monitor(process, Runner),
              await_tc_runner_started(Runner, MRef),
              await_tc_runner_done(Runner, MRef);
          pang ->
              ?EPRINT2("tc_try -> ~p *not* running~n", [N]),
              exit({node_not_running, N})
      end.
  
  await_tc_runner_started(Runner, MRef) ->
      receive
          {'DOWN', MRef, process, Runner, Reason} ->
              ?EPRINT2("TC runner start failed: "
                       "~n   ~p~n", [Reason]),
              exit({tx_runner_start_failed, Reason});
  
negative.code: %%% configuration.
  %%%--------------------------------------------------
  
  try_test(TcRunMod, TcRunFunc) ->
      try_test(TcRunMod, TcRunFunc, []).
  
  try_test(TcRunMod, TcRunFunc, TcRunArgs) ->
      try_test(TcRunMod, TcRunFunc, TcRunArgs, []).
  
  try_test(TcRunMod, TcRunFunc, TcRunArgs, TcRunOpts) ->
      Node      = get(mgr_node),
      Mod       = ?MODULE,
      Func      = tc_run,
      Args      = [TcRunMod, TcRunFunc, TcRunArgs, TcRunOpts],
      tc_try(Node, Mod, Func, Args).
  
  %% We spawn a test case runner process on the manager node.
  %% The assumption is that the manager shall do something, but
  