aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorRaghav Gururajan <rg@raghavgururajan.name>2021-04-07 16:42:25 -0400
committerRaghav Gururajan <rg@raghavgururajan.name>2021-04-16 11:27:33 -0400
commit68beb9c8535779e69ea5158ed33742b6d0cca76d (patch)
treeed64b014a17f37abb9bc0ba94cbae0652504833e /gnu
parent6f760abd4dc2ce866fc4c886fe996f24f1458b92 (diff)
downloadguix-68beb9c8535779e69ea5158ed33742b6d0cca76d.tar
guix-68beb9c8535779e69ea5158ed33742b6d0cca76d.tar.gz
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.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/ibus.scm31
1 files changed, 27 insertions, 4 deletions
diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm
index 3f151d9cd7..fa12499bb9 100644
--- a/gnu/packages/ibus.scm
+++ b/gnu/packages/ibus.scm
@@ -76,8 +76,7 @@
(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 @@
"--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 @@
(("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 @@
(("\"(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 @@
("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")