[Top][All Lists]
[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=
- [Bug-autogen] test failure with guile-2.0.2,
Elias Pipping <=
Re: [Bug-autogen] test failure with guile-2.0.2, Elias Pipping, 2011/07/11