You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by sv...@apache.org on 2018/01/08 04:00:27 UTC
svn commit: r1820525 - in /subversion/branches/1.10.x: ./ STATUS
subversion/tests/cmdline/svntest/main.py
Author: svn-role
Date: Mon Jan 8 04:00:27 2018
New Revision: 1820525
URL: http://svn.apache.org/viewvc?rev=1820525&view=rev
Log:
Merge the r1818577 group from trunk:
* r1818577, r1819146
Fix test suite handling of pre-cooked repositories
Justification:
We want our test suite to pass with fsfs-v4 repos as it did in 1.9.
As a bonus, it will also work with fsfs-v3 now.
Votes:
+1: stefan2, brane
Modified:
subversion/branches/1.10.x/ (props changed)
subversion/branches/1.10.x/STATUS
subversion/branches/1.10.x/subversion/tests/cmdline/svntest/main.py
Propchange: subversion/branches/1.10.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Jan 8 04:00:27 2018
@@ -99,4 +99,4 @@
/subversion/branches/verify-at-commit:1462039-1462408
/subversion/branches/verify-keep-going:1439280-1546110
/subversion/branches/wc-collate-path:1402685-1480384
-/subversion/trunk:1817837,1817856,1818578,1818584,1818651,1818662,1818727,1818801,1818803,1818807,1818868,1818871,1819036-1819037,1819043,1819049,1819052,1819093,1819162,1819444,1819556-1819557,1819603,1819804,1819911
+/subversion/trunk:1817837,1817856,1818577-1818578,1818584,1818651,1818662,1818727,1818801,1818803,1818807,1818868,1818871,1819036-1819037,1819043,1819049,1819052,1819093,1819146,1819162,1819444,1819556-1819557,1819603,1819804,1819911
Modified: subversion/branches/1.10.x/STATUS
URL: http://svn.apache.org/viewvc/subversion/branches/1.10.x/STATUS?rev=1820525&r1=1820524&r2=1820525&view=diff
==============================================================================
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Mon Jan 8 04:00:27 2018
@@ -30,12 +30,3 @@ Veto-blocked changes:
Approved changes:
=================
-
- * r1818577, r1819146
- Fix test suite handling of pre-cooked repositories
- Justification:
- We want our test suite to pass with fsfs-v4 repos as it did in 1.9.
- As a bonus, it will also work with fsfs-v3 now.
- Votes:
- +1: stefan2, brane
-
Modified: subversion/branches/1.10.x/subversion/tests/cmdline/svntest/main.py
URL: http://svn.apache.org/viewvc/subversion/branches/1.10.x/subversion/tests/cmdline/svntest/main.py?rev=1820525&r1=1820524&r2=1820525&view=diff
==============================================================================
--- subversion/branches/1.10.x/subversion/tests/cmdline/svntest/main.py (original)
+++ subversion/branches/1.10.x/subversion/tests/cmdline/svntest/main.py Mon Jan 8 04:00:27 2018
@@ -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)
@@ -2217,8 +2236,16 @@ def parse_options(arglist=sys.argv[1:],
parser.error("test harness only supports server minor versions 3-%d"
% SVN_VER_MINOR)
- # Make sure the server-minor-version matches the fsfs-version parameter.
- #
+ pass
+
+ return (parser, args)
+
+def tweak_options_for_precooked_repos():
+ """Make sure the server-minor-version matches the fsfs-version parameter
+ for pre-cooked repositories."""
+
+ global options
+
# Server versions that introduced the respective FSFS formats:
introducing_version = { 1:1, 2:4, 3:5, 4:6, 6:8, 7:9 }
if options.fsfs_version:
@@ -2230,12 +2257,8 @@ def parse_options(arglist=sys.argv[1:],
parser.error("--fsfs-version=%d requires --server-minor-version=%d" \
% (options.fsfs_version, introduced_in))
options.server_minor_version = introduced_in
- pass
# ### Add more tweaks here if and when we support pre-cooked versions
# ### of FSFS repositories.
- pass
-
- return (parser, args)
def run_tests(test_list, serial_only = False):
@@ -2331,6 +2354,7 @@ def execute_tests(test_list, serial_only
if not options:
# Override which tests to run from the commandline
(parser, args) = parse_options()
+ tweak_options_for_precooked_repos()
test_selection = args
else:
parser = _create_parser()