bug-autogen
[Top][All Lists]
Advanced

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

[Bug-autogen] test failure with guile-2.0.2


From: Elias Pipping
Subject: [Bug-autogen] test failure with guile-2.0.2
Date: Sun, 10 Jul 2011 00:11:31 +0200 (CEST)

Hello,

with autogen 5.12 and guile 2.0.2 I get a test failure that I do not
get with the same version of autogen and guile 2.0.2.

The failing test is string.test.

It fails because instead of ending with \001\002\003\377 as expected,
a generated string ends with \001\002\003?. I'm attaching the relevant
output. Here's a snippet passed through `od -c`:

0002060   h   a   s   s   l   e   "   . 001 002 003 377  \r  \n   '   <
0002260   h   a   s   s   l   e   "   . 001 002 003   ?  \r  \n   '   <

where the first line is expected and the second line is what's
actually returned.

I'm also attaching a script that reproduces the problem and can be run
from inside a checkout of the guile git repository. It builds guile,
installs it to a temporary location, then builds autogen 5.12 and
makes it use that version of guile; In conjunction with git-bisect,
this revealed that the following commit is to blame:

commit 95f5e303bc7f6174255b12fd1113d69364863762
Author: Andy Wingo <address@hidden>
Date:   Thu Mar 17 18:29:08 2011 +0100

    scm_{to,from}_locale_string use current locale, not current ports
    
    * libguile/strings.c (scm_to_locale_stringn, scm_from_locale_stringn):
      Use the encoding of the current locale, not of the current i/o ports.
      Also use the current conversion strategy.
    
    * doc/ref/api-data.texi (Conversion to/from C): Update docs.

See also [1].


Best regards,

Elias Pipping


[1] 
http://git.savannah.gnu.org/gitweb/?p=guile.git;a=commit;h=95f5e303bc7f6174255b12fd1113d69364863762

creating string.def
>string-> ./string ''\''
      

\f\r\b\v\t\a\n
"Wow!"  This'\''ll be \hard\'\''
#endif /* .
and it'\''ll be a "hassle".?
'\''' ''\''
      

\f\r\b\v\t\a\n
"Wow!"  This'\''ll be \hard\'\''
#endif /* .
and it'\''ll be a "hassle".?
'\'''
'C' program generated string mismatches at offset 90 of 93
Expected string:
==>'
      

\f\r\b\v\t\a\n
"Wow!"  This'll be \hard\'
#endif /* .
and it'll be a "hassle".ÿ
'<==

Generated string:
-->'
      

\f\r\b\v\t\a\n
"Wow!"  This'll be \hard\'
#endif /* .
and it'll be a "hassle".?
'<--

K&R 'C' program generated string mismatches at offset 90 of 93
Expected string:
==>'
      

\f\r\b\v\t\a\n
"Wow!"  This'll be \hard\'
#endif /* .
and it'll be a "hassle".ÿ
'<==

Generated string:
-->'
      

\f\r\b\v\t\a\n
"Wow!"  This'll be \hard\'
#endif /* .
and it'll be a "hassle".?
'<--

Raw shell generated string mismatches at offset 90 of 93
Expected string:
==>'
      

\f\r\b\v\t\a\n
"Wow!"  This'll be \hard\'
#endif /* .
and it'll be a "hassle".ÿ
'<==

Generated string:
-->'
      

\f\r\b\v\t\a\n
"Wow!"  This'll be \hard\'
#endif /* .
and it'll be a "hassle".?
'<--

Cooked shell generated string mismatches at offset 90 of 93
Expected string:
==>'
      

\f\r\b\v\t\a\n
"Wow!"  This'll be \hard\'
#endif /* .
and it'll be a "hassle".ÿ
'<==

Generated string:
-->'
      

\f\r\b\v\t\a\n
"Wow!"  This'll be \hard\'
#endif /* .
and it'll be a "hassle".?
'<--

>string-> res=4
>string-> cmp string.out string.raw
>string-> '[' 0 -ne 0 ']'
>string-> '[' 4 -eq 0 ']'
>string-> echo There were 4 string test failures
There were 4 string test failures
>string-> exit 4
FAILURE: strings do not match
FAIL: string.test
#!/bin/bash

TARBALL=/var/cache/paludis/distfiles/autogen-5.12.tar.bz2

GUILE_TEMP=${HOME}/guile-temp
AUTOGEN_TEMP=${HOME}/autogen-temp

rm -rf ${GUILE_TEMP}
rm -rf ${AUTOGEN_TEMP}/autogen-5.12
git clean -fdx
bash autogen.sh || exit 125
/configure --prefix=${GUILE_TEMP} || exit 125
make || exit 125
make install || exit 125

rm -rf ${AUTOGEN_TEMP}
mkdir ${AUTOGEN_TEMP}
cd ${AUTOGEN_TEMP} || exit 125
tar xf ${TARBALL} || exit 125
cd autogen-5.12 || exit 125
PATH=${GUILE_TEMP}/bin:$PATH ./configure 
--with-libguile-libs=-L${GUILE_TEMP}/lib/ || exit 125
make || exit 125
make -C agen5/test check NOSHELL_TESTS=string.test SHELL_TESTS=

reply via email to

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