diff options
author | Tomas Volf <~@wolfsden.cz> | 2023-12-02 01:28:54 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2023-12-06 23:50:05 +0100 |
commit | fb2bbb0c3e9734006a4108a5c4f9901dbf15edae (patch) | |
tree | df78b638bd1cba12f6673d7bdac630a7db0b5966 | |
parent | 0399d5b6101522901b69b985010736505fdf9354 (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.scm | 46 |
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 |