You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by pb...@apache.org on 2013/05/14 19:31:50 UTC
svn commit: r1482479 -
/subversion/trunk/subversion/bindings/swig/ruby/test/windows_util.rb
Author: pburba
Date: Tue May 14 17:31:50 2013
New Revision: 1482479
URL: http://svn.apache.org/r1482479
Log:
* subversion/bindings/swig/ruby/test/windows_util.rb
(SvnTestUtil.Windows.Svnserve.setup_svnserve): Rescue an Errno::EACCES
error, sleep, and attempt a few retries in an attempt to avoid a
spurious failure in the Ruby binding tests on Windows.
Modified:
subversion/trunk/subversion/bindings/swig/ruby/test/windows_util.rb
Modified: subversion/trunk/subversion/bindings/swig/ruby/test/windows_util.rb
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/swig/ruby/test/windows_util.rb?rev=1482479&r1=1482478&r2=1482479&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/swig/ruby/test/windows_util.rb (original)
+++ subversion/trunk/subversion/bindings/swig/ruby/test/windows_util.rb Tue May 14 17:31:50 2013
@@ -105,7 +105,28 @@ module SvnTestUtil
target_path = "#{path}\\#{target}"
if File.exists?(target_path)
found_targets << target
- FileUtils.cp(target_path, svnserve_dir)
+ retried = 0
+ begin
+ FileUtils.cp(target_path, svnserve_dir)
+ rescue Errno::EACCES
+ # On Windows the tests frequently fail spuriously with a
+ # 'Errno::EACCES: Permission denied - svnserve.exe' error.
+ # Sleeping for a few seconds avoids this.
+ #puts "\nFailed to copy"
+ #puts $!
+ #puts "'#{target_path}' to"
+ #puts "'#{svnserve_dir}'"
+ #puts "Sleeping for 1 sec, then retrying."
+ if retried > 5
+ # Give up!
+ raise
+ else
+ # Wait a sec...
+ sleep(1)
+ retried += 1
+ retry
+ end
+ end
end
end
targets -= found_targets