mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00

* spec/ruby/library/win32ole/fixtures/classes.rb: remove rescue block because this file is required when platform is Windows. * spec/ruby/library/win32ole/win32ole/_getproperty_spec.rb: fixtures/classes is required when platform is Windows * spec/ruby/library/win32ole/win32ole/_invoke_spec.rb: ditto. * spec/ruby/library/win32ole/win32ole/codepage_spec.rb: ditto. * spec/ruby/library/win32ole/win32ole/connect_spec.rb: ditto. * spec/ruby/library/win32ole/win32ole/const_load_spec.rb: ditto. * spec/ruby/library/win32ole/win32ole/constants_spec.rb: ditto. * spec/ruby/library/win32ole/win32ole/create_guid_spec.rb: ditto. * spec/ruby/library/win32ole/win32ole/invoke_spec.rb: ditto. * spec/ruby/library/win32ole/win32ole/locale_spec.rb: ditto. * spec/ruby/library/win32ole/win32ole/new_spec.rb: ditto. * spec/ruby/library/win32ole/win32ole/ole_func_methods_spec.rb: ditto. * spec/ruby/library/win32ole/win32ole/ole_get_methods_spec.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
21 lines
469 B
Ruby
21 lines
469 B
Ruby
require 'win32ole'
|
|
|
|
module WIN32OLESpecs
|
|
MSXML_AVAILABLE = !!WIN32OLE_TYPELIB.typelibs.find { |t| t.name.start_with?('Microsoft XML') }
|
|
|
|
def self.new_ole(name)
|
|
tries = 0
|
|
begin
|
|
WIN32OLE.new(name)
|
|
rescue WIN32OLERuntimeError => e
|
|
if tries < 3
|
|
tries += 1
|
|
$stderr.puts "WIN32OLESpecs#new_ole retry (#{tries}): #{e.class}: #{e.message}"
|
|
sleep(2 ** tries)
|
|
retry
|
|
else
|
|
raise
|
|
end
|
|
end
|
|
end
|
|
end
|