Hi,

On 2024/09/16 21:41, rin...@apache.org wrote:
> Author: rinrab
> Date: Mon Sep 16 12:41:13 2024
> New Revision: 1920717
> 
> URL: http://svn.apache.org/viewvc?rev=1920717&view=rev
> Log:
> Merge the `cmake` branch to trunk.

I encounter the following error on all of cmdline.* tests with Visual Studio
as cmake generator.

[[[
62: Test command: C:\usr\apps\python312\python.exe 
"C:/usr/src/subversion/trunk-py312/build/run_tests.py" "--bin" 
"C:/usr/src/subversion/trunk-py312/out" "--tools-bin" 
"C:/usr/src/subversion/trunk-py312/out" "--verbose" "--log-to-stdout" 
"--set-log-level=WARNING" "C:/usr/src/subversion/trunk-py312" 
"C:/usr/src/subversion/trunk-py312/out" 
"C:/usr/src/subversion/trunk-py312/subversion/tests/cmdline/authz_tests.py"

62: Working Directory: C:/usr/src/subversion/trunk-py312/out
62: Test timeout computed to be: 10000000
62: START: authz_tests.py
62: Traceback (most recent call last):
62:   File "C:\usr\src\subversion\trunk-py312\build\run_tests.py", line 1156, 
in <module>
62:     main()
62:   File "C:\usr\src\subversion\trunk-py312\build\run_tests.py", line 1149, 
in main
62:     failed = th.run(args[2:])
62:              ^^^^^^^^^^^^^^^^
62:   File "C:\usr\src\subversion\trunk-py312\build\run_tests.py", line 643, in 
run
62:     failed = self._run_local_schedulers(testlist)
62:              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
62:   File "C:\usr\src\subversion\trunk-py312\build\run_tests.py", line 589, in 
_run_local_schedulers
62:     failed = self._run_test(testcase, count, testcount) or failed
62:              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
62:   File "C:\usr\src\subversion\trunk-py312\build\run_tests.py", line 1007, 
in _run_test
62:     failed = testcase(progabs, progdir, progbase, test_nums, dots_needed)
62:              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
62:   File "C:\usr\src\subversion\trunk-py312\build\run_tests.py", line 947, in 
_run_py_test
62:     failed = svntest.main.execute_tests(prog_mod.test_list,
62:              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
62:   File 
"C:\usr\src\subversion\trunk-py312\subversion\tests\cmdline\svntest\main.py", 
line 2685, in execute_tests
62:     svntest.actions.setup_pristine_repositories()
62:   File 
"C:\usr\src\subversion\trunk-py312\subversion\tests\cmdline\svntest\actions.py",
 line 136, in setup_pristine_repositories
62:     _setup_pristine_repo(main.greek_state,
62:   File 
"C:\usr\src\subversion\trunk-py312\subversion\tests\cmdline\svntest\actions.py",
 line 75, in _setup_pristine_repo
62:     main.create_repos(repos_dir)
62:   File 
"C:\usr\src\subversion\trunk-py312\subversion\tests\cmdline\svntest\main.py", 
line 1212, in create_repos
62:     exit_code, stdout, stderr = run_command(svnadmin_binary, 1, False,
62:                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
62:   File 
"C:\usr\src\subversion\trunk-py312\subversion\tests\cmdline\svntest\main.py", 
line 460, in run_command
62:     return run_command_stdin(command, error_expected, 0, binary_mode,
62:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
62:   File 
"C:\usr\src\subversion\trunk-py312\subversion\tests\cmdline\svntest\main.py", 
line 646, in run_command_stdin
62:     exit_code, stdout_lines, stderr_lines = spawn_process(command,
62:                                             ^^^^^^^^^^^^^^^^^^^^^^
62:   File 
"C:\usr\src\subversion\trunk-py312\subversion\tests\cmdline\svntest\main.py", 
line 608, in spawn_process
62:     infile, outfile, errfile, kid = open_pipe([command] + list(varargs), 
bufsize)
62:                                     
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
62:   File 
"C:\usr\src\subversion\trunk-py312\subversion\tests\cmdline\svntest\main.py", 
line 529, in open_pipe
62:     p = subprocess.Popen(command,
62:         ^^^^^^^^^^^^^^^^^^^^^^^^^
62:   File "C:\usr\apps\python312\Lib\subprocess.py", line 1026, in __init__
62:     self._execute_child(args, executable, preexec_fn, close_fds,
62:   File "C:\usr\apps\python312\Lib\subprocess.py", line 1538, in 
_execute_child
62:     hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
62:                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
62: FileNotFoundError: [WinError 2] The system cannot find the file specified
[HANDLER_OUTPUT] 
1/1 Test #62: cmdline.authz_tests ..............
***Failed    0.24 sec
]]]

The exception is raised when launching <build-dir>/svnadmin.exe because the
file is actually located in <build-dir>/Release/svnadmin.exe. It is not raised
when cmake with Ninja is used because <build-dir>/svnadmin.exe is located.

I think we could use $<TARGET_FILE_DIR:target> instead of
${CMAKE_CURRENT_BINARY_DIR} as a workaround.

[[[
Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt      (revision 1920797)
+++ CMakeLists.txt      (working copy)
@@ -671,13 +671,13 @@
           "cmdline.${py_test_name}"
         COMMAND
           "${Python3_EXECUTABLE}" 
"${CMAKE_CURRENT_SOURCE_DIR}/build/run_tests.py"
-          --bin ${CMAKE_CURRENT_BINARY_DIR}
-          --tools-bin ${CMAKE_CURRENT_BINARY_DIR}
+          --bin $<TARGET_FILE_DIR:svnadmin>
+          --tools-bin $<TARGET_FILE_DIR:entries-dump>
           --verbose
           --log-to-stdout
           --set-log-level=WARNING
           ${CMAKE_CURRENT_SOURCE_DIR}
-          ${CMAKE_CURRENT_BINARY_DIR}
+          $<TARGET_FILE_DIR:svnadmin>
           ${py_test_path}
       )
     endif()
]]]

-- 
Jun Omae <jun6...@gmail.com> (大前 潤)

Reply via email to