boringssl/ssl/test/runner
David Benjamin 3ed5977cbb Add an idle timeout to runner.go.
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>
2016-03-08 22:26:41 +00:00
..
curve25519 Bundle a copy of golang.org/x/crypto/curve25519 for testing. 2015-12-22 17:47:53 +00:00
poly1305 Switch the bundled poly1305 to relative imports. 2015-12-22 17:47:28 +00:00
alert.go Make the runner tests a go “test” 2015-09-30 17:10:45 +00:00
cert.pem
chacha20_poly1305_test.go Implement RFC 7539 in Go. 2015-12-16 23:33:39 +00:00
chacha20_poly1305.go Switch the bundled poly1305 to relative imports. 2015-12-22 17:47:28 +00:00
channel_id_key.pem
cipher_suites.go Implement draft-ietf-tls-chacha20-poly1305-04 in Go. 2015-12-16 23:33:54 +00:00
common.go Fix the tests for the fuzzer mode. 2016-03-03 01:36:55 +00:00
conn.go Fix the tests for the fuzzer mode. 2016-03-03 01:36:55 +00:00
dtls.go Fix DTLS asynchronous write handling. 2015-11-02 23:16:22 +00:00
ecdsa_cert.pem
ecdsa_key.pem
handshake_client.go Consider session if the client supports tickets but offered a session ID. 2016-01-15 20:08:52 +00:00
handshake_messages.go Update references to the extended master secret draft. 2016-02-02 16:37:55 +00:00
handshake_server.go Add tests for bad ChangeCipherSpecs. 2015-12-16 17:39:43 +00:00
key_agreement.go Fix a memory leak in an error path. 2016-03-02 15:49:30 +00:00
key.pem
packet_adapter.go Add tests for bad ChangeCipherSpecs. 2015-12-16 17:39:43 +00:00
prf.go Update references to the extended master secret draft. 2016-02-02 16:37:55 +00:00
recordingconn.go Add an option to record transcripts from runner tests. 2016-03-03 01:38:14 +00:00
runner_test.go Make the runner tests a go “test” 2015-09-30 17:10:45 +00:00
runner.go Add an idle timeout to runner.go. 2016-03-08 22:26:41 +00:00
test_output.go Make the runner tests a go “test” 2015-09-30 17:10:45 +00:00
ticket.go Make the runner tests a go “test” 2015-09-30 17:10:45 +00:00
tls.go Make the runner tests a go “test” 2015-09-30 17:10:45 +00:00