diff options
author | Tobias Geerinckx-Rice <me@tobias.gr> | 2017-12-21 18:37:31 +0100 |
---|---|---|
committer | Tobias Geerinckx-Rice <me@tobias.gr> | 2017-12-21 18:43:01 +0100 |
commit | 00840ee004151c15c2207ea18efa153d49449435 (patch) | |
tree | 1ab3175166476788817e93f3c6996cf9ff5ca2e0 | |
parent | f45e314e19c903d2686d11184ecc689ffb444c0a (diff) | |
download | gnu-guix-00840ee004151c15c2207ea18efa153d49449435.tar gnu-guix-00840ee004151c15c2207ea18efa153d49449435.tar.gz |
gnu: weechat: Run tests.
* gnu/packages/irc.scm (weechat)[native-inputs]: Add cpputest.
[arguments]: Add ‘-DENABLE_TESTS=ON’ to #:configure-flags. Add
‘disable-failing-tests’ phase to do just that. Run the others.
-rw-r--r-- | gnu/packages/irc.scm | 40 |
1 files changed, 29 insertions, 11 deletions
diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm index 0e0813c1cb..ec329ade7e 100644 --- a/gnu/packages/irc.scm +++ b/gnu/packages/irc.scm @@ -163,8 +163,11 @@ SILC and ICB protocols via plugins.") "1l854dramvn9vfba7jpazkjwm4k4i5pshq58vjv6z2mxmcp5hhv9")) (patches (search-patches "weechat-python.patch")))) (build-system cmake-build-system) - (native-inputs `(("gettext" ,gettext-minimal) - ("pkg-config" ,pkg-config))) + (native-inputs + `(("gettext" ,gettext-minimal) + ("pkg-config" ,pkg-config) + ;; For tests. + ("cpputest" ,cpputest))) (inputs `(("ncurses" ,ncurses) ("libgcrypt" ,libgcrypt "out") ("zlib" ,zlib) @@ -177,15 +180,30 @@ SILC and ICB protocols via plugins.") ("perl" ,perl) ("tcl" ,tcl))) (arguments - `(#:tests? #f ; tests require cpputime - #:phases (modify-phases %standard-phases - (add-after 'install 'wrap - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (py2 (assoc-ref inputs "python"))) - (wrap-program (string-append out "/bin/weechat") - `("PATH" ":" prefix (,(string-append py2 "/bin")))) - #t)))))) + `(#:configure-flags + (list "-DENABLE_TESTS=ON") ; ‘make test’ fails otherwise + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-failing-tests + ;; For reasons best left to the imagination, CppUTest cannot skip + ;; more than one single test... Resort to manual patching instead. + ;; See <https://cpputest.github.io/manual.html#command_line>. + (λ _ + ;; Don't test plugin support for languages we don't enable. + (substitute* "tests/unit/test-plugins.cpp" + ((".*\\$\\{plugin.name\\} == (javascript|php|ruby)" all) + (string-append "// SKIP" all))) + (substitute* "tests/scripts/test-scripts.cpp" + ((".*\\{ \"(jvascript|php|ruby)\", " all) ; sic + (string-append "// SKIP" all))) + #t)) + (add-after 'install 'wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (py2 (assoc-ref inputs "python"))) + (wrap-program (string-append out "/bin/weechat") + `("PATH" ":" prefix (,(string-append py2 "/bin")))) + #t)))))) (synopsis "Extensible chat client") (description "WeeChat (Wee Enhanced Environment for Chat) is an @dfn{Internet Relay Chat} (IRC) client, which is designed to be light and fast. |