3ed5977cbb
If a Read or Write blocks for too long, time out the operation. Otherwise, some kinds of test failures result in hangs, which prevent the test harness from progressing. (Notably, OpenSSL currently has a lot of those failure modes and upstream expressed interest in being able to run the tests to completion.) Go's APIs want you to send an absolute timeout, to avoid problems when a Read is split into lots of little Reads. But we actively want the timer to reset in that case, so this needs a trivial adapter. The default timeout is set at 15 seconds for now. If this becomes a problem, we can extend it or build a more robust deadlock detector given an out-of-band channel (shim tells runner when it's waiting on data, abort if we're also waiting on data at the same time). But I don't think we'll need that complexity. 15 seconds appears fine for both valgrind and running tests on a Nexus 4. BUG=460189 Change-Id: I6463fd36058427d883b526044da1bbefba851785 Reviewed-on: https://boringssl-review.googlesource.com/7380 Reviewed-by: Steven Valdez <svaldez@google.com> Reviewed-by: David Benjamin <davidben@google.com> |
||
---|---|---|
.. | ||
curve25519 | ||
poly1305 | ||
alert.go | ||
cert.pem | ||
chacha20_poly1305_test.go | ||
chacha20_poly1305.go | ||
channel_id_key.pem | ||
cipher_suites.go | ||
common.go | ||
conn.go | ||
dtls.go | ||
ecdsa_cert.pem | ||
ecdsa_key.pem | ||
handshake_client.go | ||
handshake_messages.go | ||
handshake_server.go | ||
key_agreement.go | ||
key.pem | ||
packet_adapter.go | ||
prf.go | ||
recordingconn.go | ||
runner_test.go | ||
runner.go | ||
test_output.go | ||
ticket.go | ||
tls.go |