summaryrefslogtreecommitdiff
path: root/test/openssl
diff options
context:
space:
mode:
authorAaron Patterson <tenderlove@ruby-lang.org>2021-04-15 16:53:47 -0700
committerKazuki Yamaguchi <k@rhe.jp>2021-07-18 17:44:53 +0900
commit593164c2bea634e33682a0095825ef17021a7433 (patch)
treefdbbcb26daac29fc24eb16708dfbecd8faf73f69 /test/openssl
parent6d71918d94a6b34249015499e5e822d3b20fd10f (diff)
[ruby/openssl] Add SSLSocket#getbyte
Normal sockets respond to `getbyte`, so we should make SSLSocket respond to `getbyte` as well. This way we can substitute SSLSockets for regular sockets. https://github.com/ruby/openssl/commit/ac1490b7c9
Diffstat (limited to 'test/openssl')
-rw-r--r--test/openssl/test_ssl.rb13
-rw-r--r--test/openssl/ut_eof.rb4
2 files changed, 17 insertions, 0 deletions
diff --git a/test/openssl/test_ssl.rb b/test/openssl/test_ssl.rb
index f24aabe748..3dda754870 100644
--- a/test/openssl/test_ssl.rb
+++ b/test/openssl/test_ssl.rb
@@ -185,6 +185,19 @@ class OpenSSL::TestSSL < OpenSSL::SSLTestCase
}
end
+ def test_getbyte
+ start_server { |port|
+ server_connect(port) { |ssl|
+ str = +("x" * 100 + "\n")
+ ssl.syswrite(str)
+ newstr = str.bytesize.times.map { |i|
+ ssl.getbyte
+ }.pack("C*")
+ assert_equal(str, newstr)
+ }
+ }
+ end
+
def test_sync_close
start_server do |port|
begin
diff --git a/test/openssl/ut_eof.rb b/test/openssl/ut_eof.rb
index cf1f2d423e..7b18f43a79 100644
--- a/test/openssl/ut_eof.rb
+++ b/test/openssl/ut_eof.rb
@@ -4,6 +4,10 @@ require 'test/unit'
if defined?(OpenSSL)
module OpenSSL::TestEOF
+ def test_getbyte_eof
+ open_file("") {|f| assert_nil f.getbyte }
+ end
+
def test_eof_0
open_file("") {|f|
assert_equal("", f.read(0))