Subject: [PATCH v2 07/65] build-system/cmake: Add test-exclude fields.

From: Greg Hogan <[email-masked]>
Date: Tue, 22 Oct 2024 18:08:57 +0000

* guix/build-system/cmake.scm (cmake-build, cmake-cross-build):
Add test-exclude field.
* doc/guix.texi: Document test-exclude parameter.

Change-Id: I7e2596968bec74ea7b48850abd9ab2c6a5121043
---
 doc/guix.texi               | 4 ++++
 guix/build-system/cmake.scm | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/doc/guix.texi b/doc/guix.texi
index d7efec0aab..7d38a1322f 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -9463,6 +9463,10 @@ Build Systems
 This parameter specifies the
 @url{https://cmake.org/cmake/help/latest/manual/cmake-generators.7.html, CMake generator}
 responsible for writing the input files for the native build system.
+
+@item #:test-exclude
+Tests matching this regular expression are excluded from testing by
+@url{https://cmake.org/cmake/help/latest/manual/ctest.1.html, ctest}.
 @end table
 @end defvar
 
diff --git a/guix/build-system/cmake.scm b/guix/build-system/cmake.scm
index af6d2e5c8a..d9e9bf7bb6 100644
--- a/guix/build-system/cmake.scm
+++ b/guix/build-system/cmake.scm
@@ -105,6 +105,7 @@ (define* (cmake-build name inputs
                       (build-type "RelWithDebInfo")
                       (tests? #t)
                       (test-target "test")
+                      (test-exclude "")
                       (parallel-build? #t) (parallel-tests? #t)
                       (validate-runpath? #t)
                       (patch-shebangs? #t)
@@ -146,6 +147,7 @@ (define* (cmake-build name inputs
                              #:build-type #$build-type
                              #:tests? #$tests?
                              #:test-target #$test-target
+                             #:test-exclude #$test-exclude
                              #:parallel-build? #$parallel-build?
                              #:parallel-tests? #$parallel-tests?
                              #:validate-runpath? #$validate-runpath?
@@ -185,6 +187,7 @@ (define* (cmake-cross-build name
                             (build-type "RelWithDebInfo")
                             (tests? #f) ; nothing can be done
                             (test-target "test")
+                            (test-exclude "")
                             (parallel-build? #t) (parallel-tests? #t)
                             (validate-runpath? #t)
                             (patch-shebangs? #t)
@@ -241,6 +244,7 @@ (define* (cmake-cross-build name
                        #:build-type #$build-type
                        #:tests? #$tests?
                        #:test-target #$test-target
+                       #:test-exclude #$test-exclude
                        #:parallel-build? #$parallel-build?
                        #:parallel-tests? #$parallel-tests?
                        #:validate-runpath? #$validate-runpath?
-- 
2.46.1