gnu: ibus: Enable tests.

* gnu/packages/ibus.scm (ibus)[arguments](tests): Remove argument.
[patches](disable-failing-tests): New phase.
(pre-check): New phase.
[native-inputs]: Add xorg-server-for-tests.
This commit is contained in:
Raghav Gururajan 2021-04-07 16:42:25 -04:00
parent 6f760abd4d
commit 68beb9c853
No known key found for this signature in database
GPG key ID: 5F5816647F8BE551

View file

@ -76,8 +76,7 @@ (define-public ibus
(build-system glib-or-gtk-build-system)
(outputs '("out" "doc"))
(arguments
`(#:tests? #f ; tests fail because there's no connection to dbus
#:parallel-build? #f ; race condition discovered with emoji support
`(#:parallel-build? #f ; race condition discovered with emoji support
#:configure-flags (list "--enable-python-library"
"--enable-gtk-doc"
"--enable-memconf"
@ -95,6 +94,14 @@ (define-public ibus
"--enable-wayland")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-tests
(lambda _
;; These tests require /etc/machine-id.
(with-directory-excursion "src/tests"
(substitute* '("ibus-share.c" "ibus-compose.c"
"ibus-keypress.c")
(("[ \t]*return g_test_run \\(\\);") "")))
#t))
(add-after 'unpack 'patch-docbook-xml
(lambda* (#:key inputs #:allow-other-keys)
(with-directory-excursion "docs/reference/ibus"
@ -102,7 +109,7 @@ (define-public ibus
(("http://www.oasis-open.org/docbook/xml/4.1.2/")
(string-append (assoc-ref inputs "docbook-xml")
"/xml/dtd/docbook/"))))
#t))
#t))
(add-after 'unpack 'patch-python-target-directories
(lambda* (#:key outputs #:allow-other-keys)
(let ((root (string-append (assoc-ref outputs "out")
@ -139,6 +146,20 @@ (define-public ibus
(("\"(setxkbmap|xmodmap)\"" _ prog)
(string-append "\"" (assoc-ref inputs prog) "/bin/" prog "\"")))
#t))
(add-before 'check 'pre-check
(lambda _
;; Tests write to $HOME.
(setenv "HOME" (getcwd))
;; Tests look for $XDG_RUNTIME_DIR.
(setenv "XDG_RUNTIME_DIR" (getcwd))
;; For missing '/etc/machine-id'.
(setenv "DBUS_FATAL_WARNINGS" "0")
;; Tests require a running X server.
(system "Xvfb :1 +extension GLX &")
(setenv "DISPLAY" ":1")
;; Tests require running iBus daemon.
(system "./bus/ibus-daemon --daemonize")
#t))
(add-after 'install 'move-doc
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@ -186,12 +207,14 @@ (define-public ibus
("gettext" ,gettext-minimal)
("gnome-common" ,gnome-common)
("gobject-introspection" ,gobject-introspection) ; for g-ir-compiler
("gtk+:bin" ,gtk+ "bin")
("gtk-doc" ,gtk-doc)
("perl" ,perl)
("pkg-config" ,pkg-config)
("python-wrapper" ,python-wrapper)
("vala" ,vala)
("which" ,which)))
("which" ,which)
("xorg-server" ,xorg-server-for-tests)))
(native-search-paths
(list (search-path-specification
(variable "IBUS_COMPONENT_PATH")