You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2017/12/18 14:38:22 UTC
svn commit: r1818577 -
/subversion/trunk/subversion/tests/cmdline/svntest/main.py
Author: stefan2
Date: Mon Dec 18 14:38:21 2017
New Revision: 1818577
URL: http://svn.apache.org/viewvc?rev=1818577&view=rev
Log:
Fix a systematic error with the server version checking in our tests.
The key here is to peg the actual server version used and seperate it
from the restrictions imposed by things like FSFS versions.
This fixes fsfs-v3 and fsfs-v4 tests.
* subversion/tests/cmdline/svntest/main.py
(server_has_revprop_commit,
server_authz_has_aliases,
server_gets_client_capabilities,
server_has_partial_replay,
server_enforces_date_syntax,
server_has_atomic_revprop,
server_has_reverse_get_file_revs): Use pegged server capabilities.
(ServerCaps): New struct describing server capabilities.
(parse_options): Peg server capabilities before tweaking the apparent
server version.
Modified:
subversion/trunk/subversion/tests/cmdline/svntest/main.py
Modified: subversion/trunk/subversion/tests/cmdline/svntest/main.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svntest/main.py?rev=1818577&r1=1818576&r2=1818577&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/svntest/main.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svntest/main.py Mon Dec 18 14:38:21 2017
@@ -1610,28 +1610,28 @@ def server_has_mergeinfo():
return options.server_minor_version >= 5
def server_has_revprop_commit():
- return options.server_minor_version >= 5
+ return options.server_caps.has_revprop_commit
def server_authz_has_aliases():
- return options.server_minor_version >= 5
+ return options.server_caps.authz_has_aliases
def server_gets_client_capabilities():
- return options.server_minor_version >= 5
+ return options.server_caps.gets_client_capabilities
def server_has_partial_replay():
- return options.server_minor_version >= 5
+ return options.server_caps.has_partial_replay
def server_enforces_UTF8_fspaths_in_verify():
- return options.server_minor_version >= 6
+ return options.server_caps.enforces_UTF8_fspaths_in_verify
def server_enforces_date_syntax():
- return options.server_minor_version >= 5
+ return options.server_caps.enforces_date_syntax
def server_has_atomic_revprop():
- return options.server_minor_version >= 7
+ return options.server_caps.has_atomic_revprop
def server_has_reverse_get_file_revs():
- return options.server_minor_version >= 8
+ return options.server_caps.has_reverse_get_file_revs
def is_plaintext_password_storage_disabled():
try:
@@ -2176,6 +2176,19 @@ def _create_parser(usage=None):
return parser
+class ServerCaps():
+ """A simple struct that contains the actual server capabilities that don't
+ depend on other settings like FS versions."""
+
+ def __init__(self, options):
+ self.has_revprop_commit = options.server_minor_version >= 5
+ self.authz_has_aliases = options.server_minor_version >= 5
+ self.gets_client_capabilities = options.server_minor_version >= 5
+ self.has_partial_replay = options.server_minor_version >= 5
+ self.enforces_UTF8_fspaths_in_verify = options.server_minor_version >= 6
+ self.enforces_date_syntax = options.server_minor_version >= 5
+ self.has_atomic_revprop = options.server_minor_version >= 7
+ self.has_reverse_get_file_revs = options.server_minor_version >= 8
def parse_options(arglist=sys.argv[1:], usage=None):
"""Parse the arguments in arg_list, and set the global options object with
@@ -2186,6 +2199,12 @@ def parse_options(arglist=sys.argv[1:],
parser = _create_parser(usage)
(options, args) = parser.parse_args(arglist)
+ # Peg the actual server capabilities.
+ # We tweak the server_minor_version later to accommodate FS restrictions,
+ # but we don't want them to interfere with expectations towards the "pure"
+ # server code.
+ options.server_caps = ServerCaps(options)
+
# If there are no logging handlers registered yet, then install our
# own with our custom formatter. (anything currently installed *is*
# our handler as tested above, in _create_parser)