From: Jan Schmidt Date: Thu, 8 Oct 2009 23:14:07 +0000 (+0100) Subject: check: Make the level unit test succeed on Solaris 10 X-Git-Tag: 1.19.3~509^2~9583 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=993a29a39064e3afe070eb08e99ee50caea66242;p=platform%2Fupstream%2Fgstreamer.git check: Make the level unit test succeed on Solaris 10 Add a configure check for functional isinf() and fpclass(), and use fpclass() where possible when isinf() is not available. --- diff --git a/configure.ac b/configure.ac index e764914..3137875 100644 --- a/configure.ac +++ b/configure.ac @@ -175,9 +175,17 @@ dnl *** checks for library functions *** LIBS_SAVE=$LIBS LIBS="$LIBS $LIBM" -AC_CHECK_FUNCS(rint sinh cosh asinh) +AC_CHECK_FUNCS(rint sinh cosh asinh fpclass) LIBS=$LIBS_SAVE +dnl Check whether isinf() is defined by math.h +AC_CACHE_CHECK([for isinf], ac_cv_have_isinf, + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[float f = 0.0; int i=isinf(f)]])],[ac_cv_have_isinf="yes"],[ac_cv_have_isinf="no"])) +if test "$ac_cv_have_isinf" = "yes" +then + AC_DEFINE(HAVE_ISINF, 1, [Define to 1 if you have the `isinf' function.]) +fi + dnl Check for mmap (needed by electricfence plugin) AC_FUNC_MMAP AM_CONDITIONAL(GST_HAVE_MMAP, test "x$ac_cv_func_mmap_fixed_mapped" == "xyes") diff --git a/tests/check/elements/level.c b/tests/check/elements/level.c index 558a1c6..e37c022 100644 --- a/tests/check/elements/level.c +++ b/tests/check/elements/level.c @@ -256,7 +256,11 @@ GST_START_TEST (test_int16_panned) value = gst_value_list_get_value (list, 0); dB = g_value_get_double (value); GST_DEBUG ("%s[0] is %lf", fields[j], dB); - fail_if (!isinf (dB)); +#ifdef HAVE_ISINF + fail_unless (isinf (dB)); +#elif HAVE_FPCLASS + fail_unless (fpclass (dB) == FP_NINF); +#endif } /* block wave of half amplitude has -5.94 dB for rms, peak and decay */ for (j = 0; j < 3; ++j) {