anchor.diff:          Error ->
               Error
       end;
  -handle_results({_, 0, _}) ->
  -    ok;
  -handle_results({_, FailedCount, _}) ->
  -    {error, {failures_running_tests, FailedCount}};
   handle_results({error, Reason}) ->
  -    {error, {error_running_tests, Reason}}.
  +    {error, {error_running_tests, Reason}};
  +handle_results(_) -> ok.
  +
  +handle_quiet_results(_, {Passed, 0, {0, 0}}) ->
  +    io:format("  All ~p tests passed.~n", [Passed]);
  +handle_quiet_results(_, {Passed, 0, {UserSkipped, AutoSkipped}}) ->
  +    io:format("  All ~p tests passed. Skipped ~p tests.~n",
  +              [Passed, UserSkipped + AutoSkipped]);
  +handle_quiet_results(CTOpts, {_, Failed, _}) ->
  +    LogDir = proplists:get_value(logdir, CTOpts),
  +    Index = filename:join([LogDir, "index.html"]),
  +    io:format("  ~p tests failed.~n  Results written to ~p.~n", [Failed, Index]);
  +handle_quiet_results(_CTOpts, Result) -> handle_results(Result).
  
positive.code:     io_lib:format("Failures occured running tests: ~p", [FailedCount]);
  format_error({error_running_tests, Reason}) ->
      io_lib:format("Error running tests: ~p", [Reason]).
  
  ct_opts(State) ->
      DefaultLogsDir = filename:join([rebar_state:dir(State), "logs"]),
  
negative.code:     Path = code:get_path(),
      true = code:add_patha(OutDir),
      CTOpts = resolve_ct_opts(State, Opts, OutDir),
      Verbose = proplists:get_value(verbose, Opts, false),
      Result = run_test(CTOpts, Verbose),
      true = code:set_path(Path),
      case Result of
          {error, Reason} ->
  