bug-recutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bug-recutils] [platform-testers] Pre-release recutils 1.4.93 in alp


From: Bruno Haible
Subject: Re: [bug-recutils] [platform-testers] Pre-release recutils 1.4.93 in alpha.gnu.org
Date: Thu, 12 Jan 2012 22:57:17 +0100
User-agent: KMail/4.7.4 (Linux/3.1.0-1.2-desktop; KDE/4.7.4; x86_64; ; )

> The pre-release recutils-1.4.93.tar.gz is now available at
> ftp://alpha.gnu.org/gnu/recutils.

Results:

------------------------------------------------------------------------------

* Linux/x86_64
* Linux/IA-64
* Linux/hppa
* Linux/PowerPC (both 32-bit and 64-bit)
* Linux/SPARC (both 32-bit and 64-bit)
* MacOS X 10.5 (both 32-bit and 64-bit)
* OpenBSD 4.9
* NetBSD 5.1
* HP-UX 11.31
* IRIX 6.5
* Solaris 8
* Cygwin 1.7.9

All 9 tests passed

------------------------------------------------------------------------------

* mingw

Compilation now succeeds. 9 of 9 tests failed.
There are plenty of .diff files, most often because the tools generate
output with Windows line delimiters (CR LF) wherease the testsuite expects
Unix line delimiters (LF). The programs are right; it's the testsuite which
should be changed to accept CR LF in the output. To this effect, I use
a filter
  LC_ALL=C tr -d '\r'
But it needs to be applied in such a way that a failure of the program is
not hidden. Here's a patch. With it, only 1 of 9 tests failed:

--- torture/utils/testutils.sh.bak      2011-12-22 14:49:10.000000000 +0100
+++ torture/utils/testutils.sh  2012-01-12 21:26:06.311875000 +0100
@@ -99,6 +99,7 @@
     ok_file="$1.ok"
     output_file="$1.out"
     error_file="$1.err"
+    postprocessed_output_file="$1.put"
     expected=$6
 
     test_tmpfiles="$test_tmpfiles $output_file $ok_file"
@@ -114,17 +115,18 @@
             printf "%s (see %s)\n" "error" "$error_file"
         else
             # Check for the result in output_file.
+            LC_ALL=C tr -d '\r' < $output_file > $postprocessed_output_file
             printf "%s" "$expected" > $ok_file
-            cmp $ok_file $output_file > /dev/null 2>&1
+            cmp $ok_file $postprocessed_output_file > /dev/null 2>&1
             res=$?
             if test "$res" -eq "0"
             then
                 echo $status
             else
                 printf "%s (see %s)\n" "fail" "$1.diff"
-                diff $ok_file $output_file > $1.diff
+                diff $ok_file $postprocessed_output_file > $1.diff
             fi
-            rm $error_file
+            rm $error_file $postprocessed_output_file
         fi
     fi
 
The remaining failures are:
  recsel-sex-real-equal error (see recsel-sex-real-equal.err)
  recsel-sex-real-nonequal error (see recsel-sex-real-nonequal.err)
  recsel-sex-real-lessthan error (see recsel-sex-real-lessthan.err)
  recsel-sex-real-biggerthan error (see recsel-sex-real-biggerthan.err)
  recsel-sex-real-plus error (see recsel-sex-real-plus.err)
  recsel-sex-real-mul error (see recsel-sex-real-mul.err)


------------------------------------------------------------------------------

* OSF/1 5.1

Compilation error:

cc: Error: recutl.c, line 660: In this declaration, "int32_t" must specify a 
type. (badparsedecl)
      int32_t random_value = 0;
------^
cc: Warning: recutl.c, line 657: In this statement, the referenced type of the 
pointer value "&random_data" is "struct random_data", which is not compatible 
with "pointer to char". (ptrmismatch)
  initstate_r (time(NULL), (char *) &random_state, 128, &random_data);
--------------------------------------------------------^
cc: Error: recutl.c, line 657: In this statement, "initstate_r" expects 5 
arguments, but 4 are supplied. (toofewargs)
  initstate_r (time(NULL), (char *) &random_state, 128, &random_data);
--^
cc: Warning: recutl.c, line 662: In this statement, the referenced type of the 
pointer value "&random_data" is "struct random_data", which is not compatible 
with "int". (ptrmismatch)
      random_r (&random_data, &random_value); /* Can't fail.  */
----------------^
cc: Error: recutl.c, line 662: In this statement, "random_value" is not 
declared. (undeclared)
      random_r (&random_data, &random_value); /* Can't fail.  */
-------------------------------^
*** Exit 1

The first error is because you use 'int32_t' without <stdint.h> (gnulib
module 'stdint' needed for this).

The remaining errors appears to be a bug in gnulib's 'random_r' module.

------------------------------------------------------------------------------

* AIX 5.3, 7.1

  recsel-random-one ./recsel.sh[27]: 278738 Segmentation fault(coredump)
error (see recsel-random-one.err)
FAIL: recsel.sh

  recins-random-one ./recins.sh[25]: 741616 Segmentation fault(coredump)
error (see recins-random-one.err)
FAIL: recins.sh

  recset-random-one ./recset.sh[25]: 811078 Segmentation fault(coredump)
error (see recset-random-one.err)
FAIL: recset.sh

It's most likely the same bug in the Gnulib 'random_r' module as on OSF/1.

------------------------------------------------------------------------------

* MSVC 9

libtool: compile:  /home/bruno/msvc/compile cl -nologo -DHAVE_CONFIG_H -I. 
-I../src -I../intl -D_WIN32_WINNT=_WIN32_WINNT_WINXP -I/usr/local/msvc/include 
-c random_r.c  -DDLL_EXPORT -DPIC -o .libs/random_r.obj
random_r.c
random_r.c(64) : fatal error C1083: cannot open include file "inttypes.h": No 
such file or directory
make[3]: *** [random_r.lo] Error 1

Another bug in gnulib's 'random_r' module.

------------------------------------------------------------------------------

I have fixed the bugs in gnulib's 'random_r' module now; please upgrade to
the newest gnulib.

Bruno

Attachment: recutils-mingw-results.tar.gz
Description: application/compressed-tar


reply via email to

[Prev in Thread] Current Thread [Next in Thread]