Daniel Shahaf wrote on Wed, Jun 26, 2013 at 15:18:52 +0300:
> That patch isn't ready for commit; I am only at the point of
> constructing a State object that will make the test pass, but I haven't
> yet compared that State object to the actual moves the test does to
> determine whether the 'svn status' output is buggy or correct.
>
> I'm not really familiar with expected_status objects, so perhaps someone can
> have a look at constructing the State object here?
Bert spotted the error in the original patch: needed to specify entry_status=.
Can someone review the result? In particular, I'm not sure that the
'A/B' and 'A/B/C/Y/Z' StateItem's are correct.
Thanks
Daniel
Index: subversion/tests/cmdline/move_tests.py
===================================================================
--- subversion/tests/cmdline/move_tests.py (revision 1496890)
+++ subversion/tests/cmdline/move_tests.py (working copy)
@@ -1247,7 +1247,7 @@ def nested_replaces(sbox):
'-m', 'r1: create tree',
repo_url + '/A/B/C', repo_url + '/X/Y/Z')
svntest.main.run_svn(None, 'checkout', '-q', repo_url, wc_dir)
- expected_status = svntest.wc.State(wc_dir, {
+ r1_status = svntest.wc.State(wc_dir, {
'' : Item(status=' ', wc_rev='1'),
'A' : Item(status=' ', wc_rev='1'),
'A/B' : Item(status=' ', wc_rev='1'),
@@ -1256,7 +1256,7 @@ def nested_replaces(sbox):
'X/Y' : Item(status=' ', wc_rev='1'),
'X/Y/Z' : Item(status=' ', wc_rev='1'),
})
- svntest.actions.run_and_verify_status(wc_dir, expected_status)
+ svntest.actions.run_and_verify_status(wc_dir, r1_status)
## r2: juggling
moves = [
@@ -1271,7 +1271,20 @@ def nested_replaces(sbox):
]
for src, dst in moves:
svntest.main.run_svn(None, 'mv', ospath(src), ospath(dst))
- # svntest.actions.run_and_verify_status(wc_dir, expected_status)
+ r2_status = svntest.wc.State(wc_dir, {
+ '' : Item(status=' ', wc_rev='1'),
+ 'A' : Item(status='R ', copied='+', moved_from='X/Y/Z', moved_to='X/Y/Z', wc_rev='-'),
+ 'A/B' : Item(status='A ', copied='+', moved_from='X/Y/Z/B', wc_rev='-', entry_status='R '),
+ 'A/B/C' : Item(status='R ', copied='+', moved_from='X', moved_to='X', wc_rev='-'),
+ 'A/B/C/Y' : Item(status='D ', copied='+', wc_rev='-', moved_to='X/Y'),
+ 'A/B/C/Y/Z' : Item(status='D ', copied='+', wc_rev='-'),
+ 'X' : Item(status='R ', copied='+', moved_from='A/B/C', moved_to='A/B/C', wc_rev='-'),
+ 'X/Y' : Item(status='A ', copied='+', moved_from='A/B/C/Y', wc_rev='-', entry_status='R '),
+ 'X/Y/Z' : Item(status='R ', copied='+', moved_from='A', moved_to='A', wc_rev='-'),
+ 'X/Y/Z/B' : Item(status='D ', copied='+', wc_rev='-', moved_to='A/B'),
+ 'X/Y/Z/B/C' : Item(status='D ', copied='+', wc_rev='-'),
+ })
+ svntest.actions.run_and_verify_status(wc_dir, r2_status)
svntest.main.run_svn(None, 'commit', '-m', 'r2: juggle the tree', wc_dir)
expected_output = svntest.verify.UnorderedRegexListOutput(map(re.escape, [
@@ -1291,7 +1304,7 @@ def nested_replaces(sbox):
## Test updating to r1.
svntest.main.run_svn(None, 'update', '-r1', wc_dir)
- svntest.actions.run_and_verify_status(wc_dir, expected_status)
+ svntest.actions.run_and_verify_status(wc_dir, r1_status)
#######################################################################
# Run the tests
Received on 2013-06-26 14:45:56 CEST