From 6d2eb9ebf9a941aa5ee20331d7b4f53302f3f94a Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 19 Jul 2022 15:13:47 -0400 Subject: gnu: opendht: Enable tests. * gnu/packages/networking.scm (opendht) [phases]{disable-problematic-tests}: New phase. {check}: New phase override. [propagated-inputs]: Re-indent comments. --- gnu/packages/networking.scm | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index ec76d1c386..c7e9ac80f4 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -3491,7 +3491,6 @@ (define-public opendht #:modules '(((guix build python-build-system) #:prefix python:) (guix build gnu-build-system) (guix build utils)) - #:tests? #f ;tests require networking #:configure-flags #~(list "--enable-tests" "--enable-proxy-server" @@ -3500,6 +3499,15 @@ (define-public opendht "--enable-proxy-client") #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'disable-problematic-tests + (lambda _ + ;; The dhtrunnertester test suite includes 'testListen', which + ;; is sensitive to the performance/load of the machine it runs + ;; on, introducing nondeterminism (see: + ;; https://github.com/savoirfairelinux/opendht/issues/626). + (substitute* "tests/Makefile.am" + (("tests/dhtrunnertester.(h|cpp)$" all) + (string-append "# " all))))) (add-after 'unpack 'fix-python-installation-prefix ;; Specify the installation prefix for the compiled Python module ;; that would otherwise attempt to installs itself to Python's own @@ -3515,6 +3523,10 @@ (define-public opendht (("extra_link_args=\\[(.*)\\]" _ args) (string-append "extra_link_args=[" args ", '-Wl,-rpath=" #$output "/lib']"))))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "tests/opendht_unit_tests")))) (add-after 'install 'move-and-wrap-tools (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((tools (assoc-ref outputs "tools")) @@ -3531,15 +3543,15 @@ (define-public opendht `("GUIX_PYTHONPATH" prefix (,site-packages))))))))) (inputs (list bash-minimal fmt readline)) (propagated-inputs - (list msgpack ;included in several installed headers - restinio ;included in opendht/http.h + (list msgpack ;included in several installed headers + restinio ;included in opendht/http.h ;; The following are listed in the 'Requires.private' field of ;; opendht.pc: argon2 gnutls jsoncpp nettle - openssl)) ;required for the DHT proxy + openssl)) ;required for the DHT proxy (native-inputs (list autoconf automake -- cgit v1.2.3