svn commit: r1936674 - in subversion/trunk: . .github/workflows

[email protected] Tue, 28 Jul 2026 15:24:51 -0000
Newsgroups gmane.comp.version-control.subversion.svn
Message-ID <178525229100.3572197.14571505824150896472@svn03-he-fi>
Author: ivan
Date: Tue Jul 28 15:24:50 2026
New Revision: 1936674

Log:
cmake: Add explicit SVN_ENABLE_SWIG_PERL_TESTS, SVN_ENABLE_SWIG_PYTHON_TESTS,
SVN_ENABLE_SWIG_RUBY_TESTS configuration options to enable corresponding
SWIG bindings tests. Similar to SVN_ENABLE_JAVAHL_TESTS.

* .github/workflows/cmake.yml
  (Windows, static, x64, with tests)
  (Mac OS): Set SVN_ENABLE_SWIG_PERL_TESTS, SVN_ENABLE_SWIG_PYTHON_TESTS,
   SVN_ENABLE_SWIG_RUBY_TESTS to ON.

* CMakeLists.txt
  (): Add SVN_ENABLE_SWIG_PERL_TESTS, SVN_ENABLE_SWIG_PYTHON_TESTS,
   SVN_ENABLE_SWIG_RUBY_TESTS CMake options. Enable SWIG bindings tests
   only if corresponding option is enabled.

Modified:
   subversion/trunk/.github/workflows/cmake.yml
   subversion/trunk/CMakeLists.txt

Modified: subversion/trunk/.github/workflows/cmake.yml
==============================================================================
--- subversion/trunk/.github/workflows/cmake.yml	Tue Jul 28 15:20:40 2026	(r1936673)
+++ subversion/trunk/.github/workflows/cmake.yml	Tue Jul 28 15:24:50 2026	(r1936674)
@@ -105,9 +105,12 @@ jobs:
               -DSVN_ENABLE_LIBMAGIC=ON
               -DSVN_ENABLE_APACHE_MODULES=ON
               -DSVN_ENABLE_SWIG_PERL=ON
+              -DSVN_ENABLE_SWIG_PERL_TESTS=ON
               -DSVN_ENABLE_SWIG_PERL_MAN_PAGES=ON
               -DSVN_ENABLE_SWIG_PYTHON=ON
+              -DSVN_ENABLE_SWIG_PYTHON_TESTS=ON
               -DSVN_ENABLE_SWIG_RUBY=ON
+              -DSVN_ENABLE_SWIG_RUBY_TESTS=ON
               -DSVN_ENABLE_JAVAHL=ON
               -DSVN_ENABLE_JAVAHL_TESTS=ON
             extra_packages: >
@@ -129,9 +132,12 @@ jobs:
             extra_config_opts: >
               -DSVN_ENABLE_APACHE_MODULES=ON
               -DSVN_ENABLE_SWIG_PERL=ON
+              -DSVN_ENABLE_SWIG_PERL_TESTS=ON
               -DSVN_ENABLE_SWIG_PERL_MAN_PAGES=ON
               -DSVN_ENABLE_SWIG_PYTHON=ON
+              -DSVN_ENABLE_SWIG_PYTHON_TESTS=ON
               -DSVN_ENABLE_SWIG_RUBY=ON
+              -DSVN_ENABLE_SWIG_RUBY_TESTS=ON
               -DSVN_ENABLE_JAVAHL=ON
               -DSVN_ENABLE_JAVAHL_TESTS=ON
 

Modified: subversion/trunk/CMakeLists.txt
==============================================================================
--- subversion/trunk/CMakeLists.txt	Tue Jul 28 15:20:40 2026	(r1936673)
+++ subversion/trunk/CMakeLists.txt	Tue Jul 28 15:24:50 2026	(r1936674)
@@ -87,9 +87,12 @@ option(SVN_ENABLE_APACHE_MODULES "Build
 
 include(GNUInstallDirs)
 option(SVN_ENABLE_SWIG_PERL "Enable Subversion Perl bindings Perl" OFF)
+option(SVN_ENABLE_SWIG_PERL_TESTS "Enable tests for Subversion Perl bindings" OFF)
 option(SVN_ENABLE_SWIG_PERL_MAN_PAGES "Enable man pages for Subversion Perl bindings" OFF)
 option(SVN_ENABLE_SWIG_PYTHON "Enable Subversion Python bindings" OFF)
+option(SVN_ENABLE_SWIG_PYTHON_TESTS "Enable tests for Subversion Python bindings" OFF)
 option(SVN_ENABLE_SWIG_RUBY "Enable Subversion Ruby bindings" OFF)
+option(SVN_ENABLE_SWIG_RUBY_TESTS "Enable tests for Subversion Ruby bindings" OFF)
 option(SVN_ENABLE_JAVAHL "Enable Subversion JavaHL bindings" OFF)
 option(SVN_ENABLE_JAVAHL_TESTS "Enable tests for Subversion JavaHL bindings" OFF)
 set(SVN_SWIG_PERL_SITEARCH "${CMAKE_INSTALL_LIBDIR}/svn-perl"
@@ -232,8 +235,11 @@ add_private_config_definition(
   "SVN_SOVERSION" "${SVN_SOVERSION}"
 )
 
-if (SVN_ENABLE_TESTS OR SVN_ENABLE_SWIG_PERL OR SVN_ENABLE_SWIG_PYTHON OR
-    SVN_ENABLE_SWIG_RUBY OR SVN_ENABLE_JAVAHL_TESTS)
+if (SVN_ENABLE_TESTS OR 
+    SVN_ENABLE_SWIG_PERL_TESTS OR 
+    SVN_ENABLE_SWIG_PYTHON_TESTS OR
+    SVN_ENABLE_SWIG_RUBY_TESTS OR
+    SVN_ENABLE_JAVAHL_TESTS)
   enable_testing()
 endif()
 
@@ -996,17 +1002,19 @@ if(SVN_ENABLE_SWIG_PYTHON)
     )
   ]==])
 
