Hi kou,
I realize that you want to not use the binary file access when testing
on windows, but I was fiddling around with this patch (which does
cause the test to pass, but see below for how the test cleanup blows
out sideways).
===================================================================
--- subversion/bindings/swig/ruby/test/test_fs.rb (revision 23804)
+++ subversion/bindings/swig/ruby/test/test_fs.rb (working copy)
@@ -302,11 +302,11 @@
ctx = make_context(log)
- File.open(path, "w") {|f| f.print(src)}
+ File.open(path, "wb") {|f| f.print(src)}
ctx.add(path)
rev1 = ctx.ci(@wc_path).revision
- File.open(path, "w") {|f| f.print(modified)}
+ File.open(path, "wb") {|f| f.print(modified)}
@fs.transaction do |txn|
checksum = MD5.new(result).hexdigest
stream = txn.root.apply_text(path_in_repos, checksum)
@@ -317,6 +317,7 @@
assert_equal(expected, File.open(path){|f| f.read})
rev2 = ctx.ci(@wc_path).revision
+#flunk 'if the next line executes, test cleanup will error and cause
cascading test errors'
stream = @fs.root(rev2).file_delta_stream(@fs.root(rev1),
path_in_repos,
path_in_repos)
@@ -324,10 +325,10 @@
stream.each{|w| data << w.new_data}
assert_equal(expected, data)
- File.open(path, "w") {|f| f.print(src)}
+ File.open(path, "wb") {|f| f.print(src)}
rev3 = ctx.ci(@wc_path).revision
- File.open(path, "w") {|f| f.print(modified)}
+ File.open(path, "wb") {|f| f.print(modified)}
@fs.transaction do |txn|
base_checksum = MD5.new(src).hexdigest
checksum = MD5.new(result).hexdigest
==============
and the flunk line explains what is going on. The errors are similar
to those that you fixed around a leaking pool object in initialize:
D:\SVN\src-trunk\subversion\bindings\swig\ruby>testrb test\test_fs.rb
-n test_delta
Loaded suite test_fs.rb
Started
E
Finished in 5.758 seconds.
1) Error:
test_delta(SvnFsTest):
Svn::Error::SvnError:
D:\SVN\src-trunk\subversion\libsvn_subr\io.c:1810 Can't remove
'test\repos\db\revs\1'
Can't set file 'test\repos\db\revs\1' read-write: Access is denied.
./svn/util.rb:68:in `svn_repos_delete'
./svn/util.rb:68:in `delete'
D:/SVN/src-trunk/subversion/bindings/swig/ruby/test/util.rb:103:in
`teardown_repository'
D:/SVN/src-trunk/subversion/bindings/swig/ruby/test/util.rb:40:in
`teardown_basic'
./test\test_fs.rb:19:in `teardown'
1 tests, 3 assertions, 0 failures, 1 errors
========
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Mar 14 06:39:54 2007