Author: rinrab
Date: Tue Nov 26 18:00:07 2024
New Revision: 1922127

URL: http://svn.apache.org/viewvc?rev=1922127&view=rev
Log:
cmake: Add an option that configures the test-suite for parallel
execution. It will give unique directory to each test, so if they
would get run in parallel, the resources of each test would not conflict
with each other. However, this will make the tests to create new sandboxes
for each.

Probably, this is an experimental feature, which may get reverted in future.

* CMakeLists.txt
  (SVN_TEST_CONFIGURE_FOR_PARALLEL): New option defaulting to 'OFF'.
  (add_py_test): Add the test name to test_root, for making it unique
   directory.

Modified:
    subversion/trunk/CMakeLists.txt

Modified: subversion/trunk/CMakeLists.txt
URL: 
http://svn.apache.org/viewvc/subversion/trunk/CMakeLists.txt?rev=1922127&r1=1922126&r2=1922127&view=diff
==============================================================================
--- subversion/trunk/CMakeLists.txt (original)
+++ subversion/trunk/CMakeLists.txt Tue Nov 26 18:00:07 2024
@@ -76,6 +76,7 @@ option(SVN_ENABLE_PROGRAMS "Build Subver
 cmake_dependent_option(SVN_ENABLE_TOOLS "Build Subversion tools" ON 
"SVN_ENABLE_TESTS" OFF)
 option(SVN_ENABLE_TESTS "Build Subversion test-suite" OFF)
 option(EXPAND_TESTS "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)
 option(SVN_ENABLE_APACHE_MODULES "Build modules for Apache HTTPD" OFF)
 
 option(SVN_ENABLE_SWIG_PERL "Enable Subversion SWIG bindings for Perl" OFF)
@@ -772,7 +773,12 @@ if(SVN_ENABLE_TESTS)
   set(run_tests_script "${CMAKE_CURRENT_SOURCE_DIR}/build/run_tests.py")
 
   function(add_py_test name prog)
-    set(test_root "${CMAKE_CURRENT_BINARY_DIR}/Testing")
+    if(SVN_TEST_CONFIGURE_FOR_PARALLEL)
+      set(test_root "${CMAKE_CURRENT_BINARY_DIR}/Testing/${name}")
+    else()
+      set(test_root "${CMAKE_CURRENT_BINARY_DIR}/Testing")
+    endif()
+
     file(MAKE_DIRECTORY "${test_root}/subversion/tests/cmdline")
 
     add_test(


Reply via email to