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