summaryrefslogtreecommitdiff
path: root/test/soap/ssl
diff options
context:
space:
mode:
Diffstat (limited to 'test/soap/ssl')
-rw-r--r--test/soap/ssl/sslsvr.rb16
-rw-r--r--test/soap/ssl/test_ssl.rb13
2 files changed, 18 insertions, 11 deletions
diff --git a/test/soap/ssl/sslsvr.rb b/test/soap/ssl/sslsvr.rb
index 281c1a1a51..52a8d6878f 100644
--- a/test/soap/ssl/sslsvr.rb
+++ b/test/soap/ssl/sslsvr.rb
@@ -47,10 +47,18 @@ if $0 == __FILE__
:SSLClientCA => cert('ca.cert'),
:SSLCertName => nil
)
- trap(:INT) do
- $server.shutdown if $server
+ t = Thread.new {
+ Thread.current.abort_on_exception = true
+ $server.start
+ }
+ while $server.status != :Running
+ sleep 0.1
+ unless t.alive?
+ t.join
+ raise
+ end
end
STDOUT.sync = true
- STDOUT.puts $$
- $server.start
+ puts $$
+ t.join
end
diff --git a/test/soap/ssl/test_ssl.rb b/test/soap/ssl/test_ssl.rb
index 6678c775ac..82bb890d71 100644
--- a/test/soap/ssl/test_ssl.rb
+++ b/test/soap/ssl/test_ssl.rb
@@ -33,12 +33,8 @@ class TestSSL < Test::Unit::TestCase
teardown_server
end
- def streamhandler
- @client.instance_eval("@servant").instance_eval("@streamhandler").client
- end
-
def test_options
- cfg = streamhandler.ssl_config
+ cfg = @client.streamhandler.client.ssl_config
assert_nil(cfg.client_cert)
assert_nil(cfg.client_key)
assert_nil(cfg.client_ca)
@@ -192,11 +188,14 @@ private
end
def teardown_server
- Process.kill('INT', @serverpid)
+ if @serverpid
+ Process.kill('KILL', @serverpid)
+ Process.waitpid(@serverpid)
+ end
end
def teardown_client
- @client.reset_stream
+ @client.reset_stream if @client
end
def verify_callback(ok, cert)