svn commit: r1898446 - /subversion/trunk/subversion/tests/cmdline/svntest/main.py

2022-02-26 Thread danielsh
Author: danielsh
Date: Sat Feb 26 17:10:28 2022
New Revision: 1898446

URL: http://svn.apache.org/viewvc?rev=1898446=rev
Log:
multi-wc-format: tests: Correct an error message.

* subversion/tests/cmdline/svntest/main.py
  (wc_format): Don't mention the name of options.wc_format_version since
the value might be something else.

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=1898446=1898445=1898446=diff
==
--- subversion/trunk/subversion/tests/cmdline/svntest/main.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svntest/main.py Sat Feb 26 
17:10:28 2022
@@ -1763,8 +1763,7 @@ def wc_format(ver=None):
 return 32
   if minor >= 8 and minor <= 14:
 return 31
-  raise Exception("Unrecognized wc_format_version '%s'" %
-  options.wc_format_version)
+  raise Exception("Unrecognized version number '%s'" % (ver,))
 
 
 ##




svn commit: r1898445 - in /subversion/trunk/subversion/tests/cmdline: svntest/main.py upgrade_tests.py

2022-02-26 Thread danielsh
Author: danielsh
Date: Sat Feb 26 16:37:03 2022
New Revision: 1898445

URL: http://svn.apache.org/viewvc?rev=1898445=rev
Log:
multi-wc-format: Verify that it's possible to upgrade first to f31 and then
to f32.

* subversion/tests/cmdline/svntest/main.py
  (wc_format): Add docstring.  Take an optional argument.

* subversion/tests/cmdline/upgrade_tests.py
  (basic_upgrade): Extend the test to run a second 'svn upgrade'.

Modified:
subversion/trunk/subversion/tests/cmdline/svntest/main.py
subversion/trunk/subversion/tests/cmdline/upgrade_tests.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=1898445=1898444=1898445=diff
==
--- subversion/trunk/subversion/tests/cmdline/svntest/main.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svntest/main.py Sat Feb 26 
16:37:03 2022
@@ -1748,8 +1748,16 @@ def is_httpd_authz_provider_enabled():
 def is_remote_http_connection_allowed():
   return options.allow_remote_http_connection
 
-def wc_format():
-  ver = (options.wc_format_version or DEFAULT_COMPATIBLE_VERSION)
+def wc_format(ver=None):
+  """Return the WC format number used by Subversion version VER.
+
+  VER should be a version string such as '1.15' or '1.15.0' or '1.15.0-beta2'.
+
+  If omitted, the format number of new working copies, as expected to be
+  created by 'svn checkout' without '--compatible-version', is returned.
+  """
+  if not ver:
+ver = (options.wc_format_version or DEFAULT_COMPATIBLE_VERSION)
   minor = int(ver.split('.')[1])
   if minor >= 15 and minor <= SVN_VER_MINOR:
 return 32

Modified: subversion/trunk/subversion/tests/cmdline/upgrade_tests.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/upgrade_tests.py?rev=1898445=1898444=1898445=diff
==
--- subversion/trunk/subversion/tests/cmdline/upgrade_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/upgrade_tests.py Sat Feb 26 
16:37:03 2022
@@ -290,10 +290,33 @@ def basic_upgrade(sbox):
   check_format(sbox, get_current_format())
 
   # Now check the contents of the working copy
+  # This verification is repeated below.
   expected_status = svntest.actions.get_virginal_state(sbox.wc_dir, 1)
   run_and_verify_status_no_server(sbox.wc_dir, expected_status)
   check_pristine(sbox, ['iota', 'A/mu'])
 
+  # Upgrade again to the latest format.
+  #
+  # This may or may not be a no-op, depending on whether the test suite was
+  # launched with --wc-format-version / WC_FORMAT_VERSION set a version that
+  # uses the same format as SVN_VER_MAJOR.SVN_VER_MINOR.
+  to_version = svntest.main.svn_wc__max_supported_format_version()
+  if svntest.main.wc_format() == svntest.main.wc_format(to_version):
+# Upgrade is a no-op
+expected_stdout = []
+  else:
+# Upgrade is not a no-op
+expected_stdout = "Upgraded '.*'"
+  svntest.actions.run_and_verify_svn(expected_stdout, [],
+ 'upgrade',
+ '--compatible-version',
+ to_version, sbox.wc_dir)
+  check_format(sbox, svntest.main.wc_format(to_version))
+
+  # Repeat the same verification as above
+  run_and_verify_status_no_server(sbox.wc_dir, expected_status)
+  check_pristine(sbox, ['iota', 'A/mu'])
+
 def upgrade_with_externals(sbox):
   "upgrade with externals"
 




svn commit: r1898444 - /subversion/trunk/subversion/tests/cmdline/svntest/main.py

2022-02-26 Thread danielsh
Author: danielsh
Date: Sat Feb 26 16:28:41 2022
New Revision: 1898444

URL: http://svn.apache.org/viewvc?rev=1898444=rev
Log:
multi-wc-format: Don't assume test functions will use a particular option
syntax.

* subversion/tests/cmdline/svntest/main.py
  (_with_wc_format_version): Detect both long option syntaxes.

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=1898444=1898443=1898444=diff
==
--- subversion/trunk/subversion/tests/cmdline/svntest/main.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svntest/main.py Sat Feb 26 
16:28:41 2022
@@ -801,7 +801,9 @@ def copy_trust(dst_cfgdir, src_cfgdir):
 shutil.copy(os.path.join(src_ssl_dir, f), os.path.join(dst_ssl_dir, f))
 
 def _with_wc_format_version(args):
-  if '--compatible-version' in args or options.wc_format_version is None:
+  if '--compatible-version' in args \
+  or any(one_arg.startswith('--compatible-version=') for one_arg in args) \
+  or options.wc_format_version is None:
 return args
   non_opt_args = [a for a in args if not str(a).startswith('-')]
   if non_opt_args:




svn commit: r1898443 - /subversion/trunk/subversion/tests/cmdline/svntest/main.py

2022-02-26 Thread danielsh
Author: danielsh
Date: Sat Feb 26 16:26:08 2022
New Revision: 1898443

URL: http://svn.apache.org/viewvc?rev=1898443=rev
Log:
multi-wc-format: Make svntest.main.run_svn() and friends not add
--compatible-version when a test has passed this option already.

The outgoing option name is the test suite programs' option name, as opposed to
svn(1)'s option name.

* subversion/tests/cmdline/svntest/main.py
  (_with_wc_format_version): Fix option name.

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=1898443=1898442=1898443=diff
==
--- subversion/trunk/subversion/tests/cmdline/svntest/main.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svntest/main.py Sat Feb 26 
16:26:08 2022
@@ -801,7 +801,7 @@ def copy_trust(dst_cfgdir, src_cfgdir):
 shutil.copy(os.path.join(src_ssl_dir, f), os.path.join(dst_ssl_dir, f))
 
 def _with_wc_format_version(args):
-  if '--wc-format-version' in args or options.wc_format_version is None:
+  if '--compatible-version' in args or options.wc_format_version is None:
 return args
   non_opt_args = [a for a in args if not str(a).startswith('-')]
   if non_opt_args: