summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomas Volf <~@wolfsden.cz>2023-12-02 01:28:54 +0100
committerLudovic Courtès <ludo@gnu.org>2023-12-06 23:50:05 +0100
commitfb2bbb0c3e9734006a4108a5c4f9901dbf15edae (patch)
treedf78b638bd1cba12f6673d7bdac630a7db0b5966
parent0399d5b6101522901b69b985010736505fdf9354 (diff)
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>
-rw-r--r--gnu/packages/bittorrent.scm46
1 files changed, 30 insertions, 16 deletions
diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
index 6f75a92cff..e115c13017 100644
--- a/gnu/packages/bittorrent.scm
+++ b/gnu/packages/bittorrent.scm
@@ -417,7 +417,7 @@ and will take advantage of multiple processor cores where possible.")
(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 @@ and will take advantage of multiple processor cores where possible.")
"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