diff options
Diffstat (limited to 'subversion/tests/cmdline/shelf_tests.py')
-rwxr-xr-x | subversion/tests/cmdline/shelf_tests.py | 56 |
1 files changed, 55 insertions, 1 deletions
diff --git a/subversion/tests/cmdline/shelf_tests.py b/subversion/tests/cmdline/shelf_tests.py index fe6108a..6be2099 100755 --- a/subversion/tests/cmdline/shelf_tests.py +++ b/subversion/tests/cmdline/shelf_tests.py @@ -46,6 +46,10 @@ Issue = svntest.testcase.Issue_deco Wimp = svntest.testcase.Wimp_deco Item = wc.StateItem +def shelf3_enabled(): + v = os.getenv('SVN_EXPERIMENTAL_COMMANDS') + return v is not None and v.find('shelf3') >= 0 + #---------------------------------------------------------------------- def state_from_status(wc_dir, @@ -126,6 +130,12 @@ def shelve_unshelve_verify(sbox, modifier, cannot_shelve=False): ]) svntest.actions.run_and_verify_svn(expected_output, [], 'x-shelves') + # Diff; ensure something comes out and it doesn't crash + svntest.actions.run_and_verify_svn(svntest.verify.AnyOutput, [], + 'x-shelf-diff', 'foo') + svntest.actions.run_and_verify_svn(svntest.verify.AnyOutput, [], + 'x-shelf-diff', '--summarize', 'foo') + # Unshelve; check the original modifications are here again svntest.actions.run_and_verify_svn(None, [], 'x-unshelve', 'foo') @@ -153,6 +163,7 @@ def shelve_unshelve(sbox, modifier, cannot_shelve=False): # # Each test must return on success or raise on failure. +@SkipUnless(shelf3_enabled) def shelve_text_mods(sbox): "shelve text mods" @@ -163,6 +174,7 @@ def shelve_text_mods(sbox): #---------------------------------------------------------------------- +@SkipUnless(shelf3_enabled) def shelve_prop_changes(sbox): "shelve prop changes" @@ -174,6 +186,7 @@ def shelve_prop_changes(sbox): #---------------------------------------------------------------------- +@SkipUnless(shelf3_enabled) def shelve_adds(sbox): "shelve adds" @@ -187,6 +200,7 @@ def shelve_adds(sbox): #---------------------------------------------------------------------- @Issue(4709) +@SkipUnless(shelf3_enabled) def shelve_deletes(sbox): "shelve deletes" @@ -197,6 +211,7 @@ def shelve_deletes(sbox): #---------------------------------------------------------------------- +@SkipUnless(shelf3_enabled) def shelve_replace(sbox): "shelve replace" @@ -209,6 +224,7 @@ def shelve_replace(sbox): #---------------------------------------------------------------------- +@SkipUnless(shelf3_enabled) def shelve_empty_adds(sbox): "shelve empty adds" sbox.build(empty=True) @@ -222,6 +238,7 @@ def shelve_empty_adds(sbox): #---------------------------------------------------------------------- +@SkipUnless(shelf3_enabled) def shelve_empty_deletes(sbox): "shelve empty deletes" sbox.build(empty=True) @@ -237,6 +254,7 @@ def shelve_empty_deletes(sbox): #---------------------------------------------------------------------- +@SkipUnless(shelf3_enabled) def shelve_from_inner_path(sbox): "shelve from inner path" @@ -297,6 +315,7 @@ def save_revert_restore(sbox, modifier1, modifier2): #---------------------------------------------------------------------- +@SkipUnless(shelf3_enabled) def checkpoint_basic(sbox): "checkpoint basic" @@ -312,6 +331,7 @@ def checkpoint_basic(sbox): #---------------------------------------------------------------------- @Issue(3747) +@SkipUnless(shelf3_enabled) def shelve_mergeinfo(sbox): "shelve mergeinfo" @@ -323,6 +343,7 @@ def shelve_mergeinfo(sbox): #---------------------------------------------------------------------- +@SkipUnless(shelf3_enabled) def unshelve_refuses_if_conflicts(sbox): "unshelve refuses if conflicts" @@ -366,6 +387,7 @@ def unshelve_refuses_if_conflicts(sbox): #---------------------------------------------------------------------- +@SkipUnless(shelf3_enabled) def shelve_binary_file_mod(sbox): "shelve binary file mod" @@ -387,6 +409,7 @@ def shelve_binary_file_mod(sbox): #---------------------------------------------------------------------- +@SkipUnless(shelf3_enabled) def shelve_binary_file_add(sbox): "shelve binary file add" @@ -408,6 +431,7 @@ def shelve_binary_file_add(sbox): #---------------------------------------------------------------------- +@SkipUnless(shelf3_enabled) def shelve_binary_file_del(sbox): "shelve binary file del" @@ -429,6 +453,7 @@ def shelve_binary_file_del(sbox): #---------------------------------------------------------------------- +@SkipUnless(shelf3_enabled) def shelve_binary_file_replace(sbox): "shelve binary file replace" @@ -451,6 +476,7 @@ def shelve_binary_file_replace(sbox): #---------------------------------------------------------------------- +@SkipUnless(shelf3_enabled) def shelve_with_log_message(sbox): "shelve with log message" @@ -500,6 +526,7 @@ def run_and_verify_shelf_status(wc_dir, expected_status, shelf): run_and_verify_status(wc_dir, expected_status, changelists=['svn:shelf:' + shelf]) +@SkipUnless(shelf3_enabled) def shelf_status(sbox): "shelf status" @@ -526,6 +553,7 @@ def shelf_status(sbox): #---------------------------------------------------------------------- @XFail() +@SkipUnless(shelf3_enabled) def shelve_mkdir(sbox): "shelve mkdir" @@ -539,6 +567,7 @@ def shelve_mkdir(sbox): #---------------------------------------------------------------------- +@SkipUnless(shelf3_enabled) def shelve_rmdir(sbox): "shelve rmdir" @@ -554,6 +583,7 @@ def shelve_rmdir(sbox): #---------------------------------------------------------------------- @XFail() +@SkipUnless(shelf3_enabled) def shelve_replace_dir(sbox): "shelve replace dir" @@ -569,6 +599,7 @@ def shelve_replace_dir(sbox): #---------------------------------------------------------------------- +@SkipUnless(shelf3_enabled) def shelve_file_copy(sbox): "shelve file copy" @@ -582,6 +613,7 @@ def shelve_file_copy(sbox): #---------------------------------------------------------------------- +@SkipUnless(shelf3_enabled) def shelve_dir_copy(sbox): "shelve dir copy" @@ -595,6 +627,7 @@ def shelve_dir_copy(sbox): #---------------------------------------------------------------------- +@SkipUnless(shelf3_enabled) def list_shelves(sbox): "list_shelves" @@ -637,6 +670,7 @@ def list_shelves(sbox): #---------------------------------------------------------------------- +@SkipUnless(shelf3_enabled) def refuse_to_shelve_conflict(sbox): "refuse to shelve conflict" @@ -704,6 +738,7 @@ def unshelve_with_merge(sbox, setup, modifier1, modifier2, tweak_expected_state) os.chdir(was_cwd) @XFail() +@SkipUnless(shelf3_enabled) def unshelve_text_mod_merge(sbox): "unshelve text mod merge" @@ -729,6 +764,7 @@ def unshelve_text_mod_merge(sbox): #---------------------------------------------------------------------- @XFail() +@SkipUnless(shelf3_enabled) def unshelve_text_mod_conflict(sbox): "unshelve text mod conflict" @@ -760,6 +796,7 @@ def unshelve_text_mod_conflict(sbox): #---------------------------------------------------------------------- @XFail() +@SkipUnless(shelf3_enabled) def unshelve_undeclared_binary_mod_conflict(sbox): "unshelve undeclared binary mod conflict" @@ -791,6 +828,7 @@ def unshelve_undeclared_binary_mod_conflict(sbox): #---------------------------------------------------------------------- @XFail() +@SkipUnless(shelf3_enabled) def unshelve_binary_mod_conflict(sbox): "unshelve binary mod conflict" @@ -820,6 +858,7 @@ def unshelve_binary_mod_conflict(sbox): #---------------------------------------------------------------------- +@SkipUnless(shelf3_enabled) def unshelve_text_prop_merge(sbox): "unshelve text prop merge" @@ -842,6 +881,7 @@ def unshelve_text_prop_merge(sbox): #---------------------------------------------------------------------- @XFail() +@SkipUnless(shelf3_enabled) def unshelve_text_prop_conflict(sbox): "unshelve text prop conflict" @@ -903,6 +943,7 @@ def run_and_verify_shelf_diff_summarize(output_tree, shelf, *args): #---------------------------------------------------------------------- # Exercise a very basic case of shelf-diff. +@SkipUnless(shelf3_enabled) def shelf_diff_simple(sbox): "shelf diff simple" @@ -917,6 +958,8 @@ def shelf_diff_simple(sbox): sbox.simple_propset('p2', 'v', 'A/mu') def modifier1(sbox): + sbox.simple_rm('A/B/lambda') + sbox.simple_add_text('This is a new file.\n', 'A/B/new') sbox.simple_append('A/mu', 'New line.\n') sbox.simple_propset('p1', 'changed', 'A/mu') @@ -932,7 +975,15 @@ def shelf_diff_simple(sbox): 'x-shelf-save', 'foo') # basic svn-style diff - expected_output = make_diff_header('A/mu', 'revision 2', 'working copy') + [ + expected_output = make_diff_header('A/B/lambda', 'revision 2', 'nonexistent') + [ + "@@ -1 +0,0 @@\n", + "-This is the file 'lambda'.\n" + ] + expected_output += make_diff_header('A/B/new', 'nonexistent', 'working copy') + [ + "@@ -0,0 +1 @@\n", + "+This is a new file.\n" + ] + expected_output += make_diff_header('A/mu', 'revision 2', 'working copy') + [ "@@ -1 +1,2 @@\n", " This is the file 'mu'.\n", "+New line.\n", @@ -943,6 +994,8 @@ def shelf_diff_simple(sbox): # basic summary diff expected_diff = svntest.wc.State(wc_dir, { + 'A/B/lambda': Item(status='D '), + 'A/B/new': Item(status='A '), 'A/mu': Item(status='MM'), }) run_and_verify_shelf_diff_summarize(expected_diff, 'foo') @@ -951,6 +1004,7 @@ def shelf_diff_simple(sbox): @XFail() @Issue(4827) +@SkipUnless(shelf3_enabled) def shelve_with_kw_translation(sbox): "shelve with kw translation" sbox.build(empty=True) |