From a7f0cbe9c834fdb55f5c5f4e59499ef21f679a20 Mon Sep 17 00:00:00 2001 From: k0kubun Date: Sat, 27 Oct 2018 10:49:56 +0000 Subject: [PATCH] ole_func_methods_spec.rb: apply r64993 retry to this spec as well, since the same issue was reproduced here https://ci.appveyor.com/project/ruby/ruby/builds/19842006/job/y35ae6bquf4t3x30 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65389 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- .../win32ole/win32ole/ole_func_methods_spec.rb | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/spec/ruby/library/win32ole/win32ole/ole_func_methods_spec.rb b/spec/ruby/library/win32ole/win32ole/ole_func_methods_spec.rb index 8a510519f2..8b5b9c13ed 100644 --- a/spec/ruby/library/win32ole/win32ole/ole_func_methods_spec.rb +++ b/spec/ruby/library/win32ole/win32ole/ole_func_methods_spec.rb @@ -5,7 +5,20 @@ platform_is :windows do describe "WIN32OLE#ole_func_methods" do before :each do - @ie = WIN32OLESpecs.new_ole('InternetExplorer.Application') + # This part is unstable, so retrying 3 times. + tries = 0 + begin + @ie = WIN32OLESpecs.new_ole('InternetExplorer.Application') + rescue WIN32OLERuntimeError => e + # WIN32OLERuntimeError: failed to create WIN32OLE object from `InternetExplorer.Application' + # HRESULT error code:0x800704a6 + # A system shutdown has already been scheduled. + if tries < 3 + tries += 1 + $stderr.puts "WIN32OLE#ole_func_methods retry (#{tries}): #{e.class}: #{e.message}" + retry + end + end end after :each do