On Wed, Mar 28, 2012 at 4:30 AM, Philip Martin
<philip.martin_at_wandisco.com> wrote:
> Philip Martin <philip.martin_at_wandisco.com> writes:
>
>> There is another failure in the ruby testsuite:
>>
>> http://ci.apache.org/builders/svn-x64-ubuntu-gcc/builds/4626
>>
>> 1) Failure:
>> test_changelists_get_with_block(SvnClientTest)
>> /var/lib/buildbot/svn-buildslave/svn-x64-ubuntu/build/subversion/bindings/swig/ruby/test/test_client.rb:2296:in `assert_changelists'
>> /var/lib/buildbot/svn-buildslave/svn-x64-ubuntu/build/subversion/bindings/swig/ruby/test/util.rb:204:in `make_context'
>> /var/lib/buildbot/svn-buildslave/svn-x64-ubuntu/build/subversion/bindings/swig/ruby/test/test_client.rb:2288:in `assert_changelists'
>> /var/lib/buildbot/svn-buildslave/svn-x64-ubuntu/build/subversion/bindings/swig/ruby/test/test_client.rb:2349:in `test_changelists_get_with_block':
>> <{nil=>
>> ["/tmp/d20120322-8616-qtl2ah/wc",
>> "/tmp/d20120322-8616-qtl2ah/wc/hello1.txt",
>> "/tmp/d20120322-8616-qtl2ah/wc/hello2.txt"]}> expected but was
>> <{nil=>
>> ["/tmp/d20120322-8616-qtl2ah/wc",
>> "/tmp/d20120322-8616-qtl2ah/wc/hello2.txt",
>> "/tmp/d20120322-8616-qtl2ah/wc/hello1.txt"]}>.
>
> Another failure that looks like a similar problem in a different place:
>
> 1) Failure:
> test_diff_callbacks_for_backward_compatibility(SvnWcTest)
> /var/lib/buildbot/svn-buildslave/svn-x64-ubuntu/build/subversion/bindings/swig/ruby/test/test_wc.rb:756:in `assert_diff_callbacks'
> /var/lib/buildbot/svn-buildslave/svn-x64-ubuntu/build/subversion/bindings/swig/ruby/svn/wc.rb:136:in `_open'
> /var/lib/buildbot/svn-buildslave/svn-x64-ubuntu/build/subversion/bindings/swig/ruby/svn/wc.rb:114:in `open'
> /var/lib/buildbot/svn-buildslave/svn-x64-ubuntu/build/subversion/bindings/swig/ruby/test/test_wc.rb:711:in `assert_diff_callbacks'
> /var/lib/buildbot/svn-buildslave/svn-x64-ubuntu/build/subversion/bindings/swig/ruby/svn/ra.rb:52:in `open'
> /var/lib/buildbot/svn-buildslave/svn-x64-ubuntu/build/subversion/bindings/swig/ruby/test/test_wc.rb:699:in `assert_diff_callbacks'
> /var/lib/buildbot/svn-buildslave/svn-x64-ubuntu/build/subversion/bindings/swig/ruby/test/util.rb:204:in `make_context'
> /var/lib/buildbot/svn-buildslave/svn-x64-ubuntu/build/subversion/bindings/swig/ruby/test/test_wc.rb:696:in `assert_diff_callbacks'
> /var/lib/buildbot/svn-buildslave/svn-x64-ubuntu/build/subversion/bindings/swig/ruby/test/test_wc.rb:764:in `test_diff_callbacks_for_backward_compatibility':
> <[[:dir_props_changed,
> "/tmp/d20120327-16259-17t4nz8/wc",
> [#<Svn::Core::Prop:0x2ac09bd95450
> @name="svn:entry:committed-date",
> @value=nil>,
> #<Svn::Core::Prop:0x2ac09bd95428
> @name="svn:entry:committed-rev",
> @value=nil>,
> #<Svn::Core::Prop:0x2ac09bd95400 @name="svn:entry:last-author", @value=nil>,
> #<Svn::Core::Prop:0x2ac09bd95360 @name="svn:entry:uuid", @value=nil>]],
> [:file_changed,
> "/tmp/d20120327-16259-17t4nz8/wc/dir/hello.txt",
> [#<Svn::Core::Prop:0x2ac09bd952e8 @name="my-prop", @value="value">]],
> [:file_added, "/tmp/d20120327-16259-17t4nz8/wc/dir/hello2.txt", []]]> expected but was
> <[[:dir_props_changed,
> "/tmp/d20120327-16259-17t4nz8/wc",
> [#<Svn::Core::Prop:0x2ac09bd95ea0
> @name="svn:entry:committed-date",
> @value=nil>,
> #<Svn::Core::Prop:0x2ac09bd95e50
> @name="svn:entry:committed-rev",
> @value=nil>,
> #<Svn::Core::Prop:0x2ac09bd95f18 @name="svn:entry:last-author", @value=nil>,
> #<Svn::Core::Prop:0x2ac09bd95dd8 @name="svn:entry:uuid", @value=nil>]],
> [:file_added, "/tmp/d20120327-16259-17t4nz8/wc/dir/hello2.txt", []],
> [:file_changed,
> "/tmp/d20120327-16259-17t4nz8/wc/dir/hello.txt",
> [#<Svn::Core::Prop:0x2ac09bd95860 @name="my-prop", @value="value">]]]>.
>
> We fix these by converting the arrays to sets so that the order is
> irrelevant. The open question is whether we do this solely within the
> testsuite, changing both sides of the comparison, or whether we change
> the bindings to return a set and adjust the testsuite to match.
I think that depends on the compatibility guarantees of the bindings.
Making them a set feels more correct from a semantic perspective, but
I don't know if it will break existing consumers.
-Hyrum
--
uberSVN: Apache Subversion Made Easy
http://www.uberSVN.com/
Received on 2012-03-28 14:25:04 CEST