-  add_test(
-    NAME swig-python
-    COMMAND
-      "${Python3_EXECUTABLE}"
-      ${CMAKE_CURRENT_SOURCE_DIR}/subversion/bindings/swig/python/tests/run_all.py
-      --verbose
-    WORKING_DIRECTORY
-      "${CMAKE_CURRENT_BINARY_DIR}/swig-python"
-  )
-  if(WIN32 OR CYGWIN)
-    test_prepend_builddir_to_path(swig-python)
+  if (SVN_ENABLE_SWIG_PYTHON_TESTS)
+    add_test(
+      NAME swig-python
+      COMMAND
+        "${Python3_EXECUTABLE}"
+        ${CMAKE_CURRENT_SOURCE_DIR}/subversion/bindings/swig/python/tests/run_all.py
+        --verbose
+      WORKING_DIRECTORY
+        "${CMAKE_CURRENT_BINARY_DIR}/swig-python"
+    )
+    if(WIN32 OR CYGWIN)
+      test_prepend_builddir_to_path(swig-python)
+    endif()
   endif()
 endif()
 
@@ -1067,19 +1075,21 @@ if(SVN_ENABLE_SWIG_PERL)
     )
   endif()
 
-  add_test(
-    NAME swig-perl
-    COMMAND
-      ${PERL_EXECUTABLE}
-      "-I${CMAKE_CURRENT_BINARY_DIR}/swig-perl/lib"
-      -MTest::Harness
-      -e
-      "$Test::Harness::verbose = 1; runtests(glob('t/*.t'))"
-    WORKING_DIRECTORY
-      ${CMAKE_CURRENT_SOURCE_DIR}/subversion/bindings/swig/perl/native
-  )
-  if(WIN32 OR CYGWIN)
-    test_prepend_builddir_to_path(swig-perl)
+  if (SVN_ENABLE_SWIG_PERL_TESTS)
+    add_test(
+      NAME swig-perl
+      COMMAND
+        ${PERL_EXECUTABLE}
+        "-I${CMAKE_CURRENT_BINARY_DIR}/swig-perl/lib"
+        -MTest::Harness
+        -e
+        "$Test::Harness::verbose = 1; runtests(glob('t/*.t'))"
+      WORKING_DIRECTORY
+        ${CMAKE_CURRENT_SOURCE_DIR}/subversion/bindings/swig/perl/native
+    )
+    if(WIN32 OR CYGWIN)
+      test_prepend_builddir_to_path(swig-perl)
+    endif()
   endif()
 endif()
 
@@ -1108,23 +1118,25 @@ if(SVN_ENABLE_SWIG_RUBY)
     FILES_MATCHING PATTERN "*.rb"
   )
 
-  add_test(
-    NAME swig-ruby
-    COMMAND
-      "${Ruby_EXECUTABLE}"
-      "-I${CMAKE_CURRENT_BINARY_DIR}/swig-ruby"
-      "-I${CMAKE_CURRENT_SOURCE_DIR}/subversion/bindings/swig/ruby"
-      test/run-test.rb
-      --collector=dir
-      --verbose=v
-    WORKING_DIRECTORY
-      ${CMAKE_CURRENT_SOURCE_DIR}/subversion/bindings/swig/ruby
-  )
-  set_property(TEST swig-ruby APPEND PROPERTY ENVIRONMENT
-    "SVN_TEST_SWIG_RUBY=ctest"
-  )
-  # svnserve in the build directory is launched by the tests
-  test_prepend_builddir_to_path(swig-ruby)
+  if (SVN_ENABLE_SWIG_RUBY_TESTS)
+    add_test(
+      NAME swig-ruby
+      COMMAND
+        "${Ruby_EXECUTABLE}"
+        "-I${CMAKE_CURRENT_BINARY_DIR}/swig-ruby"
+        "-I${CMAKE_CURRENT_SOURCE_DIR}/subversion/bindings/swig/ruby"
+        test/run-test.rb
+        --collector=dir
+        --verbose=v
+      WORKING_DIRECTORY
+        ${CMAKE_CURRENT_SOURCE_DIR}/subversion/bindings/swig/ruby
+    )
+    set_property(TEST swig-ruby APPEND PROPERTY ENVIRONMENT
+      "SVN_TEST_SWIG_RUBY=ctest"
+    )
+    # svnserve in the build directory is launched by the tests
+    test_prepend_builddir_to_path(swig-ruby)
+  endif()
 endif()
 
 if(SVN_ENABLE_JAVAHL)