anchor.diff:  
   %% @doc Instrument all of the modules for code coverage checks.
   %% @private
  --spec setup_code_coverage(sin_config:config(), [atom()]) -> ok.
  -setup_code_coverage(BuildRef, [Module | T]) ->
  -    case cover:compile_beam(Module) of
  -        {error, _} ->
  -            ewl_talk:say("Couldn't add code coverage to ~w", [Module]);
  -        _ ->
  -            ok
  -    end,
  -    setup_code_coverage(BuildRef, T);
  -setup_code_coverage(_, []) ->
  -    ok.
  +-spec setup_code_coverage([atom()]) -> ok.
  +setup_code_coverage(Modules) ->
  +    lists:foreach(
  +      fun(Module) ->
  +	      case cover:compile_beam(Module) of
  +		  {error, Reason} ->
  +		      ewl_talk:say("Couldn't add code coverage to ~w "
  +				   "because ~p",
  +				   [Module, Reason]);
  +		  _ ->
  +		      ok
  +	      end
  +      end,
  +      Modules).
   
   %% @doc Take the analysis from test running and output it to an html file.
   %%  @private
  
positive.code: 
  %% @doc Run tests for all the applications specified.
  %% @private
  -spec test_apps(sin_config:config(), [string()]) -> ok.
  test_apps(BuildRef, [AppName | T]) ->
      io:format("Testing ~s~n", [AppName]),
      Modules = sin_config:get_value(BuildRef,
                                "apps." ++ AppName ++ ".modules"),
  
negative.code:     Paths = sin_config:get_value(BuildRef,
                                         "apps." ++ AppName ++ ".code_paths"),
      code:add_pathsa(Paths),
      setup_code_coverage(Modules),
      run_module_tests(Modules, []),
      CoverageFiles = output_code_coverage(BuildRef, DocDir, Modules, []),
      output_coverage_index(DocDir, AppName, CoverageFiles),
      sin_utils:remove_code_paths(Paths).
  
  
  %% @doc Output coverage information to make accessing the coverage files a bit
  %%  easier.
  