* test/net/http/test_https_proxy.rb: Use assert_join_threads.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48379 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
akr 2014-11-11 13:08:01 +00:00
Родитель 50ad0f58bb
Коммит 7bb546a2a1
2 изменённых файлов: 21 добавлений и 14 удалений

Просмотреть файл

@ -1,3 +1,7 @@
Tue Nov 11 22:07:20 2014 Tanaka Akira <akr@fsij.org>
* test/net/http/test_https_proxy.rb: Use assert_join_threads.
Tue Nov 11 18:09:11 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
* template/prelude.c.tmpl: move from tool/compile_prelude.rb and

Просмотреть файл

@ -12,10 +12,9 @@ class HTTPSProxyTest < Test::Unit::TestCase
skip 'autoload problem. see [ruby-dev:45021][Bug #5786]'
end
t = nil
TCPServer.open("127.0.0.1", 0) {|serv|
_, port, _, _ = serv.addr
t = Thread.new {
client_thread = Thread.new {
proxy = Net::HTTP.Proxy("127.0.0.1", port, 'user', 'password')
http = proxy.new("foo.example.org", 8000)
http.use_ssl = true
@ -25,19 +24,23 @@ class HTTPSProxyTest < Test::Unit::TestCase
rescue EOFError
end
}
sock = serv.accept
proxy_request = sock.gets("\r\n\r\n")
assert_equal(
"CONNECT foo.example.org:8000 HTTP/1.1\r\n" +
"Host: foo.example.org:8000\r\n" +
"Proxy-Authorization: Basic dXNlcjpwYXNzd29yZA==\r\n" +
"\r\n",
proxy_request,
"[ruby-dev:25673]")
sock.close
server_thread = Thread.new {
sock = serv.accept
begin
proxy_request = sock.gets("\r\n\r\n")
assert_equal(
"CONNECT foo.example.org:8000 HTTP/1.1\r\n" +
"Host: foo.example.org:8000\r\n" +
"Proxy-Authorization: Basic dXNlcjpwYXNzd29yZA==\r\n" +
"\r\n",
proxy_request,
"[ruby-dev:25673]")
ensure
sock.close
end
}
assert_join_threads([client_thread, server_thread])
}
ensure
t.join if t
end
end if defined?(OpenSSL)