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