mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
gnu: cmake-build: Retry failed tests.
* guix/build-system/cmake.scm (cmake-build, cmake-cross-build), * guix/build-system/qt.scm (qt-build, qt-cross-build): Add test-repeat-until-pass? and test-repeat-until-pass-count fields. * guix/build/cmake-build-system.scm (check): Add and use new fields. * doc/guix.texi: Document new parameters. Change-Id: I046dfc86a18fb2a2be4ae362c1226c2f8cab129c
This commit is contained in:
parent
8b53cfe1c1
commit
f361e7fa4a
4 changed files with 34 additions and 1 deletions
|
@ -9728,6 +9728,16 @@ 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}.
|
||||
|
||||
@item #:test-repeat-until-pass?
|
||||
Directs @url{https://cmake.org/cmake/help/latest/manual/ctest.1.html, ctest} to
|
||||
@url{https://cmake.org/cmake/help/latest/manual/ctest.1.html#cmdoption-ctest-repeat, repeat}
|
||||
failed tests up to @code{#:test-repeat-until-pass-count} times and is enabled by
|
||||
default.
|
||||
|
||||
@item #:test-repeat-until-pass-count
|
||||
When @code{#:test-repeat-until-pass?} is enabled this parameter sets the maximum
|
||||
number of failures for each test. The default is @code{5}.
|
||||
@end table
|
||||
@end defvar
|
||||
|
||||
|
|
|
@ -129,6 +129,8 @@
|
|||
(build-type "RelWithDebInfo")
|
||||
(tests? #t)
|
||||
(test-exclude "")
|
||||
(test-repeat-until-pass? #t)
|
||||
(test-repeat-until-pass-count 5)
|
||||
(parallel-build? #t) (parallel-tests? #t)
|
||||
(validate-runpath? #t)
|
||||
(patch-shebangs? #t)
|
||||
|
@ -170,6 +172,8 @@ provides a 'CMakeLists.txt' file as its build system."
|
|||
#:build-type #$build-type
|
||||
#:tests? #$tests?
|
||||
#:test-exclude #$test-exclude
|
||||
#:test-repeat-until-pass? #$test-repeat-until-pass?
|
||||
#:test-repeat-until-pass-count #$test-repeat-until-pass-count
|
||||
#:parallel-build? #$parallel-build?
|
||||
#:parallel-tests? #$parallel-tests?
|
||||
#:validate-runpath? #$validate-runpath?
|
||||
|
@ -209,6 +213,8 @@ provides a 'CMakeLists.txt' file as its build system."
|
|||
(build-type "RelWithDebInfo")
|
||||
(tests? #f) ; nothing can be done
|
||||
(test-exclude "")
|
||||
(test-repeat-until-pass? #t)
|
||||
(test-repeat-until-pass-count 5)
|
||||
(parallel-build? #t) (parallel-tests? #t)
|
||||
(validate-runpath? #t)
|
||||
(patch-shebangs? #t)
|
||||
|
@ -273,6 +279,8 @@ build system."
|
|||
#:build-type #$build-type
|
||||
#:tests? #$tests?
|
||||
#:test-exclude #$test-exclude
|
||||
#:test-repeat-until-pass? #$test-repeat-until-pass?
|
||||
#:test-repeat-until-pass-count #$test-repeat-until-pass-count
|
||||
#:parallel-build? #$parallel-build?
|
||||
#:parallel-tests? #$parallel-tests?
|
||||
#:validate-runpath? #$validate-runpath?
|
||||
|
|
|
@ -127,6 +127,8 @@
|
|||
(build-type "RelWithDebInfo")
|
||||
(tests? #t)
|
||||
(test-exclude "")
|
||||
(test-repeat-until-pass? #t)
|
||||
(test-repeat-until-pass-count 5)
|
||||
(parallel-build? #t) (parallel-tests? #t)
|
||||
(validate-runpath? #t)
|
||||
(patch-shebangs? #t)
|
||||
|
@ -168,6 +170,8 @@ provides a 'CMakeLists.txt' file as its build system."
|
|||
#:build-type #$build-type
|
||||
#:tests? #$tests?
|
||||
#:test-exclude #$test-exclude
|
||||
#:test-repeat-until-pass? #$test-repeat-until-pass?
|
||||
#:test-repeat-until-pass-count #$test-repeat-until-pass-count
|
||||
#:parallel-build? #$parallel-build?
|
||||
#:parallel-tests? #$parallel-tests?
|
||||
#:validate-runpath? #$validate-runpath?
|
||||
|
@ -206,6 +210,8 @@ provides a 'CMakeLists.txt' file as its build system."
|
|||
(build-type "RelWithDebInfo")
|
||||
(tests? #f) ; nothing can be done
|
||||
(test-exclude "")
|
||||
(test-repeat-until-pass? #t)
|
||||
(test-repeat-until-pass-count 5)
|
||||
(parallel-build? #t) (parallel-tests? #f)
|
||||
(validate-runpath? #t)
|
||||
(patch-shebangs? #t)
|
||||
|
@ -260,6 +266,8 @@ build system."
|
|||
#:build-type #$build-type
|
||||
#:tests? #$tests?
|
||||
#:test-exclude #$test-exclude
|
||||
#:test-repeat-until-pass? #$test-repeat-until-pass?
|
||||
#:test-repeat-until-pass-count #$test-repeat-until-pass-count
|
||||
#:parallel-build? #$parallel-build?
|
||||
#:parallel-tests? #$parallel-tests?
|
||||
#:validate-runpath? #$validate-runpath?
|
||||
|
|
|
@ -110,6 +110,8 @@
|
|||
|
||||
(define* (check #:key (tests? #t) (test-exclude "")
|
||||
(parallel-tests? #t)
|
||||
(test-repeat-until-pass? #t)
|
||||
(test-repeat-until-pass-count 5)
|
||||
(test-suite-log-regexp %test-suite-log-regexp)
|
||||
#:allow-other-keys)
|
||||
(if tests?
|
||||
|
@ -128,7 +130,12 @@
|
|||
"--test-load"
|
||||
,(number->string (total-processor-count)))
|
||||
;; When unset CMake defers to the build system.
|
||||
'("-j" "1")))))
|
||||
'("-j" "1"))
|
||||
,@(if test-repeat-until-pass?
|
||||
`("--repeat"
|
||||
,(string-append "until-pass:"
|
||||
(number->string test-repeat-until-pass-count)))
|
||||
'()))))
|
||||
(format #t "test suite not run~%")))
|
||||
|
||||
(define* (install #:rest args)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue