anchor.diff:              Config
       end.
   
  -end_per_group(B, Config)
  -  when is_boolean(B) ->
  +end_per_group(Name, Config)
  +  when Name == shuffle;
  +       Name == parallel ->
       remove_transports(Config),
       stop_services(Config);
   
   end_per_group(_, _) ->
       ok.
   
  +%% --------------------
  +
   %% Skip testcases that can reasonably fail under SCTP.
   init_per_testcase(Name, Config) ->
  -    case [skip || #group{transport = sctp}
  -                      <- [proplists:get_value(group, Config)],
  -                  send_maxlen == Name
  -                      orelse send_long == Name]
  +    case [G || #group{transport = sctp} = G
  +                   <- [proplists:get_value(group, Config)]]
       of
  -        [skip] ->
  +        [_] when Name == send_maxlen;
  +                 Name == send_long ->
               {skip, sctp};
  -        [] ->
  +        _ ->
               [{testcase, Name} | Config]
       end.
   
   end_per_testcase(_, _) ->
       ok.
  +
  +%% --------------------
   
   %% Testcases to run when services are started and connections
   %% established.
  
positive.code: -export([suite/0,
           all/0,
           groups/0,
           init_per_group/2,
           end_per_group/2,
           init_per_testcase/2,
  
negative.code:     [start, result_codes, {group, traffic}, outstanding, empty, stop].
  
  groups() ->
      [{P, [P], Ts} || Ts <- [tc()], P <- [shuffle, parallel]]
          ++
          [{?util:name([T,R,D,A,C,SD,CD]),
            [],
            [{group, if SD orelse CD -> shuffle; true -> parallel end}]}
           || T <- ?TRANSPORTS,
              R <- ?ENCODINGS,
              D <- ?RFCS,
              A <- ?ENCODINGS,
  