anchor.diff:  end_per_group(_, _) ->
       ok.
   
  -select() ->
  -    try rand:uniform(?LIMIT) of
  -        N -> lists:sublist(?util:scramble(tc()), max(N,5))
  +select(T) ->
  +    try maps:get(T, ?LIMIT) of
  +        N ->
  +            lists:sublist(?util:scramble(tc()), max(5, rand:uniform(N)))
       catch
           error:_ -> ?LIMIT
       end.
  
positive.code: -define(GROUPS, []).
  %-define(GROUPS, [[tcp,rfc6733,record,map,false,false,false,false]]).
  
  groups() ->
      Names = names(),
      [{P, [P], Ts} || Ts <- [tc()], P <- [shuffle, parallel]]
          ++
          [{?util:name(N), [], [{group, if S -> shuffle; not S -> parallel end}]}
           || [_,_,_,_,S|_] = N <- Names]
          ++
          [{T, [], [{group, ?util:name(N)} || N <- names(Names, ?GROUPS),
                                              T == hd(N)]}
  
negative.code: %% Positive number of testcases from which to select (randomly) from
  %% tc(), the list of testcases to run, or [] to run all. The random
  %% selection is to limit the time it takes for the suite to run.
  -define(LIMIT, #{tcp => 42, sctp => 5}).
  
  -define(util, diameter_util).
  
  