Subject: Re: [bug#28616] disable failing bluez test

From: Thomas Danckaert <[email-masked]>
Date: Wed, 11 Oct 2017 18:10:58 +0200 (CEST)

From: Marius Bakke <[email-masked]>
Subject: Re: [bug#28616] disable failing bluez test
Date: Tue, 10 Oct 2017 23:40:39 +0200

> Thomas Danckaert <[email-masked]> writes:
> 
>> From: Marius Bakke <[email-masked]>
>> Subject: Re: [bug#28616] disable failing bluez test
>> Date: Tue, 03 Oct 2017 23:50:56 +0200
>>
>>> I think we should apply the patch regardless (on 'core-updates'), with a
>>> link to the upstream discussion.  IMO it's more important to be able to
>>> build from source regardless of hardware, than running this one unit
>>> test.  What do you think?
>>
>> I agree.
>>
>> I'll push this to core-updates then.
> 
> On second thought, "bluez" is currently failing on armhf, seemingly due
> to the original patch: <https://hydra.gnu.org/build/2304811/nixlog/4/raw>

I believe attached patch does the job for master, just touching armhf
and leaving other architectures alone.  I tested it by replacing
armhf-linux with x86_64-linux, and then it skips the test ...

WDYT?

Thomas
>From 89eb8efeb650d53085fa36f42b5615f6cf4717b6 Mon Sep 17 00:00:00 2001
From: Thomas Danckaert <[email-masked]>
Date: Wed, 11 Oct 2017 18:05:24 +0200
Subject: [PATCH] WIP fix bluez.

---
 gnu/packages/linux.scm | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 8ef7a105d..34230cd15 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -3049,6 +3049,16 @@ Bluetooth audio output devices like headphones or loudspeakers.")
                (string-append "--with-udevdir=" out "/lib/udev")))
        #:phases
        (modify-phases %standard-phases
+         ,@(if (string=? (%current-system) "armhf-linux")
+               ;; This test fails unpredictably.
+               ;; TODO: skip it for all architectures.
+               `((add-before 'check 'skip-wonky-test
+                  (lambda _
+                    (substitute* "unit/test-gatt.c"
+                      (("tester_init\\(&argc, &argv\\);") "return 77;"))
+                    #t)))
+               `())
+
          (add-after 'install 'post-install
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (let* ((out        (assoc-ref outputs "out"))
@@ -3067,12 +3077,7 @@ Bluetooth audio output devices like headphones or loudspeakers.")
                   (string-append out "/lib/udev/hid2hci --method"))
                  (("/sbin/udevadm")
                   (string-append (assoc-ref inputs "eudev") "/bin/udevadm")))
-               #t))))
-
-       ;; FIXME: Skip one test that segfaults on ARM.
-       ,@(if (string=? (%current-system) "armhf-linux")
-             '(#:make-flags '("XFAIL_TESTS=unit/test-gatt"))
-             '())))
+               #t))))))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("gettext" ,gettext-minimal)))
-- 
2.14.2