[esock|test] Add proper peek-off test case
[esock|test] Add proper peek-off test case

Add a proper test case for the peek-off 'socket' option.

This option is dangerous at the moment. If you do a second
socket:recv(Sock, 0, [peek]), the call will hang (unless a
timeout is specified)!!
The reason for this is that we use a select to detect if
there is something to read, but when the second call is made,
the peek pointer has been moved to the end of data, so the
second peek read will fail with eagain even though there is
data to read. The code will then do a new select. Wich will
trigger immediately (since there is data to read). Ando so on.

So, either disable this option at the moment, or add some
code that keeps track on the fact that we have changed
peek-off (and can break the loop).

OTP-16114
OTP-16196

dumbbell/otp,vladdu/otp,electricimp/otp,jj1bdx/otp,rlipscombe/otp,isvilen/otp,g-andrade/otp,jj1bdx/otp,rlipscombe/otp,kvakvs/otp,jj1bdx/otp,uabboli/otp,electricimp/otp,bjorng/otp,lrascao/otp,isvilen/otp,getong/otp,mikpe/otp,getong/otp,erlang/otp,vinoski/otp,potatosalad/otp,lrascao/otp,ferd/otp,vladdu/otp,vinoski/otp,kvakvs/otp,lrascao/otp,potatosalad/otp,isvilen/otp,erlang/otp,rlipscombe/otp,potatosalad/otp,jj1bdx/otp,jj1bdx/otp,vinoski/otp,jj1bdx/otp,jj1bdx/otp,vladdu/otp,emacsmirror/erlang,mikpe/otp,mikpe/otp,bjorng/otp,isvilen/otp,dumbbell/otp,erlang/otp,vladdu/otp,getong/otp,ferd/otp,potatosalad/otp,ferd/otp,getong/otp,emacsmirror/erlang,vinoski/otp,potatosalad/otp,lrascao/otp,ferd/otp,vinoski/otp,ferd/otp,erlang/otp,dumbbell/otp,mikpe/otp,bjorng/otp,electricimp/otp,vinoski/otp,electricimp/otp,mikpe/otp,uabboli/otp,kvakvs/otp,emacsmirror/erlang,jj1bdx/otp,vladdu/otp,g-andrade/otp,dumbbell/otp,g-andrade/otp,vladdu/otp,mikpe/otp,getong/otp,uabboli/otp,dgud/otp,erlang/otp,potatosalad/otp,isvilen/otp,erlang/otp,bjorng/otp,electricimp/otp,dumbbell/otp,g-andrade/otp,emacsmirror/erlang,getong/otp,kvakvs/otp,kvakvs/otp,rlipscombe/otp,lrascao/otp,bjorng/otp,bjorng/otp,isvilen/otp,electricimp/otp,g-andrade/otp,vladdu/otp,vladdu/otp,lrascao/otp,bjorng/otp,emacsmirror/erlang,dgud/otp,rlipscombe/otp,potatosalad/otp,lrascao/otp,electricimp/otp,g-andrade/otp,isvilen/otp,dgud/otp,ferd/otp,dumbbell/otp,potatosalad/otp,emacsmirror/erlang,bjorng/otp,dumbbell/otp,emacsmirror/erlang,vinoski/otp,kvakvs/otp,uabboli/otp,getong/otp,emacsmirror/erlang,dgud/otp,dgud/otp,potatosalad/otp,jj1bdx/otp,vladdu/otp,ferd/otp,bjorng/otp,dumbbell/otp,rlipscombe/otp,emacsmirror/erlang,kvakvs/otp,vinoski/otp,emacsmirror/erlang,getong/otp,uabboli/otp,dumbbell/otp,vinoski/otp,electricimp/otp,rlipscombe/otp,bjorng/otp,dgud/otp,potatosalad/otp,erlang/otp,vinoski/otp,rlipscombe/otp,lrascao/otp,rlipscombe/otp,mikpe/otp,getong/otp,mikpe/otp,uabboli/otp,rlipscombe/otp,kvakvs/otp,dgud/otp,g-andrade/otp,g-andrade/otp,erlang/otp,electricimp/otp,uabboli/otp,kvakvs/otp,dgud/otp,erlang/otp,uabboli/otp,isvilen/otp,mikpe/otp,isvilen/otp,erlang/otp,g-andrade/otp,g-andrade/otp,isvilen/otp,dgud/otp,ferd/otp,jj1bdx/otp,dgud/otp,uabboli/otp,ferd/otp,lrascao/otp,dumbbell/otp,getong/otp,mikpe/otp