Re: svn commit: r1935776 - in subversion/trunk: . .github/workflows build subversion/libsvn_subr/utf8proc subversion/tests/cmdline subversion/tests/cmdline/svntest

Jun Omae <[email protected]>
Newsgroups gmane.comp.version-control.subversion.devel
Message-ID <[email protected]>
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]> (大前 潤)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.