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

Ivan Zhakov <[email protected]>
Newsgroups gmane.comp.version-control.subversion.devel
Message-ID <CAPZho0_jkTW1Kos_40w7fPu9ouUN63d0ycYjtenSmjxSm5vtMw@mail.gmail.com>
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
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.