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

[PATCH] tree-conflicts: fix some tests, was Re: tree-conflicts: patch for improved cmdline tests

From: Neels Hofmeyr <neels_at_elego.de>
Date: Fri, 29 Aug 2008 04:44:40 +0200

Julian Foad wrote:
> On Thu, 2008-08-28 at 08:02 +0300, Daniel Shahaf wrote:
>> For the archives: This patch was committed in r32605.
> Neels,
> I committed the patch to the tree-conflicts branch in r32605.
> I noticed today that it causes a few more tests are failing because they
> are still trying to use "set_up_tree_conflicts()", which does not exist
> any more.
> Could you investigate, please?
>> $ grep set_up_tree_conflicts subversion/tests/cmdline/*.py
>> subversion/tests/cmdline/commit_tests.py: wc_dir_2 = svntest.actions.set_up_tree_conflicts(sbox)
>> subversion/tests/cmdline/commit_tests.py: wc_dir_2 = svntest.actions.set_up_tree_conflicts(sbox)
>> subversion/tests/cmdline/info_tests.py: wc_dir_2 = svntest.actions.set_up_tree_conflicts(sbox)
>> subversion/tests/cmdline/revert_tests.py: wc_dir_2 = svntest.actions.set_up_tree_conflicts(sbox)
>> subversion/tests/cmdline/stat_tests.py: wc_dir_2 = svntest.actions.set_up_tree_conflicts(sbox)
>> subversion/tests/cmdline/tree_conflict_tests.py:# (See also the somewhat related svntest.actions.set_up_tree_conflicts().)
> Thanks,
> - Julian

I was so sure I had grep'd for every function I removed.

I investigated and found that all remaining calls of set_up_tree_conflicts()
are less advanced. They just need some tree-conflict markings in a working copy.

So, I simplified it to deliver that, also removing code repetition from the

I renamed it to build_greek_tree_conflicts(), because:

- The new function builds a working copy with tree-conflicts, instead of
only preparing for them. Hence the "build" annotation.

- I found the name too absolute, since there are other tree-conflicts test
setups around. Hence the "greek" annotation.

Hm, it would be nice to also have directory victims in there. But I'm first
sending this patch to restore the previous state.


PASS: commit_tests.py 59: tree conflicts block commit
PASS: commit_tests.py 60: tree conflicts resolved
PASS: info_tests.py 1: info with tree conflicts
PASS: revert_tests.py 19: revert tree conflicts in updated files
PASS: stat_tests.py 31: status with tree conflicts

Fix some tree-conflicts tests by resurrecting set_up_tree_conflicts()
and streamlining it. `info_tests.py' additionally has minor unrelated fixes.

* subversion/tests/cmdline/svntest/actions.py
   (set_up_tree_conflicts): Bring back this function removed earlier, but
    rename it to build_greek_tree_conflicts(). Still needed by some tests,
    was erratically removed.
   (build_greek_tree_conflicts): New function, renamed from
    set_up_tree_conflicts(). Simplify, sufficiently serving all current
    callers. Now creates a working copy with conflicts already in it,
    as opposed to just preparing for conflicts. Remove obsolete parameter
    DO_COPY. Use only one working copy and "time-warp". Tweak run_svn()
    calls to run_and_verify_*() calls. Change to not return anything.

* subversion/tests/cmdline/tree_conflict_tests.py (set_up_repos): Fix
    comment according to above rename, also mention deep_trees tests.

* subversion/tests/cmdline/revert_tests.py
    Use new function build_greek_tree_conflicts(). Fixes this test.

* subversion/tests/cmdline/stat_tests.py (status_with_tree_conflicts):
    Use new function build_greek_tree_conflicts(). Fixes this test.

* subversion/tests/cmdline/commit_tests.py
   (tree_conflicts_block_commit, tree_conflicts_resolved):
    Use new function build_greek_tree_conflicts(). Fixes these tests.

* subversion/tests/cmdline/info_tests.py (info_with_tree_conflicts):
    Use new function build_greek_tree_conflicts(). Add EXIT_CODE as now
    returned by run_and_verify_svn(), modify output lines as now printed
    in tree-conflicts info. Fixes this test.

Found by: julianf
Patch by: neels

btw, could I write that like so? :

* subversion/tests/cmdline/revert_tests.py
* subversion/tests/cmdline/stat_tests.py (status_with_tree_conflicts),
* subversion/tests/cmdline/commit_tests.py
   (tree_conflicts_block_commit, tree_conflicts_resolved):
    Use new function build_greek_tree_conflicts(). Fixes these tests.

Looks kind of messy. How else to remove the repetition?

Neels Hofmeyr -- elego Software Solutions GmbH
Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany
phone: +49 30 23458696  mobile: +49 177 2345869  fax: +49 30 23458695
http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz: Berlin
Handelsreg: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194

Received on 2008-08-29 04:47:58 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.