summary refs log tree commit diff
path: root/gnu/packages/kde-frameworks.scm
diff options
context:
space:
mode:
authorHartmut Goebel <h.goebel@crazy-compilers.com>2017-06-05 00:42:08 +0200
committerHartmut Goebel <h.goebel@crazy-compilers.com>2017-06-08 18:59:53 +0200
commited4a3ec68c24693fcefe8ca7c1f55d62cc5bf482 (patch)
treedc2510dbaaa63819f9072112a771a403852b2643 /gnu/packages/kde-frameworks.scm
parent3406d0b3a97b93f43c1cd3c20293ec6f6d125b53 (diff)
downloadguix-ed4a3ec68c24693fcefe8ca7c1f55d62cc5bf482.tar.gz
gnu: kwindowsystem: Fix some test-cases (test-suite still disabled).
Make five tests pass, three are still failing – thus the test-suite is still
disabled. This commit's aim is to retain the progress.

* gnu/packages/kde-frameworks.scm (kwindowsystem)[native-inputs]: Add dbus.
  [arguments]<#:test?>: Change comment. <#:phases>: Replace phase `check` by
  new one befind 'install'.
Diffstat (limited to 'gnu/packages/kde-frameworks.scm')
-rw-r--r--gnu/packages/kde-frameworks.scm27
1 files changed, 26 insertions, 1 deletions
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index e9c8b887bc..18e445e215 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -1013,6 +1013,7 @@ configuration pages, message boxes, and password requests.")
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
        ("pkg-config" ,pkg-config)
+       ("dbus" ,dbus) ; for the tests
        ("qttools" ,qttools)
        ("xorg-server" ,xorg-server))) ; for the tests
     (inputs
@@ -1021,7 +1022,31 @@ configuration pages, message boxes, and password requests.")
        ("qtx11extras" ,qtx11extras)
        ("xcb-utils-keysyms" ,xcb-util-keysyms)))
     (arguments
-     `(#:tests? #f)) ; FIXME: 8/10 tests fail.
+     `(#:tests? #f ; FIXME: 3/12 tests fail.
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'check)
+         (add-after 'install 'check
+           (lambda* (#:key inputs outputs tests? #:allow-other-keys)
+             ;; TODO: Simplify and use "common" phases when test-suite passes
+             (if tests?
+                 (begin
+                   (let ((out (assoc-ref outputs "out")))
+                     (setenv "QT_PLUGIN_PATH"
+                             (string-append out "/lib/plugins:"
+                                            (getenv "QT_PLUGIN_PATH"))))
+                   ;; The test suite requires a running X server, setting
+                   ;; QT_QPA_PLATFORM=offscreen does not suffice and even make
+                   ;; some tests fail.
+                   (system (string-append (assoc-ref inputs "xorg-server")
+                                          "/bin/Xvfb :1 -screen 0 640x480x24 &"))
+                   (setenv "DISPLAY" ":1")
+                   (setenv "CTEST_OUTPUT_ON_FAILURE" "1")
+                   (setenv "DBUS_FATAL_WARNINGS" "0")
+                   (zero? (system* "dbus-launch" "ctest" ".")))
+                 (begin
+                   (format #t "test suite not run~%")
+                   #t)))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "KDE access to the windowing system")
     (description "KWindowSystem provides information about and allows