On 2026/07/02 0:51, [email protected] wrote:
> Author: ivan
> Date: Wed Jul 1 15:51:12 2026
> New Revision: 1935776
>
> Log:
> Merge 'xml-schema-validation-improvements' branch.
>
> [...]
> > * .github/workflows/cmake.yml
> (Configure CMake): Set SVN_TEST_CHECK_XML_SCHEMA=ON.
>
> [...]
> > Modified: subversion/trunk/CMakeLists.txt
> ==============================================================================
> --- subversion/trunk/CMakeLists.txt Wed Jul 1 15:26:27 2026
> (r1935775)
> +++ subversion/trunk/CMakeLists.txt Wed Jul 1 15:51:12 2026
> (r1935776)
> @@ -74,6 +74,7 @@ option(SVN_ENABLE_TESTS "Build Subversio
> option(SVN_TEST_EXPAND "Expand tests; This will slow-down configuration, but
> you will have an ability to run any subtest" OFF)
> option(SVN_TEST_CONFIGURE_FOR_PARALLEL "Configures tests for parallel run
> execution" OFF)
> set(SVN_TEST_COMMAND_ARGUMENTS "" CACHE STRING "Additional command line
> options to be passed to run_tests.py")
> +option(SVN_TEST_CHECK_XML_SCHEMA "Enable extended XML schema validation" OFF)
> option(SVN_ENABLE_APACHE_MODULES "Build modules for Apache HTTPD" OFF)
>
> option(SVN_ENABLE_SWIG_PERL "Enable Subversion SWIG bindings for Perl" OFF)
> @@ -984,6 +985,7 @@ if(SVN_ENABLE_TESTS)
> --log-to-stdout
> --set-log-level=WARNING
> --cleanup
> + $<$<BOOL:${SVN_TEST_CHECK_XML_SCHEMA}>:--check-xml-schema>
> ${SVN_TEST_COMMAND_ARGUMENTS}
> ${CMAKE_CURRENT_SOURCE_DIR}
> ${test_root}
>
After r1935776, all tests via run_tests.py fails with
SVN_TEST_CHECK_XML_SCHEMA=OFF (by default) due to No module named 'svntest'
when importing 'svntest'.
[[[
50% tests passed, 62 tests failed out of 124
Total Test time (real) = 11.83 sec
The following tests FAILED:
63 - cmdline.authz_tests (Failed)
64 - cmdline.autoprop_tests (Failed)
65 - cmdline.basic_tests (Failed)
...
122 - cmdline.update_tests (Failed)
123 - cmdline.upgrade_tests (Failed)
124 - cmdline.wc_tests (Failed)
Errors while running CTest
]]]
[[[
63/124 Testing: cmdline.authz_tests
63/124 Test: cmdline.authz_tests
Command: "/usr/bin/python3"
"/home/jun66j5/src/subversion/subversion.git/build/run_tests.py" "--bin"
"/dev/shm/svn-trunk-build/ build" "--tools-bin"
"/dev/shm/svn-trunk-build/build" "--verbose" "--log-to-stdout"
"--set-log-level=WARNING" "--cleanup" "" "/
home/jun66j5/src/subversion/subversion.git"
"/dev/shm/svn-trunk-build/build/Testing/cmdline.authz_tests"
"subversion/tests/cmdl ine/authz_tests.py"
Directory: /dev/shm/svn-trunk-build/build/Testing/cmdline.authz_tests
"cmdline.authz_tests" start time: Jul 17 08:23 JST
Output:
----------------------------------------------------------
Traceback (most recent call last):
File "/home/jun66j5/src/subversion/subversion.git/build/run_tests.py", line
1127, in <module>
main()
File "/home/jun66j5/src/subversion/subversion.git/build/run_tests.py", line
1120, in main
failed = th.run(programs)
File "/home/jun66j5/src/subversion/subversion.git/build/run_tests.py", line
597, in run
self._init_py_tests(list(py_basedir)[0])
File "/home/jun66j5/src/subversion/subversion.git/build/run_tests.py", line
330, in _init_py_tests
svntest = importlib.import_module('svntest')
File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1004, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'svntest'
<end of output>
Test time = 0.02 sec
]]]
I'd suggest to use list(APPEND ...) instead of
$<$<BOOL:${SVN_TEST_CHECK_XML_SCHEMA}>:--check-xml-schema>.
[[[
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e950c058f..dd4effc2b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -976,22 +976,29 @@ if(SVN_ENABLE_TESTS)
file(MAKE_DIRECTORY "${test_root}/subversion/tests/cmdline")
+ set(test_args
+ --bin ${binary_dir}
+ --tools-bin ${binary_dir}
+ --verbose
+ --log-to-stdout
+ --set-log-level=WARNING
+ --cleanup
+ )
+ if(SVN_TEST_CHECK_XML_SCHEMA)
+ list(APPEND test_args --check-xml-schema)
+ endif()
+ list(APPEND test_args
+ ${SVN_TEST_COMMAND_ARGUMENTS}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${test_root}
+ "${prog}"
+ )
+
add_test(
NAME
"${name}"
COMMAND
- "${Python3_EXECUTABLE}" "${run_tests_script}"
- --bin ${binary_dir}
- --tools-bin ${binary_dir}
- --verbose
- --log-to-stdout
- --set-log-level=WARNING
- --cleanup
- $<$<BOOL:${SVN_TEST_CHECK_XML_SCHEMA}>:--check-xml-schema>
- ${SVN_TEST_COMMAND_ARGUMENTS}
- ${CMAKE_CURRENT_SOURCE_DIR}
- ${test_root}
- "${prog}"
+ "${Python3_EXECUTABLE}" "${run_tests_script}" ${test_args}
WORKING_DIRECTORY
${test_root}
)
]]]
--
Jun Omae <[email protected]> (大前 潤)