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]> (大前 潤)

Reply via email to