Author: philip
Date: Fri Apr 26 12:03:58 2013
New Revision: 1476155
URL: http://svn.apache.org/r1476155
Log:
Regression test for inheritied properties after upgrading a 1.7 working copy.
* subversion/tests/cmdline/upgrade_tests.py
(iprops_upgrade): New test.
(test_funcs): Add new test.
* subversion/tests/cmdline/upgrade_tests_data/iprops_upgrade_nonroot.tar.bz2:
New file.
* subversion/tests/cmdline/upgrade_tests_data/iprops_upgrade_root.tar.bz2:
New file.
Added:
subversion/trunk/subversion/tests/cmdline/upgrade_tests_data/iprops_upgrade_nonroot.tar.bz2
(with props)
subversion/trunk/subversion/tests/cmdline/upgrade_tests_data/iprops_upgrade_root.tar.bz2
(with props)
Modified:
subversion/trunk/subversion/tests/cmdline/upgrade_tests.py
Modified: subversion/trunk/subversion/tests/cmdline/upgrade_tests.py
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/upgrade_tests.py?rev=1476155&r1=1476154&r2=1476155&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/upgrade_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/upgrade_tests.py Fri Apr 26
12:03:58 2013
@@ -1278,6 +1278,112 @@ def upgrade_from_1_7_conflict(sbox):
# a working copy used to cause a pointless 'upgrade required' error.
svntest.actions.run_and_verify_svn(None, None, [], 'upgrade', sbox.wc_dir)
+def iprops_upgrade(sbox):
+ "inherited properties after upgrade"
+
+ sbox.build()
+ wc_dir = sbox.wc_dir
+
+ sbox.simple_copy('A', 'X')
+ sbox.simple_propset('p', 'v', '')
+ sbox.simple_propset('pA', 'vA', 'A')
+ sbox.simple_propset('pX', 'vX', 'X')
+ sbox.simple_commit()
+ svntest.main.run_svnadmin('setuuid', sbox.repo_dir,
+ '8f4d0ebe-2ebf-4f62-ad11-804fd88c2382')
+
+ replace_sbox_with_tarfile(sbox, 'iprops_upgrade_nonroot.tar.bz2')
+ svntest.actions.run_and_verify_svn(None, None, [], 'upgrade', sbox.wc_dir)
+ svntest.actions.run_and_verify_svn(None, None, [], 'relocate',
+ 'file:///tmp/repo', sbox.repo_url, wc_dir)
+
+ expected_output = []
+ expected_disk = svntest.wc.State('', {
+ 'E' : Item(),
+ 'E/alpha' : Item(contents="This is the file 'alpha'.\n"),
+ 'E/beta' : Item(contents="This is the file 'beta'.\n"),
+ 'F' : Item(),
+ 'lambda' : Item(contents="This is the file 'lambda'.\n"),
+ })
+ expected_status = svntest.wc.State(sbox.wc_dir, {
+ '' : Item(),
+ 'E' : Item(switched='S'),
+ 'E/alpha' : Item(),
+ 'E/beta' : Item(),
+ 'F' : Item(),
+ 'lambda' : Item(),
+ })
+ expected_status.tweak(status=' ', wc_rev=2)
+
+ # No inherited props after upgrade until an update
+ expected_iprops = {}
+ expected_explicit_props = {}
+ svntest.actions.run_and_verify_inherited_prop_xml(
+ wc_dir, expected_iprops, expected_explicit_props)
+ svntest.actions.run_and_verify_inherited_prop_xml(
+ sbox.ospath('E'), expected_iprops, expected_explicit_props)
+
+ # Update populates the inherited props
+ svntest.actions.run_and_verify_update(wc_dir,
+ expected_output,
+ expected_disk,
+ expected_status)
+
+ expected_iprops = {sbox.repo_url : {'p' : 'v'},
+ sbox.repo_url + '/A' : {'pA' : 'vA'}}
+ svntest.actions.run_and_verify_inherited_prop_xml(
+ wc_dir, expected_iprops, expected_explicit_props)
+
+ expected_iprops = {sbox.repo_url : {'p' : 'v'},
+ sbox.repo_url + '/X' : {'pX' : 'vX'}}
+ svntest.actions.run_and_verify_inherited_prop_xml(
+ sbox.ospath('E'), expected_iprops, expected_explicit_props)
+
+ # Now try with a repository root working copy
+ replace_sbox_with_tarfile(sbox, 'iprops_upgrade_root.tar.bz2')
+ svntest.actions.run_and_verify_svn(None, None, [], 'upgrade', sbox.wc_dir)
+ svntest.actions.run_and_verify_svn(None, None, [], 'relocate',
+ 'file:///tmp/repo', sbox.repo_url, wc_dir)
+
+ # Unswitched inherited props available after upgrade
+ expected_iprops = {wc_dir : {'p' : 'v'},
+ sbox.ospath('A') : {'pA' : 'vA'}}
+ svntest.actions.run_and_verify_inherited_prop_xml(
+ sbox.ospath('A/B'), expected_iprops, expected_explicit_props)
+
+ # Switched inherited props not populated until update after upgrade
+ expected_iprops = {}
+ svntest.actions.run_and_verify_inherited_prop_xml(
+ sbox.ospath('A/B/E'), expected_iprops, expected_explicit_props)
+
+ expected_disk = svntest.wc.State('', {
+ 'A' : Item(),
+ 'A/B' : Item(),
+ 'A/B/E' : Item(),
+ })
+ expected_status = svntest.wc.State(sbox.wc_dir, {
+ '' : Item(),
+ 'A' : Item(),
+ 'A/B' : Item(),
+ 'A/B/E' : Item(switched='S'),
+ })
+ expected_status.tweak(status=' ', wc_rev=2)
+ svntest.actions.run_and_verify_update(wc_dir,
+ expected_output,
+ expected_disk,
+ expected_status)
+
+ expected_iprops = {wc_dir : {'p' : 'v'},
+ sbox.ospath('A') : {'pA' : 'vA'}}
+ svntest.actions.run_and_verify_inherited_prop_xml(
+ sbox.ospath('A/B'), expected_iprops, expected_explicit_props)
+
+ expected_iprops = {sbox.repo_url : {'p' : 'v'},
+ sbox.repo_url + '/X' : {'pX' : 'vX'}}
+ expected_explicit_props = {}
+ svntest.actions.run_and_verify_inherited_prop_xml(
+ sbox.ospath('A/B/E'), expected_iprops, expected_explicit_props)
+
########################################################################
# Run the tests
@@ -1330,6 +1436,7 @@ test_list = [ None,
upgrade_missing_replaced,
upgrade_not_present_replaced,
upgrade_from_1_7_conflict,
+ iprops_upgrade,
]
Added:
subversion/trunk/subversion/tests/cmdline/upgrade_tests_data/iprops_upgrade_nonroot.tar.bz2
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/upgrade_tests_data/iprops_upgrade_nonroot.tar.bz2?rev=1476155&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
subversion/trunk/subversion/tests/cmdline/upgrade_tests_data/iprops_upgrade_nonroot.tar.bz2
------------------------------------------------------------------------------
svn:mime-type = application/x-bzip2
Added:
subversion/trunk/subversion/tests/cmdline/upgrade_tests_data/iprops_upgrade_root.tar.bz2
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/upgrade_tests_data/iprops_upgrade_root.tar.bz2?rev=1476155&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
subversion/trunk/subversion/tests/cmdline/upgrade_tests_data/iprops_upgrade_root.tar.bz2
------------------------------------------------------------------------------
svn:mime-type = application/x-bzip2