anchor.diff:          Error -> Error
       end.
   
  -run_test(Opts) -> handle_results(ct:run_test(Opts)).
  +run_test_verbose(Opts) -> handle_results(ct:run_test(Opts)).
   
   run_test_quiet(Opts) ->
       Pid = self(),
  
positive.code:         {[Dir], Suites} when is_integer(hd(Dir)), is_list(Suites) ->
              [{dir, Dir}|lists:keydelete(dir, 1, Opts)];
          %% multiple dirs and suites, error now to simplify later steps
          {_, _} -> erlang:error({multiple_dirs_and_suites, Opts})
      end.
  
  discover_testspec(_TestSpec, Opts) ->
  
negative.code:     Cwd = rebar_dir:get_cwd(),
      rebar_hooks:run_all_hooks(Cwd, pre, ?PROVIDER, Providers, State),
  
      try run_test(State) of
          {ok, State1} = Result ->
              %% Run ct provider posthooks
              rebar_hooks:run_all_hooks(Cwd, post, ?PROVIDER, Providers, State1),
              Result;
          ?PRV_ERROR(_) = Error ->
              Error
      catch
          throw:{error, Reason} ->
              ?PRV_ERROR(Reason)
      end.
  
  