summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-01-03 16:47:19 +0100
committerLudovic Courtès <ludo@gnu.org>2014-01-03 16:47:19 +0100
commitf5ac2352e94ea9e56f3397cb5e9e9f922d8dc1e8 (patch)
tree3e5409adbb72edad0f7371383e2073f1b9806f6b
parentbf0018cd87e6a0f706a4298d5c6f62e7ef7f5d16 (diff)
downloadguix-f5ac2352e94ea9e56f3397cb5e9e9f922d8dc1e8.tar.gz
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.
-rw-r--r--gnu-system.am1
-rw-r--r--gnu/packages/patches/pulseaudio-volume-test.patch29
-rw-r--r--gnu/packages/pulseaudio.scm15
3 files changed, 35 insertions, 10 deletions
diff --git a/gnu-system.am b/gnu-system.am
index 373dd5d9d7..fbf61d6ec1 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -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		\
diff --git a/gnu/packages/patches/pulseaudio-volume-test.patch b/gnu/packages/patches/pulseaudio-volume-test.patch
new file mode 100644
index 0000000000..2cfa0cd6ca
--- /dev/null
+++ b/gnu/packages/patches/pulseaudio-volume-test.patch
@@ -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
diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm
index a2e8217422..91bbe2d77a 100644
--- a/gnu/packages/pulseaudio.scm
+++ b/gnu/packages/pulseaudio.scm
@@ -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)