You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ko...@apache.org on 2022/11/30 10:32:07 UTC

svn commit: r1905641 - /subversion/branches/pristines-on-demand-on-mwf/subversion/tests/cmdline/store_pristine_tests.py

Author: kotkov
Date: Wed Nov 30 10:32:07 2022
New Revision: 1905641

URL: http://svn.apache.org/viewvc?rev=1905641&view=rev
Log:
On the 'pristines-on-demand-on-mwf' branch: Add tests for moves in the
--store-pristine=yes/no modes.

* subversion/tests/cmdline/store_pristine_tests.py
  (simple_move_with_pristine,
   simple_move_without_pristine,
   move_modified_file_with_pristine,
   move_modified_file_without_pristine): New tests.
  (test_list): Run new tests.

Modified:
    subversion/branches/pristines-on-demand-on-mwf/subversion/tests/cmdline/store_pristine_tests.py

Modified: subversion/branches/pristines-on-demand-on-mwf/subversion/tests/cmdline/store_pristine_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/subversion/tests/cmdline/store_pristine_tests.py?rev=1905641&r1=1905640&r2=1905641&view=diff
==============================================================================
--- subversion/branches/pristines-on-demand-on-mwf/subversion/tests/cmdline/store_pristine_tests.py (original)
+++ subversion/branches/pristines-on-demand-on-mwf/subversion/tests/cmdline/store_pristine_tests.py Wed Nov 30 10:32:07 2022
@@ -691,6 +691,144 @@ def copy_modified_file_without_pristine(
   svntest.actions.run_and_verify_status(sbox.wc_dir,
                                         expected_status)
 
+def simple_move_with_pristine(sbox):
+  "simple move with pristine"
+
+  sbox.build(empty=True, create_wc=False)
+  expected_output = svntest.wc.State(sbox.wc_dir, {})
+  expected_wc = svntest.wc.State('', {})
+  svntest.actions.run_and_verify_checkout(sbox.repo_url,
+                                          sbox.wc_dir,
+                                          expected_output,
+                                          expected_wc,
+                                          [],
+                                          "--store-pristine=yes")
+  svntest.actions.run_and_verify_svn(
+    ['yes'], [],
+    'info', '--show-item=store-pristine', '--no-newline',
+    sbox.wc_dir)
+
+  sbox.simple_append('file', 'foo')
+  sbox.simple_add('file')
+  sbox.simple_commit(message='r1')
+
+  svntest.actions.run_and_verify_svn(None, [], 'move',
+                                     sbox.ospath('file'),
+                                     sbox.ospath('file2'))
+
+  expected_status = svntest.wc.State(sbox.wc_dir, {
+    ''      : Item(status='  ', wc_rev=0),
+    'file'  : Item(status='D ', wc_rev=1, moved_to='file2'),
+    'file2' : Item(status='A ', wc_rev='-', copied='+', moved_from='file'),
+    })
+  svntest.actions.run_and_verify_status(sbox.wc_dir,
+                                        expected_status)
+
+@SkipUnless(svntest.main.wc_supports_optional_pristine)
+def simple_move_without_pristine(sbox):
+  "simple move without pristine"
+
+  sbox.build(empty=True, create_wc=False)
+  expected_output = svntest.wc.State(sbox.wc_dir, {})
+  expected_wc = svntest.wc.State('', {})
+  svntest.actions.run_and_verify_checkout(sbox.repo_url,
+                                          sbox.wc_dir,
+                                          expected_output,
+                                          expected_wc,
+                                          [],
+                                          "--store-pristine=no")
+  svntest.actions.run_and_verify_svn(
+    ['no'], [],
+    'info', '--show-item=store-pristine', '--no-newline',
+    sbox.wc_dir)
+
+  sbox.simple_append('file', 'foo')
+  sbox.simple_add('file')
+  sbox.simple_commit(message='r1')
+
+  svntest.actions.run_and_verify_svn(None, [], 'move',
+                                     sbox.ospath('file'),
+                                     sbox.ospath('file2'))
+
+  expected_status = svntest.wc.State(sbox.wc_dir, {
+    ''      : Item(status='  ', wc_rev=0),
+    'file'  : Item(status='D ', wc_rev=1, moved_to='file2'),
+    'file2' : Item(status='A ', wc_rev='-', copied='+', moved_from='file'),
+    })
+  svntest.actions.run_and_verify_status(sbox.wc_dir,
+                                        expected_status)
+
+def move_modified_file_with_pristine(sbox):
+  "move locally modified file with pristine"
+
+  sbox.build(empty=True, create_wc=False)
+  expected_output = svntest.wc.State(sbox.wc_dir, {})
+  expected_wc = svntest.wc.State('', {})
+  svntest.actions.run_and_verify_checkout(sbox.repo_url,
+                                          sbox.wc_dir,
+                                          expected_output,
+                                          expected_wc,
+                                          [],
+                                          "--store-pristine=yes")
+  svntest.actions.run_and_verify_svn(
+    ['yes'], [],
+    'info', '--show-item=store-pristine', '--no-newline',
+    sbox.wc_dir)
+
+  sbox.simple_append('file', 'foo')
+  sbox.simple_add('file')
+  sbox.simple_commit(message='r1')
+
+  sbox.simple_append('file', 'bar')
+
+  svntest.actions.run_and_verify_svn(None, [], 'move',
+                                     sbox.ospath('file'),
+                                     sbox.ospath('file2'))
+
+  expected_status = svntest.wc.State(sbox.wc_dir, {
+    ''      : Item(status='  ', wc_rev=0),
+    'file'  : Item(status='D ', wc_rev=1, moved_to='file2'),
+    'file2' : Item(status='A ', wc_rev='-', copied='+', moved_from='file'),
+    })
+  svntest.actions.run_and_verify_status(sbox.wc_dir,
+                                        expected_status)
+
+@SkipUnless(svntest.main.wc_supports_optional_pristine)
+def move_modified_file_without_pristine(sbox):
+  "move locally modified file without pristine"
+
+  sbox.build(empty=True, create_wc=False)
+  expected_output = svntest.wc.State(sbox.wc_dir, {})
+  expected_wc = svntest.wc.State('', {})
+  svntest.actions.run_and_verify_checkout(sbox.repo_url,
+                                          sbox.wc_dir,
+                                          expected_output,
+                                          expected_wc,
+                                          [],
+                                          "--store-pristine=no")
+  svntest.actions.run_and_verify_svn(
+    ['no'], [],
+    'info', '--show-item=store-pristine', '--no-newline',
+    sbox.wc_dir)
+
+  sbox.simple_append('file', 'foo')
+  sbox.simple_add('file')
+  sbox.simple_commit(message='r1')
+
+  sbox.simple_append('file', 'bar')
+
+  svntest.actions.run_and_verify_svn(None, [], 'move',
+                                     sbox.ospath('file'),
+                                     sbox.ospath('file2'))
+
+  expected_status = svntest.wc.State(sbox.wc_dir, {
+    ''      : Item(status='  ', wc_rev=0),
+    'file'  : Item(status='D ', wc_rev=1, moved_to='file2'),
+    'file2' : Item(status='A ', wc_rev='-', copied='+', moved_from='file'),
+    })
+  svntest.actions.run_and_verify_status(sbox.wc_dir,
+                                        expected_status)
+
 ########################################################################
 # Run the tests
 
@@ -715,6 +853,10 @@ test_list = [ None,
               simple_copy_without_pristine,
               copy_modified_file_with_pristine,
               copy_modified_file_without_pristine,
+              simple_move_with_pristine,
+              simple_move_without_pristine,
+              move_modified_file_with_pristine,
+              move_modified_file_without_pristine,
              ]
 serial_only = True