On Fri, 17 Jul 2026 at 02:32, Jun Omae <[email protected]> wrote:

> 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}
>      )
> ]]]
>
> You are right, my fault. For some reason the tests worked from Visual
Studio.

For the records: patch was committed to trunk in r1936304 and nominated for
backport to 1.15.x branch.

Thanks!

-- 
Ivan Zhakov

Reply via email to