Author: cmpilato Date: Thu Jul 8 20:28:02 2010 New Revision: 961918 URL: http://svn.apache.org/viewvc?rev=961918&view=rev Log: Add test for crazy sparse checkouts bug that's been wrecking my working copies ever since my switch to 1.7-dev.
* subversion/tests/cmdline/depth_tests.py (update_depth_empty_root_of_infinite_children): New test. (test_list): Add XFail'd reference to new test. Modified: subversion/trunk/subversion/tests/cmdline/depth_tests.py Modified: subversion/trunk/subversion/tests/cmdline/depth_tests.py URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/depth_tests.py?rev=961918&r1=961917&r2=961918&view=diff ============================================================================== --- subversion/trunk/subversion/tests/cmdline/depth_tests.py (original) +++ subversion/trunk/subversion/tests/cmdline/depth_tests.py Thu Jul 8 20:28:02 2010 @@ -2669,6 +2669,45 @@ def update_excluded_path_sticky_depths(s } svntest.actions.run_and_verify_info([expected_info], B_path) + +def update_depth_empty_root_of_infinite_children(sbox): + """update depth=empty root of depth=infinite children""" + + wc_dir, ign_a, ign_b, wc_other = set_up_depthy_working_copies(sbox, + empty=True, + infinity=True) + A_path = os.path.join(wc_dir, 'A') + + # Update A to depth 'infinity' + svntest.actions.run_and_verify_svn(None, None, [], + 'up', '--set-depth', 'infinity', A_path) + + # Tweak some files in the full working copy and commit. + svntest.main.file_append(os.path.join(wc_other, 'A', 'B', 'E', 'alpha'), + "Modified alpha.\n") + svntest.main.file_append(os.path.join(wc_other, 'A', 'D', 'G', 'rho'), + "Modified rho.\n") + svntest.actions.run_and_verify_svn(None, None, [], + 'ci', '-m', '', wc_other) + + # Now update the original working copy and make sure we get those changes. + expected_output = svntest.wc.State(wc_dir, { + 'A/B/E/alpha' : Item(status='U '), + 'A/D/G/rho' : Item(status='U '), + }) + expected_status = svntest.actions.get_virginal_state(wc_dir, 2) + expected_status.remove('iota') + expected_disk = svntest.main.greek_state.copy() + expected_disk.remove('iota') + expected_disk.tweak('A/B/E/alpha', contents="This is the file 'alpha'.\nModified alpha.\n") + expected_disk.tweak('A/D/G/rho', contents="This is the file 'rho'.\nModified rho.\n") + svntest.actions.run_and_verify_update(wc_dir, + expected_output, + expected_disk, + expected_status, + None, None, + None, None, None, None, wc_dir) + #---------------------------------------------------------------------- # list all tests here, starting with None: test_list = [ None, @@ -2713,7 +2752,8 @@ test_list = [ None, tree_conflicts_resolved_depth_immediates, tree_conflicts_resolved_depth_infinity, update_excluded_path_sticky_depths, - ] + XFail(update_depth_empty_root_of_infinite_children), + ] if __name__ == "__main__": svntest.main.run_tests(test_list)