Subject: [bug#29103] [PATCH 4/6] gnu: krunner: Make all tests pass.

From: Hartmut Goebel <[email-masked]>
Date: Wed, 1 Nov 2017 15:41:44 +0100

* gnu/packages/kde-frameworks.scm[arguments]
  <#:tests?>: Remove.
  <#:phases>'fix-paths-for-test': New phase.
---
 gnu/packages/kde-frameworks.scm | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index c1cf4e4aa..78290cf1a 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -2747,9 +2747,17 @@ to easily extend the contacts collection.")
        ("solid" ,solid)
        ("threadweaver" ,threadweaver)))
     (arguments
-     `(#:tests? #f ; FIXME: 1/1 tests fail.
-       #:phases
+     `(#:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'fix-paths-for-test
+           ;; This test tries to access paths like /home, /usr/bin and /bin/ls
+           ;; which don't exist in the build-container. Change to existing paths.
+           (lambda _
+             (substitute* "autotests/runnercontexttest.cpp"
+               (("/home\"") "/tmp\"") ;; single path-part
+               (("//usr/bin\"") (string-append (getcwd) "\"")) ;; multiple path-parts
+               (("/bin/ls" path)
+                (string-append (assoc-ref %build-inputs "coreutils") path)))))
          (add-before 'check 'check-setup
            (lambda _
              (setenv "HOME" (getcwd))
-- 
2.13.5