anchor.diff:                                       atom_to_list(App)
                                end, sin_config:get_value(BuildRef,
                                                     "project.apps")),
  -            test_apps(BuildRef, Apps)
  +                print_overall_percentage(test_apps(BuildRef, Apps, []))
       end,
       BuildRef.
   
  
positive.code:     Paths = sin_config:get_value(BuildRef,
                                         "apps." ++ AppName ++ ".code_paths"),
      code:add_pathsa(Paths),
      setup_code_coverage(BuildRef, 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.
  
negative.code: 
  %% @doc Instrument all of the modules for code coverage checks.
  %% @private
  -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
  