Hi,
In <20060704161702.GJ3362@lorenz.farside.org.uk>
"Re: Need Ruby expertise to fix SvnClientTest::test_cleanup" on Tue, 4 Jul 2006 17:17:02 +0100,
Malcolm Rowe <malcolm-svn-dev@farside.org.uk> wrote:
> > When a svn_error_t whose constant happens to be the first in its
> > category (i.e., its apr_err equals one of the CATEGORY_START constants),
> > Ruby thinks it has a FOO_CATEGORY_START error, not whatever the real
> > error is.
> >
> > This is causing SvnClientTest::test_cleanup to fail.
> >
> > Someone needs to fix the "Ext::Core.constants.each do |const_name|" loop
> > in svn/error.rb to ignore constants ending with _CATEGORY_START. Since I
> > do not know any Ruby, that someone cannot be me.
> >
>
> I don't know any Ruby either, but this seems simple enough.
> Does this work?
You can run test case by "make check-swig-rb".
> Index: subversion/bindings/swig/ruby/svn/error.rb
> ===================================================================
> --- subversion/bindings/swig/ruby/svn/error.rb (revision 20417)
> +++ subversion/bindings/swig/ruby/svn/error.rb (working copy)
> @@ -7,6 +7,7 @@
>
> Ext::Core.constants.each do |const_name|
> if /^SVN_ERR_(.*)/ =~ const_name
> + next if /^SVN_ERR_.*_CATEGORY_START$/ =~ #{$1}
> value = Ext::Core.const_get(const_name)
> module_eval(<<-EOC, __FILE__, __LINE__)
> class #{$1} < Error
>
>
> Or does the second regex destroy the value of $1 obtained from the
> grouping in the first regex?
Yes.
This patch causes another bug.
Thanks,
--
kou
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Jul 6 15:40:26 2006