You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by Daniel Shahaf <d....@daniel.shahaf.name> on 2011/05/19 10:37:22 UTC

Re: svn commit: r1124436 - /subversion/trunk/subversion/tests/cmdline/copy_tests.py

Per discussion with jcorvel:

jcorvel@apache.org wrote on Wed, May 18, 2011 at 21:23:42 -0000:
> +# Regression test for issue #3865: 'svn' on Windows cannot address
> +# scheduled-for-delete file, if another file differing only in case is
> +# present on disk
> +@XFail(svntest.main.is_fs_case_insensitive)
> +@Issue(3865)
> +def deleted_file_with_case_clash(sbox):
> +  """address a deleted file hidden by case clash"""
> +
> +  sbox.build()

read_only = True

> +  wc_dir = sbox.wc_dir
> +  
> +  iota_path = os.path.join(wc_dir, 'iota')
> +  iota2_path = os.path.join(wc_dir, 'iota2')
> +  IOTA_path = os.path.join(wc_dir, 'IOTA')
> +  
> +  # Perform a case-only rename in two steps.
> +  svntest.main.run_svn(None, 'move', iota_path, iota2_path)
> +  svntest.main.run_svn(None, 'move', iota2_path, IOTA_path)
> +  
> +  expected_status = svntest.actions.get_virginal_state(wc_dir, 1)
> +  expected_status.add({
> +    'iota' : Item(status='D ', wc_rev=1),
> +    'IOTA' : Item(status='A ', copied='+', wc_rev='-'),
> +    })
> +
> +  svntest.actions.run_and_verify_status(wc_dir, expected_status)
> +
> +  # Perform an 'info' call, where we expect to be able to see the 
> +  # deleted file (which is hidden by the on-disk case-clashing file).
> +  expected_info = {'Path' : re.escape(iota_path),
> +                   'Schedule' : 'delete',
> +                  }

Two ideas here (one of them by Johan):

* Check 'info' for both iota and IOTA

* Check some field other than 'Schedule' in order to verify that 'info'
  really printed info for the right file (rather than the wrong file's
  info along with the right file's 'Schedule' field)

> +                  
> +  svntest.actions.run_and_verify_info([expected_info], iota_path)

Re: svn commit: r1124436 - /subversion/trunk/subversion/tests/cmdline/copy_tests.py

Posted by Johan Corveleyn <jc...@gmail.com>.
On Thu, May 19, 2011 at 10:37 AM, Daniel Shahaf <d....@daniel.shahaf.name> wrote:
> Per discussion with jcorvel:
>
> jcorvel@apache.org wrote on Wed, May 18, 2011 at 21:23:42 -0000:
>> +# Regression test for issue #3865: 'svn' on Windows cannot address
>> +# scheduled-for-delete file, if another file differing only in case is
>> +# present on disk
>> +@XFail(svntest.main.is_fs_case_insensitive)
>> +@Issue(3865)
>> +def deleted_file_with_case_clash(sbox):
>> +  """address a deleted file hidden by case clash"""
>> +
>> +  sbox.build()
>
> read_only = True
>
>> +  wc_dir = sbox.wc_dir
>> +
>> +  iota_path = os.path.join(wc_dir, 'iota')
>> +  iota2_path = os.path.join(wc_dir, 'iota2')
>> +  IOTA_path = os.path.join(wc_dir, 'IOTA')
>> +
>> +  # Perform a case-only rename in two steps.
>> +  svntest.main.run_svn(None, 'move', iota_path, iota2_path)
>> +  svntest.main.run_svn(None, 'move', iota2_path, IOTA_path)
>> +
>> +  expected_status = svntest.actions.get_virginal_state(wc_dir, 1)
>> +  expected_status.add({
>> +    'iota' : Item(status='D ', wc_rev=1),
>> +    'IOTA' : Item(status='A ', copied='+', wc_rev='-'),
>> +    })
>> +
>> +  svntest.actions.run_and_verify_status(wc_dir, expected_status)
>> +
>> +  # Perform an 'info' call, where we expect to be able to see the
>> +  # deleted file (which is hidden by the on-disk case-clashing file).
>> +  expected_info = {'Path' : re.escape(iota_path),
>> +                   'Schedule' : 'delete',
>> +                  }
>
> Two ideas here (one of them by Johan):
>
> * Check 'info' for both iota and IOTA
>
> * Check some field other than 'Schedule' in order to verify that 'info'
>  really printed info for the right file (rather than the wrong file's
>  info along with the right file's 'Schedule' field)

r1125193. Thanks.

-- 
Johan