From 516ffcc31100f88624733121258b969dcc983bc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Lindqvist?= Date: Fri, 18 Apr 2014 18:46:12 +0200 Subject: [PATCH] io.sockets.secure.openssl.tests: more and better SSL_connect tests Better error handling so it should be easier to see why the tests fail on the build server (#1036). --- .../secure/openssl/openssl-tests.factor | 28 +++++++++++++++---- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/basis/io/sockets/secure/openssl/openssl-tests.factor b/basis/io/sockets/secure/openssl/openssl-tests.factor index 17927584f1..4949e1fe71 100644 --- a/basis/io/sockets/secure/openssl/openssl-tests.factor +++ b/basis/io/sockets/secure/openssl/openssl-tests.factor @@ -21,14 +21,32 @@ IN: io.sockets.secure.openssl.tests socket-connect os windows? [ alien-address ] when BIO_NOCLOSE BIO_new_socket ; -: remote ( -- remote ) - URL" https://www.google.com" url-addr addrspec>> resolve-host first ; - [ 200 ] [ "https://www.google.se" http-get drop code>> ] unit-test +: remote ( url -- remote ) + url-addr addrspec>> resolve-host first ; + +! These tests break if any of the sites change their certs or go +! down. But that should never ever happen. :) [ "www.google.com" ] [ - new-ssl dup remote ssl-socket-connect dup SSL_set_bio - dup SSL_connect -1 = [ "SSL_connect failed in unit test" ] [ SSL_get_peer_certificate subject-name ] if + new-ssl dup URL" https://www.google.com" remote + ssl-socket-connect dup SSL_set_bio + dup do-ssl-connect-once f assert= + SSL_get_peer_certificate subject-name +] unit-test + +[ "*.facebook.com" ] [ + new-ssl dup URL" https://www.facebook.com" remote + ssl-socket-connect dup SSL_set_bio + dup do-ssl-connect-once f assert= + SSL_get_peer_certificate subject-name +] unit-test + +[ "github.com" ] [ + new-ssl dup URL" https://www.github.com" remote + ssl-socket-connect dup SSL_set_bio + dup do-ssl-connect-once f assert= + SSL_get_peer_certificate subject-name ] unit-test [ t ] [