~ruther/guix-local

f5ac2352e94ea9e56f3397cb5e9e9f922d8dc1e8 — Ludovic Courtès 12 years ago bf0018c
gnu: pulseaudio: Add patch for 'volume-test'; re-enable tests.

* gnu/packages/patches/pulseaudio-volume-test.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/pulseaudio.scm (pulseaudio): Use it.  Remove
  #:tests? #t.
3 files changed, 35 insertions(+), 10 deletions(-)

M gnu-system.am
A gnu/packages/patches/pulseaudio-volume-test.patch
M gnu/packages/pulseaudio.scm
M gnu-system.am => gnu-system.am +1 -0
@@ 276,6 276,7 @@ dist_patch_DATA =						\
  gnu/packages/patches/procps-make-3.82.patch			\
  gnu/packages/patches/pspp-tests.patch				\
  gnu/packages/patches/pulseaudio-test-timeouts.patch		\
  gnu/packages/patches/pulseaudio-volume-test.patch		\
  gnu/packages/patches/python-fix-dbm.patch			\
  gnu/packages/patches/qemu-make-4.0.patch			\
  gnu/packages/patches/qemu-multiple-smb-shares.patch		\

A gnu/packages/patches/pulseaudio-volume-test.patch => gnu/packages/patches/pulseaudio-volume-test.patch +29 -0
@@ 0,0 1,29 @@
Fix seemingly random failures of 'volume-test' in particular on 32-bit
machines.  See <https://bugs.freedesktop.org/show_bug.cgi?id=72374> for
details.

From 27e47c72a25846e107b6e450c3a1480a2742382e Mon Sep 17 00:00:00 2001
From: Tanu Kaskinen <tanu.kaskinen@linux.intel.com>
Date: Sat, 14 Dec 2013 07:21:22 +0000
Subject: volume-test: Increase the allowed number of rouding errors

BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=72374
---
diff --git a/src/tests/volume-test.c b/src/tests/volume-test.c
index a2daf3e..1ab0b5c 100644
--- a/src/tests/volume-test.c
+++ b/src/tests/volume-test.c
@@ -138,7 +138,13 @@ START_TEST (volume_test) {
     pa_log("max deviation: %lu n=%lu", (unsigned long) md, (unsigned long) mdn);
 
     fail_unless(md <= 1);
-    fail_unless(mdn <= 251);
+
+    /* mdn counts the times there were rounding errors during the test. The
+     * number of rounding errors seems to vary slightly depending on the
+     * hardware. The original limit was 251 errors, but it was increased to 253
+     * when the test was failing on Tanu's laptop.
+     * See https://bugs.freedesktop.org/show_bug.cgi?id=72374 */
+    fail_unless(mdn <= 253);
 }
 END_TEST

M gnu/packages/pulseaudio.scm => gnu/packages/pulseaudio.scm +5 -10
@@ 1,5 1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;


@@ 143,7 143,9 @@ parse JSON formatted strings back into the C representation of JSON objects.")
             (sha256
              (base32
               "1bndz4l8jxyq3zq128gzp3gryxl6yjs66j2y1d7yabw2n5mv7kim"))
             (patches (list (search-patch "pulseaudio-test-timeouts.patch")))))
             (patches (map search-patch
                           '("pulseaudio-test-timeouts.patch"
                             "pulseaudio-volume-test.patch")))))
    (build-system gnu-build-system)
    (arguments
     `(#:configure-flags '("--localstatedir=/var" ;"--sysconfdir=/etc"


@@ 154,14 156,7 @@ parse JSON formatted strings back into the C representation of JSON objects.")
                   ;; 'tests/lock-autospawn-test.c' wants to create a file
                   ;; under ~/.config/pulse.
                   (setenv "HOME" (getcwd)))
                 %standard-phases)

       ,@(if (or (string=? (%current-system) "i686-linux")
                 (string=? (%current-system) "mips64el-linux"))
             ;; Work around test failure:
             ;; <https://bugs.freedesktop.org/show_bug.cgi?id=72374>.
             '(#:tests? #f)
             '())))
                 %standard-phases)))
    (inputs
     ;; TODO: Add optional inputs (GTK+?).
     `(;; ("sbc" ,sbc)