You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ph...@apache.org on 2011/04/06 12:11:53 UTC
svn commit: r1089381 -
/subversion/trunk/subversion/tests/cmdline/prop_tests.py
Author: philip
Date: Wed Apr 6 10:11:53 2011
New Revision: 1089381
URL: http://svn.apache.org/viewvc?rev=1089381&view=rev
Log:
Add an XFail regression test for issue 3852, file matching dir prop reject.
* subversion/tests/cmdline/prop_tests.py
(file_conflict_matching_dir_prop_reject): New.
(test_list): Add new test.
Modified:
subversion/trunk/subversion/tests/cmdline/prop_tests.py
Modified: subversion/trunk/subversion/tests/cmdline/prop_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/prop_tests.py?rev=1089381&r1=1089380&r2=1089381&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/prop_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/prop_tests.py Wed Apr 6 10:11:53 2011
@@ -2359,6 +2359,76 @@ def propget_redirection(sbox):
if ((len(expected_output) * 3) - 6) != len(pg_stdout_redir):
raise svntest.Failure("Redirected pg -vR has unexpected duplicates")
+@XFail()
+@Issue(3852)
+def file_matching_dir_prop_reject(sbox):
+ "prop conflict for file matching dir prop reject"
+
+ sbox.build()
+ wc_dir = sbox.wc_dir
+
+ # Add file with awkward name
+ svntest.main.file_append(sbox.ospath('A/dir_conflicts'), "some content\n")
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'add', sbox.ospath('A/dir_conflicts'))
+ sbox.simple_propset('prop', 'val1', 'A/dir_conflicts')
+ sbox.simple_propset('prop', 'val1', 'A')
+ expected_output = svntest.wc.State(wc_dir, {
+ 'A' : Item(verb='Sending'),
+ 'A/dir_conflicts' : Item(verb='Adding'),
+ })
+ expected_status = svntest.actions.get_virginal_state(wc_dir, 1)
+ expected_status.tweak('A', wc_rev=2)
+ expected_status.add({
+ 'A/dir_conflicts' : Item(status=' ', wc_rev=2),
+ })
+ svntest.actions.run_and_verify_commit(wc_dir, expected_output,
+ expected_status, None, wc_dir)
+
+ # Modify/commit property change
+ sbox.simple_propset('prop', 'val2', 'A/dir_conflicts')
+ sbox.simple_propset('prop', 'val2', 'A')
+ expected_output = svntest.wc.State(wc_dir, {
+ 'A' : Item(verb='Sending'),
+ 'A/dir_conflicts' : Item(verb='Sending'),
+ })
+ expected_status.tweak('A', 'A/dir_conflicts', wc_rev=3)
+ svntest.actions.run_and_verify_commit(wc_dir, expected_output,
+ expected_status, None, wc_dir)
+
+ # Local property mod
+ sbox.simple_propset('prop', 'val3', 'A/dir_conflicts')
+ sbox.simple_propset('prop', 'val3', 'A')
+
+ # Update to trigger property conflict
+ expected_disk = svntest.main.greek_state.copy()
+ expected_disk.add({
+ 'A/dir_conflicts' : Item('some content\n', props = {'prop' : 'val3'}),
+ })
+ expected_disk.tweak('A', props={'prop' : 'val3'})
+ expected_output = svntest.wc.State(wc_dir, {
+ 'A' : Item(status=' C'),
+ 'A/dir_conflicts' : Item(status=' C'),
+ })
+ expected_status.tweak(wc_rev=2)
+ expected_status.tweak('A', 'A/dir_conflicts', status=' C')
+
+ # I'm not sure what conflict files are expected
+ extra_files = ['dir_conflicts.*\.prej', 'dir_conflicts.*\.prej']
+ svntest.actions.run_and_verify_update(wc_dir,
+ expected_output,
+ expected_disk,
+ expected_status,
+ None,
+ svntest.tree.detect_conflict_files,
+ extra_files,
+ None, None, 2, '-r', '2', wc_dir)
+
+ if len(extra_files) != 0:
+ print("didn't get expected conflict files")
+ raise svntest.verify.SVNUnexpectedOutput
+
+
########################################################################
# Run the tests
@@ -2399,6 +2469,7 @@ test_list = [ None,
obstructed_subdirs,
atomic_over_ra,
propget_redirection,
+ file_matching_dir_prop_reject,
]
if __name__ == '__main__':