Hi,

After r1897443, prop_tests.py 12 is failing on Windows.

svntest.Failure: Repository diskpath in stderr: [
"svn: E175008: While handling the 'cash-sound' property on 
'/svn-test-work/repositories/prop_tests-12/!svn/bln/0':\n",
'svn: E175008: Revprop change blocked by pre-revprop-change hook (exit code 1) 
with output:\n',
'pre-revprop-change 
D:\\a\\subversion\\subversion\\Release\\subversion\\tests\\cmdline\\svn-test-work\\repositories\\prop_tests-12
 0 jrandom cash-sound A\n']
FAIL:  prop_tests.py 12: set, get, and delete a revprop change

On 2022/01/25 18:59, danie...@apache.org wrote:
Author: danielsh
Date: Tue Jan 25 09:59:40 2022
New Revision: 1897443

URL: http://svn.apache.org/viewvc?rev=1897443&view=rev
Log:
Stop encoding a test's number in the svntest library.

* subversion/tests/cmdline/svntest/main.py
   (run_command_stdin): Stop hardcoding an exception for "prop_tests-12".

* subversion/tests/cmdline/svntest/actions.py
   (disable_revprop_changes): Stop emitting pre-revprop-change's argv[1].
     This function is only used by prop_tests.py 12 revprop_change(), and that
     function doesn't care about the value of argv[1].

Modified:
     subversion/trunk/subversion/tests/cmdline/svntest/actions.py
     subversion/trunk/subversion/tests/cmdline/svntest/main.py

Modified: subversion/trunk/subversion/tests/cmdline/svntest/actions.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svntest/actions.py?rev=1897443&r1=1897442&r2=1897443&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/svntest/actions.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svntest/actions.py Tue Jan 25 
09:59:40 2022
@@ -2134,9 +2134,10 @@ def disable_revprop_changes(repo_dir):
    main.create_python_hook_script(hook_path,
                                   'import sys\n'
                                   'sys.stderr.write("pre-revprop-change %s" %'
-                                                  ' " ".join(sys.argv[1:]))\n'
+                                                  ' " ".join(sys.argv[2:]))\n'
                                   'sys.exit(1)\n',
                                   cmd_alternative=
+                                       '@shift\n'
                                         '@echo pre-revprop-change %* 1>&2\n'
                                         '@exit 1\n')

The @shift has been added to the batch script, however it doesn't change %* 
variable.

See 
https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/shift

The shift command has no effect on the %* batch parameter.


I think we could use %2 .. %5 variables instead of %* variable.

[[[
Index: subversion/tests/cmdline/svntest/actions.py
===================================================================
--- subversion/tests/cmdline/svntest/actions.py (revision 1897758)
+++ subversion/tests/cmdline/svntest/actions.py (working copy)
@@ -2137,8 +2137,8 @@ def disable_revprop_changes(repo_dir):
                                                   ' " ".join(sys.argv[2:]))\n'
                                  'sys.exit(1)\n',
                                  cmd_alternative=
-                                       '@shift\n'
-                                       '@echo pre-revprop-change %* 1>&2\n'
+                                       '@echo pre-revprop-change %2 %3 %4 %5 '
+                                       '1>&2\n'
                                        '@exit 1\n')
def create_failing_post_commit_hook(repo_dir):
]]]

Or we could simply remove `cmd_alternative` parameter.

[[[
Index: subversion/tests/cmdline/svntest/actions.py
===================================================================
--- subversion/tests/cmdline/svntest/actions.py (revision 1897758)
+++ subversion/tests/cmdline/svntest/actions.py (working copy)
@@ -2135,11 +2135,7 @@ def disable_revprop_changes(repo_dir):
                                  'import sys\n'
                                  'sys.stderr.write("pre-revprop-change %s" %'
                                                   ' " ".join(sys.argv[2:]))\n'
-                                 'sys.exit(1)\n',
-                                 cmd_alternative=
-                                       '@shift\n'
-                                       '@echo pre-revprop-change %* 1>&2\n'
-                                       '@exit 1\n')
+                                 'sys.exit(1)\n')
def create_failing_post_commit_hook(repo_dir):
   """Create a post-commit hook script in the repository at REPO_DIR that always
]]]


--
Jun Omae <jun6...@gmail.com> (大前 潤)

Reply via email to