anchor.diff:  cover_analyze(_Config, [], _SrcModules) ->
       ok;
   cover_analyze(Config, Modules, SrcModules) ->
  -    Suite = list_to_atom(rebar_config:get_global(suite, "")),
  -    FilteredModules = [M || M <- Modules, M =/= Suite],
  +    %% suite can be a comma seperated list of modules to test
  +    Suite = [list_to_atom(S) ||
  +                S <- string:tokens(rebar_config:get_global(suite, ""), ",")],
  +    FilteredModules = [M || M <- Modules, lists:member(M, Suite)],
   
       %% Generate coverage info for all the cover-compiled modules
       Coverage = [cover_analyze_mod(M) || M <- FilteredModules],
  
positive.code: 
  perform_eunit(Config, Modules) ->
      %% suite defined, so only specify the module that relates to the
      %% suite (if any)
      Suite = rebar_config:get_global(suite, undefined),
      EunitOpts = get_eunit_opts(Config),
  
  
negative.code: 
  perform_eunit(EunitOpts, Modules, undefined) ->
      (catch eunit:test(Modules, EunitOpts));
  perform_eunit(EunitOpts, _Modules, Suites) ->
      (catch eunit:test([list_to_atom(Suite) ||
                            Suite <- string:tokens(Suites, ",")], EunitOpts)).
  
  get_eunit_opts(Config) ->
      %% Enable verbose in eunit if so requested..
  