svn commit: r1919625 - /subversion/branches/cmake/CMakeLists.txt

[email protected]
Newsgroups gmane.comp.version-control.subversion.svn
Message-ID <[email protected]>
Author: rinrab
Date: Thu Aug  1 18:55:24 2024
New Revision: 1919625

URL: http://svn.apache.org/viewvc?rev=1919625&view=rev
Log:
On the 'cmake' branch: Add Python tests using the add_test() command.

We are currently, using built-in CMake tool for testing, CTest. In this
commit, the Python tests will be also added into it, as addition to the
C-Tests. Also, add finding of Python executable, which is required for
running the Python test-suite. These tests will be added only if the
SVN_BUILD_TESTS enabled, at the same time with c-tests. For retrieving
the tests, we will simply enumerate all *.py files in the
subversion/tests/cmdline directory. Afterwards, we will use the
run_tests.py script for running the tests and streaming the output.

* CMakeLists.txt
  (tests): Use add_test() command for each python test file to run them.

Modified:
    subversion/branches/cmake/CMakeLists.txt

Modified: subversion/branches/cmake/CMakeLists.txt
URL: http://svn.apache.org/viewvc/subversion/branches/cmake/CMakeLists.txt?rev=1919625&r1=1919624&r2=1919625&view=diff
==============================================================================
--- subversion/branches/cmake/CMakeLists.txt (original)
+++ subversion/branches/cmake/CMakeLists.txt Thu Aug  1 18:55:24 2024
@@ -446,6 +446,34 @@ set(CMAKE_STATIC_LIBRARY_PREFIX "")
 
 include("build/cmake/targets.cmake")
 
+if(SVN_BUILD_TESTS)
+  find_package(Python3 COMPONENTS Interpreter REQUIRED)
+
+  file(GLOB PYTHON_TESTS
+     "subversion/tests/cmdline/*.py"
+  )
+
+  foreach(py_test_path ${PYTHON_TESTS})
+    # Keep `.py'.
+    get_filename_component(py_test_name ${py_test_path} NAME)
+
+    add_test(
+      NAME
+        ${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}
+        --verbose
+        --log-to-stdout
+        --set-log-level=WARNING
+        ${CMAKE_CURRENT_SOURCE_DIR}
+        ${CMAKE_CURRENT_BINARY_DIR}
+        ${py_test_path}
+    )
+  endforeach()
+endif()
+
 if (SVN_BUILD_SVNXX)
   target_include_directories(libsvnxx PUBLIC
     "${CMAKE_CURRENT_SOURCE_DIR}/subversion/bindings/cxx/include"
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.