aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorKazuki Yamaguchi <k@rhe.jp>2016-08-28 18:04:20 +0900
committerKazuki Yamaguchi <k@rhe.jp>2016-08-28 18:25:51 +0900
commit18704eb61c25955c31801b8e2fa9fa6d48516db0 (patch)
treee82e0d236f3a782ae0c490667714a1635f262765 /test
parent26ac46584fc10ec03f1d2582dab50172bd9da1ad (diff)
downloadruby-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.rb10
-rw-r--r--test/test_partial_record_read.rb35
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