diff options
author | Emilia Kasper <emilia@openssl.org> | 2016-07-21 16:29:48 +0200 |
---|---|---|
committer | Emilia Kasper <emilia@openssl.org> | 2016-08-08 12:06:26 +0200 |
commit | 9f48bbacd8cac8d08dff146db438ab3e19908a7a (patch) | |
tree | 7650dbd3d696d895c53b153a3d2b8c3881bade88 /test/ssl_test.c | |
parent | a4a18b2f891c59fd78ad520da79146af13063892 (diff) | |
download | openssl-9f48bbacd8cac8d08dff146db438ab3e19908a7a.tar.gz |
Reorganize SSL test structures
Move custom server and client options from the test dictionary to an
"extra" section of each server/client. Rename test expectations to say
"Expected".
This is a big but straightforward change. Primarily, this allows us to
specify multiple server and client contexts without redefining the
custom options for each of them. For example, instead of
"ServerNPNProtocols", "Server2NPNProtocols", "ResumeServerNPNProtocols",
we now have, "NPNProtocols".
This simplifies writing resumption and SNI tests. The first application
will be resumption tests for NPN and ALPN.
Regrouping the options also makes it clearer which options apply to the
server, which apply to the client, which configure the test, and which
are test expectations.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Diffstat (limited to 'test/ssl_test.c')
-rw-r--r-- | test/ssl_test.c | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/test/ssl_test.c b/test/ssl_test.c index 48846ae32e..e4951f4fec 100644 --- a/test/ssl_test.c +++ b/test/ssl_test.c @@ -79,23 +79,23 @@ static int check_alerts(HANDSHAKE_RESULT *result, SSL_TEST_CTX *test_ctx) } /* Tolerate an alert if one wasn't explicitly specified in the test. */ - if (test_ctx->client_alert + if (test_ctx->expected_client_alert /* * The info callback alert value is computed as * (s->s3->send_alert[0] << 8) | s->s3->send_alert[1] * where the low byte is the alert code and the high byte is other stuff. */ - && (result->client_alert_sent & 0xff) != test_ctx->client_alert) { + && (result->client_alert_sent & 0xff) != test_ctx->expected_client_alert) { fprintf(stderr, "ClientAlert mismatch: expected %s, got %s.\n", - print_alert(test_ctx->client_alert), + print_alert(test_ctx->expected_client_alert), print_alert(result->client_alert_sent)); return 0; } - if (test_ctx->server_alert - && (result->server_alert_sent & 0xff) != test_ctx->server_alert) { + if (test_ctx->expected_server_alert + && (result->server_alert_sent & 0xff) != test_ctx->expected_server_alert) { fprintf(stderr, "ServerAlert mismatch: expected %s, got %s.\n", - print_alert(test_ctx->server_alert), + print_alert(test_ctx->expected_server_alert), print_alert(result->server_alert_sent)); return 0; } @@ -112,10 +112,10 @@ static int check_protocol(HANDSHAKE_RESULT *result, SSL_TEST_CTX *test_ctx) return 0; } - if (test_ctx->protocol) { - if (result->client_protocol != test_ctx->protocol) { + if (test_ctx->expected_protocol) { + if (result->client_protocol != test_ctx->expected_protocol) { fprintf(stderr, "Protocol mismatch: expected %s, got %s.\n", - ssl_protocol_name(test_ctx->protocol), + ssl_protocol_name(test_ctx->expected_protocol), ssl_protocol_name(result->client_protocol)); return 0; } @@ -138,9 +138,6 @@ static int check_session_ticket(HANDSHAKE_RESULT *result, SSL_TEST_CTX *test_ctx { if (test_ctx->session_ticket_expected == SSL_TEST_SESSION_TICKET_IGNORE) return 1; - if (test_ctx->session_ticket_expected == SSL_TEST_SESSION_TICKET_BROKEN && - result->session_ticket == SSL_TEST_SESSION_TICKET_NO) - return 1; if (result->session_ticket != test_ctx->session_ticket_expected) { fprintf(stderr, "Client SessionTicketExpected mismatch, expected %s, got %s\n.", ssl_session_ticket_name(test_ctx->session_ticket_expected), @@ -230,7 +227,8 @@ static int execute_test(SSL_TEST_FIXTURE fixture) #ifndef OPENSSL_NO_DTLS if (test_ctx->method == SSL_TEST_METHOD_DTLS) { server_ctx = SSL_CTX_new(DTLS_server_method()); - if (test_ctx->servername_callback != SSL_TEST_SERVERNAME_CB_NONE) { + if (test_ctx->extra.server.servername_callback != + SSL_TEST_SERVERNAME_CB_NONE) { server2_ctx = SSL_CTX_new(DTLS_server_method()); OPENSSL_assert(server2_ctx != NULL); } @@ -245,7 +243,9 @@ static int execute_test(SSL_TEST_FIXTURE fixture) #endif if (test_ctx->method == SSL_TEST_METHOD_TLS) { server_ctx = SSL_CTX_new(TLS_server_method()); - if (test_ctx->servername_callback != SSL_TEST_SERVERNAME_CB_NONE) { + /* SNI on resumption isn't supported/tested yet. */ + if (test_ctx->extra.server.servername_callback != + SSL_TEST_SERVERNAME_CB_NONE) { server2_ctx = SSL_CTX_new(TLS_server_method()); OPENSSL_assert(server2_ctx != NULL); } |