Age | Commit message (Collapse) | Author |
|
|
|
1) Improved time calculations
When measuring the time something takes,
use monitonic time instead (of os:timestamp()).
2) Make sure we do not hang when the node start
hangs. We start new (slave) nodes via a starter process.
The point of that is that it can be killed when it
takes to long.
|
|
When an evaluator skips (issue a exit or throw skip),
we must make sure all the other also terminates, before
the TC can end.
This was not done which cause the TC to fail when one
of the other evaluators (tester) terminated later.
|
|
|
|
|
|
Make use of the new select functions; enif_select_[read|write],
for read and write select. These functions allows us to construct
the select message ourseves:
{'$socket', Socket, select, Ref}
This is in preparations for when we introduce the 'nowait'
(or something similar) value for the timeout argument (in accept,
read and write funcions).
It also solves (we hope) the term leakage problems (it was difficult
to free the environment when there was only one/socket).
OTP-15496
|
|
Added a fun for precondition check run before each test case
is actually run. The primary reason for this is the api_to_connect
test case, which does not work for a number of platforms.
Also, moved the IPv6 check into this fun (instead of an explicit
skip in the test case fun) for the IPv6 test cases.
|
|
If a test case timed out, all processes created by it
should die. But because the 'evaluator' processes where
created with spawn_monitor, that was not the case, and
therefor, these processes could linger.
|
|
Make use of macro concat magic to simplify declarations.
OTP-15565
|
|
Add a quiet logger mode (default) which limits the
printouts in the (erlang) shell (the web log will
be as verbose as usual).
Also added a way to configure the runtime of the ttest
cases.
|
|
Fixed how to figure out local address on macOS Mojave.
OTP-14831
|
|
Added preliminary, and temporary, windows adaptions.
Basically they amount to letting all nif-callback functions
returning badarg for all calls if on windows (this has
been accomplished by if-defing the nif-code; if win32 then
badarg else do-something).
OTP-15526
|
|
Its now possible to set a rcvbuf (otp) option value
of {N :: pos_integer(), BufSz :: pos_integer()}.
This value is used for type stream and protocol tcp,
when calling the function recv with length = 0 (zero).
The second value, BufSz, is the actual size of the receive
buffer used when calling the socket recv function, and
the first value, N, is the max number of possible reads
that will be performed (at most), even if there is more
data to read. This is limit the effect of DoS attacks.
OTP-15497
|
|
The read and write functions now *only* use the isReadable and
isWritable fields, respectively, to decide if the "socket" can be read
from and written to (previously the state field was used outside of
the mutex lock).
Also made it possible to enable / disable test suite groups individually,
via environment variables (ESOCK_TEST_...). Specifically, the ttest
group has been excluded by default (takes to long a time).
OTP-15549
|
|
Add a way to *get* the file descriptor (fd) of a socket.
Useful mostly for debugging.
OTP-15528
|
|
It took "forever" to run the ttest test cases, so the runtime
of these have been adjusted down to 10 seconds (from 60 seconds).
OTP-14831
|
|
Handle (rcv and snd) buffer set failure.
The number of iterations (message exchanges) that the
traffic ping-cases has been adjusted down (by a factor of 10).
Also, improve skip'ing.
OTP-14831
|
|
The test case tried to validate the (socket option) protocol,
which is not actually available on OpenBSD. So, add a check
if the option is supported.
OTP-14831
|
|
|
|
Added a number of ttest test cases with transport socket.
Server with transport = socket(tcp), active = true and client
using transport = socket(tcp) (and active = false, once and true).
OTP-14831
|
|
Added a number of ttest test cases with transport socket and gen_tcp.
Server with transport = socket(tcp), active = true and client
using transport = gen_tcp (and active = false, once and true).
OTP-14831
|
|
Added a number of ttest test cases with transport socket.
Server with transport = socket(tcp), active = once and client
using transport = socket(tcp) (and active = false, once and true).
OTP-14831
|
|
Added a number of ttest test cases with transport socket and gen_tcp.
Server with transport = socket(tcp), active = once and client
using transport = gen_tcp (and active = false, once and true).
OTP-14831
|
|
Added a number of ttest test cases with transport socket.
Server with transport = socket(tcp), active = false and client
using transport = socket(tcp) (and active = false, once and true).
OTP-14831
|
|
Added a number of ttest test cases with transport socket and gen_tcp.
Server with transport = socket(tcp), active = false and client
using transport = gen_tcp (and active = false, once and true).
OTP-14831
|
|
Added a number of ttest test cases with transport gen_tcp and socket.
Server with transport = gen_tcp, active = true and client
using transport = socket(tcp) (and active = false, once and true).
OTP-14831
|
|
Added a number of ttest test cases with transport gen_tcp.
Server with transport = gen_tcp, active = true and client
using transport = gen_tcp (and active = false, once and true).
OTP-14831
|
|
Added a number of ttest test cases with transport gen_tcp and socket.
Server with transport = gen_tcp, active = once and client
using transport = socket(tcp) (and active = false, once and true).
Also fixed a counting error in the server (forgot to include the
header, 16 bytes, in the byte count).
OTP-14831
|
|
Added a number of ttest test cases with transport gen_tcp.
Server with transport = gen_tcp, active = once and client
using transport = gen_tcp (and active = false, once and true).
Also a bit of client and server cleanup (remove and cleanup up
some printouts).
OTP-14831
|
|
Added a number of ttest test cases with transport gen_tcp and socket.
Server with transport = gen_tcp, active = false and client
using transport = socket(tcp) (and active = false, once and true).
Also a bit of "grouping".
OTP-14831
|
|
Added a number of ttest test cases with transport gen_tcp.
Server with transport = gen_tcp, active = false and client
using transport = gen_tcp (and active = false, once and true).
Also "fixed" the gen_tcp socket buffer size (default size
was way to small for the "large" messages).
OTP-14831
|
|
Added a (first) test case based on the ttest modules.
OTP-14831
|
|
Added a global logger that make it possible to log
from the slave nodes (with "ease").
Also "fixed" the test case that failed on "older"
linux (Ubuntu 14.04). For now we let it skip
instead (we should really check the OS version).
Also corrected a couple of (ping-pong) cases for which
the buffer adjustments did not work.
OTP-14831
|
|
Assumed the wrong success value ({ok, _} instead of ok) for the
api-to-connect-tcp test case.
OTP-14831
|
|
The ping-pong merge had some problems...
|
|
bmk/20180918/nififying_inet/OTP-14831
|
|
Attempt to fix the the api_to_connect_tcp[4|6] test cases.
On some linux versions (Ubuntu 14), the backlog seems to not
work. No luck...
OTP-14831
|
|
Added a socket close (actually shutdown(write)) for recv and
recvmsg for tcp.
OTP-14831
|
|
Added ping-pong test cases for UDP, small and medium, using
the sendto/recvfrom and sendmsg/recvmsg functions.
OTP-14831
|
|
Some minor restructure of the ping-pong test cases in order
to not have duplicate the send and receive fun's.
OTP-14831
|
|
Added New ping-pong test cases using the sendmsg and recvmsg functions.
OTP-14831
|
|
The ping-pong test case(s) now initiates the socket
buffers before they are connected (server: before listen is
called on the listen socket and client: before connect is called).
Also, we now include a length indicator in the messages, so
that we know how much to read.
OTP-14831
|
|
We got some kind of send hang...
|
|
The send and recv test case triggered a two bugs. One was
that there was no re-selecting when only a portion of the data
was received (which meant that we stopped reading).
Also, the wrong 'current' (writer) was reset when demonitor
current reader after a successful read (which meant that
future readers would never have been monitored).
OTP-14831
|
|
Make more use the evaluator functions for communication between
processes. Specifically, between the server and its handler processes
in the sc_rc_receive_response_tcp test cases(s).
OTP-14831
|
|
Use the evaluator functions for communication between processes
also for communication between "slave" processes (on other nodes).
OTP-14831
|
|
All test cases has been updated using the new evaluator module
(and their macros).
OTP-14831
|
|
Add a "proper" evaluator module and adapted a couple
of test cases to use that instead.
OTP-14831
|
|
Updated the socket (remote) close test case(s) sc_rc_receive_response_tcp.
Now has three (remote) client connecting.
OTP-14831
|
|
Updated the socket (local) close test case(s) sc_lc_acceptor_response_tcp
with the new evaluator interface functions.
OTP-14831
|