aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_ssl.rb
diff options
context:
space:
mode:
authorKazuki Yamaguchi <k@rhe.jp>2017-02-05 00:03:39 +0900
committerKazuki Yamaguchi <k@rhe.jp>2017-08-24 21:01:09 +0900
commit81f3efcbc5837af5e918ace44d8034e6c5ac0fb7 (patch)
tree4c6014c40ba3824da2776b7448aaf4efb9bba4e7 /test/test_ssl.rb
parenta0019110ddc97d3a46b99dc822b520f41afae687 (diff)
downloadruby-openssl-81f3efcbc5837af5e918ace44d8034e6c5ac0fb7.tar.gz
test/utils: let server_loop close socket
Close the socket by server_loop rather than by server_proc. This reduces code duplication.
Diffstat (limited to 'test/test_ssl.rb')
-rw-r--r--test/test_ssl.rb22
1 files changed, 8 insertions, 14 deletions
diff --git a/test/test_ssl.rb b/test/test_ssl.rb
index 418365a4..3917793e 100644
--- a/test/test_ssl.rb
+++ b/test/test_ssl.rb
@@ -206,21 +206,16 @@ class OpenSSL::TestSSL < OpenSSL::SSLTestCase
def test_starttls
server_proc = -> (ctx, ssl) {
- begin
- while line = ssl.gets
- if line =~ /^STARTTLS$/
- ssl.write("x")
- ssl.flush
- ssl.accept
- next
- end
- ssl.write(line)
+ while line = ssl.gets
+ if line =~ /^STARTTLS$/
+ ssl.write("x")
+ ssl.flush
+ ssl.accept
+ break
end
- rescue OpenSSL::SSL::SSLError
- rescue IOError
- ensure
- ssl.close rescue nil
+ ssl.write(line)
end
+ readwrite_loop(ctx, ssl)
}
EnvUtil.suppress_warning do # read/write on not started session
@@ -763,7 +758,6 @@ class OpenSSL::TestSSL < OpenSSL::SSLTestCase
cmp.force_encoding(Encoding::UTF_8)
assert_equal(str, cmp)
assert_equal(num_written, raw_size)
- ssl.close
}
start_server(server_proc: server_proc) { |port|
server_connect(port) { |ssl|