[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

RE: svn commit: r33790 - trunk/subversion/tests/cmdline

From: Bert Huijben <bert_at_vmoo.com>
Date: Tue, 21 Oct 2008 02:06:52 +0200

> -----Original Message-----
> From: Bert Huijben [mailto:bert_at_vmoo.com]
> Sent: Tuesday, October 21, 2008 1:58 AM
> To: 'Daniel Shahaf'; dev_at_subversion.tigris.org; rhuijben_at_tigris.org
> Subject: RE: svn commit: r33790 - trunk/subversion/tests/cmdline
>
> > -----Original Message-----
> > From: Daniel Shahaf [mailto:d.s_at_daniel.shahaf.name]
> > Sent: Tuesday, October 21, 2008 1:49 AM
> > To: dev_at_subversion.tigris.org; rhuijben_at_tigris.org
> > Subject: Re: svn commit: r33790 - trunk/subversion/tests/cmdline
> >
> >
> > On Mon, 20 Oct 2008 15:54:05 -0700, rhuijben_at_tigris.org said:
> > > Author: rhuijben
> > > Date: Mon Oct 20 15:54:05 2008
> > > New Revision: 33790
> > >
> > > --- trunk/subversion/tests/cmdline/merge_tests.py Mon Oct 20
> > 14:32:18 2008 (r33789)
> > > +++ trunk/subversion/tests/cmdline/merge_tests.py Mon Oct 20
> > 15:54:05 2008 (r33790)
> > > @@ -2885,8 +2885,23 @@ def merge_file_with_space_in_its_name(sb
> > > def merge_dir_branches(sbox):
> > > "merge between branches (Issue #2222)"
> > >
> > > + def get_wc_uuid(wc_dir):
> > > + "Return the UUID of the working copy at WC_DIR."
> > > +
> > > + exit_code, output, errput = svntest.main.run_svn(None, 'info',
> > wc_dir)
> > > + if errput:
> > > + raise svntest.verify.SVNUnexpectedStderr(errput)
> > > +
> > > + for line in output:
> > > + if line.startswith('Repository UUID:'):
> > > + return line[17:].rstrip()
> > > +
> > > + # No 'Repository UUID' line in 'svn info'?
> > > + raise svntest.verify.SVNUnexpectedStdout(output)
> >
> > Plagiarist. :-) This function is word-for-word identical to the
> > function I wrote in update_uuid_changed() in update_tests.py (there
> it
> > is called 'wc_uuid'). Can't we get rid of the code duplication?
> > (Perhaps even parse the 'svn info' output into a dict in the
> process?)
>
> Please help fixing it ;-)
>
> I just needed a way to fix the test after fixing the cause of info test
> 3 and copying this function was the easy way to fix the build.
>
> These merge tests depend on the exact output of subversion commands,
> breaking on every tiny detail, while they should only test the real
> functionality.

Can't we use one of the high level bindings (ctypes?) for some of these tests. Everytime I touch one of the merge tests I have the feeling I can write exactly the same tests in about a third of the code using SharpSvn.

The bindings have access to the real values without parsing; why should our tests reinvent all this in every case?
(Many of the other commands use generized output parsers that could help, but this merge file containing over more than hundred tests doesn't)

> Bert

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-10-21 02:07:16 CEST

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.