ruby/test/drb/test_drbssl.rb
nagachika 74d7093283 merge revision(s) 881bc2a176:
Skip running a DRb test on MinGW

	It hangs even after a retry
	7966439530

	We contacted GitHub Suppport about this before, and we concluded that
	the problem is on our end. Unfortunately we don't have a bandwidth to
	fix this MinGW problem, so until we get to work on it, this should be
	just skipped to avoid a sporadic CI timeout.
	---
	 test/drb/drbtest.rb      | 1 +
	 test/drb/test_drbssl.rb  | 4 ++++
	 test/rinda/test_rinda.rb | 2 +-
	 3 files changed, 6 insertions(+), 1 deletion(-)
2022-10-21 22:48:29 +09:00

76 lines
1.5 KiB
Ruby

# frozen_string_literal: false
require_relative 'drbtest'
begin
require 'drb/ssl'
rescue LoadError
end
module DRbTests
if Object.const_defined?("OpenSSL")
class DRbSSLService < DRbService
%w(ut_drb_drbssl.rb ut_array_drbssl.rb).each do |nm|
add_service_command(nm)
end
def start
config = Hash.new
config[:SSLVerifyMode] = OpenSSL::SSL::VERIFY_PEER
config[:SSLVerifyCallback] = lambda{ |ok,x509_store|
true
}
begin
data = open("sample.key"){|io| io.read }
config[:SSLPrivateKey] = OpenSSL::PKey::RSA.new(data)
data = open("sample.crt"){|io| io.read }
config[:SSLCertificate] = OpenSSL::X509::Certificate.new(data)
rescue
# $stderr.puts "Switching to use self-signed certificate"
config[:SSLCertName] =
[ ["C","JP"], ["O","Foo.DRuby.Org"], ["CN", "Sample"] ]
end
@server = DRb::DRbServer.new('drbssl://localhost:0', manager, config)
end
end
class TestDRbSSLCore < Test::Unit::TestCase
include DRbCore
def setup
if RUBY_PLATFORM.match?(/mingw/)
@omitted = true
omit 'This test seems to randomly hang on GitHub Actions MinGW'
end
@drb_service = DRbSSLService.new
super
setup_service 'ut_drb_drbssl.rb'
end
def test_02_unknown
end
def test_01_02_loop
end
def test_05_eq
end
end
class TestDRbSSLAry < Test::Unit::TestCase
include DRbAry
def setup
LeakChecker.skip if defined?(LeakChecker)
@drb_service = DRbSSLService.new
super
setup_service 'ut_array_drbssl.rb'
end
end
end
end