mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2025-01-19 05:57:04 +01:00
gnu: libtorrent-rasterbar: Update to 1.2.19.
With the update, the execution of the test suite was overhauled a lot. Parallel tests were disabled, since the do not work well. Since faketime does cause some tests to hang, test_ssl was moved into a separate run. * gnu/packages/bittorrent.scm (libtorrent-rasterbar)[version]: Update to 1.2.19. [arguments]<#:parallel-tests?>: Disable. [arguments]<#:phases>: Move test_ssl into separate run under faketime. Do not run under tests under faketime. Anchor the regex for test exclusion. Set timeout of 600 seconds for each test. Change-Id: I7392cb3ce1a8815b26b3257498082761255535ee Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
0399d5b610
commit
fb2bbb0c3e
1 changed files with 30 additions and 16 deletions
|
@ -417,7 +417,7 @@ (define-public mktorrent
|
|||
(define-public libtorrent-rasterbar
|
||||
(package
|
||||
(name "libtorrent-rasterbar")
|
||||
(version "1.2.18")
|
||||
(version "1.2.19")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -426,35 +426,49 @@ (define-public libtorrent-rasterbar
|
|||
"releases/download/v" version "/"
|
||||
"libtorrent-rasterbar-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0wpsaqadcicxl4lf1nc1i93c4yzjv8hpzhhrw1hdkrp4gn0vdwpy"))))
|
||||
(base32 "03p4nvsll568zlyqifid0cn135sg5whbk7g48gkbapnw92ayks7f"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("-Dpython-bindings=ON"
|
||||
"-Dbuild_tests=ON")
|
||||
;; Tests do not reliably work when executed in parallel.
|
||||
#:parallel-tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'extend-test-timeout
|
||||
(lambda _
|
||||
(substitute* "test/test_remove_torrent.cpp"
|
||||
;; Extend the test timeout from 3 seconds to 10.
|
||||
(("i > 30") "i > 100"))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? parallel-tests? #:allow-other-keys)
|
||||
(let ((disabled-tests
|
||||
;; test_upnp requires a non-localhost IPv4 interface.
|
||||
'("test_upnp")))
|
||||
(let* ((disabled-tests
|
||||
'(
|
||||
;; Requires a non-localhost IPv4 interface.
|
||||
"test_upnp"
|
||||
;; test_ssl needs to be run separately.
|
||||
"test_ssl"))
|
||||
(exclude-regex (string-append "^("
|
||||
(string-join disabled-tests "|")
|
||||
")$"))
|
||||
(timeout "600")
|
||||
(jobs (if parallel-tests?
|
||||
(number->string (parallel-job-count))
|
||||
"1")))
|
||||
(when tests?
|
||||
(invoke "ctest"
|
||||
"-E" exclude-regex
|
||||
"-j" jobs
|
||||
"--timeout" timeout
|
||||
"--output-on-failure")
|
||||
;; test_ssl relies on bundled TLS certificates with a fixed
|
||||
;; expiry date. To ensure succesful builds in the future,
|
||||
;; fake the time to be roughly that of the release.
|
||||
(setenv "FAKETIME_ONLY_CMDS" "test_ssl")
|
||||
;;
|
||||
;; At the same time, faketime happens to cause
|
||||
;; test_fast_extension, test_privacy and test_resolve_links
|
||||
;; to hang, even with FAKETIME_ONLY_CMDS. Not sure why. So
|
||||
;; execute only test_ssl under faketime.
|
||||
(invoke "faketime" "2022-10-24"
|
||||
"ctest"
|
||||
"--exclude-regex" (string-join disabled-tests "|")
|
||||
"-j" (if parallel-tests?
|
||||
(number->string (parallel-job-count))
|
||||
"1")
|
||||
"--rerun-failed"
|
||||
"-R" "^test_ssl$"
|
||||
"-j" jobs
|
||||
"--timeout" timeout
|
||||
"--output-on-failure"))))))))
|
||||
(inputs (list boost openssl))
|
||||
(native-inputs
|
||||
|
|
Loading…
Reference in a new issue