anchor.diff:  			 [AppName]),
               ok;
           false ->
  -            prepare_for_tests(BuildRef, AppName, Modules)
  +            prepare_for_tests(BuildAll, BuildRef, AppName, Modules)
       end,
  -    test_apps(BuildRef, T, [Modules | Acc]);
  -test_apps(_, [], Modules) ->
  +    test_apps(BuildAll, BuildRef, T, [Modules | Acc]);
  +test_apps(_, _, [], Modules) ->
       Modules.
   
   %% @doc Prepare for running the tests. This mostly means seting up the
   %% coverage tools.
  --spec prepare_for_tests(sin_config:config(), string(), [atom()]) -> ok.
  -prepare_for_tests(BuildRef, AppName, AllModules) ->
  +-spec prepare_for_tests(all | changed,
  +			sin_config:config(), string(), [atom()]) -> ok.
  +prepare_for_tests(BuildAll, BuildRef, AppName, AllModules) ->
       BuildDir = sin_config:get_value(BuildRef, "build.dir"),
       DocDir = filename:join([BuildDir, "docs", "coverage", AppName]),
       filelib:ensure_dir(filename:join([DocDir, "tmp"])),
  
positive.code:                                      atom_to_list(App)
                               end, sin_config:get_value(BuildRef,
                                                    "project.apps")),
  	    test_apps(BuildRef, Apps, []),
  	    print_overall_percentage(BuildRef, Apps)
      end,
      BuildRef.
  
negative.code:                                        "apps." ++ AppName ++ ".code_paths"),
      code:add_pathsa(Paths),
      Modules = setup_code_coverage(BuildRef, AppName),
      run_module_tests(BuildAll, AllModules),
      CoverageFiles = output_code_coverage(BuildRef, DocDir, Modules, []),
      output_coverage_index(DocDir, AppName, CoverageFiles),
      sin_utils:remove_code_paths(Paths),
  