diff options
author | Kazuki Yamaguchi <k@rhe.jp> | 2016-08-28 18:04:20 +0900 |
---|---|---|
committer | Kazuki Yamaguchi <k@rhe.jp> | 2016-08-28 18:25:51 +0900 |
commit | 18704eb61c25955c31801b8e2fa9fa6d48516db0 (patch) | |
tree | e82e0d236f3a782ae0c490667714a1635f262765 /test | |
parent | 26ac46584fc10ec03f1d2582dab50172bd9da1ad (diff) | |
download | ruby-openssl-18704eb61c25955c31801b8e2fa9fa6d48516db0.tar.gz |
test: move test_partial_record_read into test_pair.rb
It can make use of ssl_pair. This allows removing 6 secs sleep.
Diffstat (limited to 'test')
-rw-r--r-- | test/test_pair.rb | 10 | ||||
-rw-r--r-- | test/test_partial_record_read.rb | 35 |
2 files changed, 10 insertions, 35 deletions
diff --git a/test/test_pair.rb b/test/test_pair.rb index 610aa982..92502229 100644 --- a/test/test_pair.rb +++ b/test/test_pair.rb @@ -322,6 +322,16 @@ module OpenSSL::TestPairM } end + def test_partial_tls_record_read_nonblock + ssl_pair { |s1, s2| + # the beginning of a TLS record + s1.io.write("\x17") + # should raise a IO::WaitReadable since a full TLS record is not available + # for reading + assert_raise(IO::WaitReadable) { s2.read_nonblock(1) } + } + end + def tcp_pair host = "127.0.0.1" serv = TCPServer.new(host, 0) diff --git a/test/test_partial_record_read.rb b/test/test_partial_record_read.rb deleted file mode 100644 index 71e644a0..00000000 --- a/test/test_partial_record_read.rb +++ /dev/null @@ -1,35 +0,0 @@ -# frozen_string_literal: false -require_relative "utils" - -if defined?(OpenSSL::TestUtils) - - class OpenSSL::TestPartialRecordRead < OpenSSL::SSLTestCase - def test_partial_tls_record_read_nonblock - start_server(OpenSSL::SSL::VERIFY_NONE, true, :server_proc => - Proc.new do |server_ctx, server_ssl| - begin - server_ssl.io.write("\x01") # the beginning of a TLS record - sleep 6 # do not finish prematurely before the read by the client is attempted - ensure - server_ssl.close - end - end - ) do |server, port| - sock = TCPSocket.new("127.0.0.1", port) - ssl = OpenSSL::SSL::SSLSocket.new(sock) - ssl.sync_close = true - begin - ssl.connect - sleep 3 # wait is required for the (incomplete) TLS record to arrive at the client socket - - # Should raise a IO::WaitReadable since a full TLS record is not available for reading. - assert_raise(IO::WaitReadable) { ssl.read_nonblock(1) } - ensure - ssl.close - end - end - end - - end - -end |