Hi,
On 2024/09/16 21:41, [email protected] 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 <[email protected]> (大前 潤)