anchor.diff:                   {error, Reason} ->
                        ?FAIL({open, Reason})
                end,
  -    {ok, Domain} = socket:getopt(Socket, socket, domain),
  +    %% Domain is not available on all platforms: 
  +    case socket:getopt(Socket, socket, domain) of
  +	{ok, Domain} ->
  +	    ok;
  +	{error, einval} ->
  +	    ok;
  +	Else ->
  +	    ?FAIL({getopt, domain, Else})
  +    end,
       {ok, Type}   = socket:getopt(Socket, socket, type),
       {ok, Proto}  = socket:getopt(Socket, socket, protocol),
       Self = self(),
  
positive.code:         {error, timeout} ->
              p("expected timeout (~w)", [ID]),
              ok;
          {error, Reason} ->
              p("failed connecting: ~p", [Reason]),
              ?FAIL({recv, Reason});
  
negative.code: 
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  %% We use the backlog (listen) argument to test this.
  %% Note that the behaviour of the TCP "server side" can vary when 
  %% a client connect to a "busy" server (full backlog).
  %% For instance, on FreeBSD (11.2) the reponse when the backlog is full
  %% is a econreset.
  
  api_to_connect_tcp(Domain) ->
      process_flag(trap_exit, true),
  