This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: XFAILing V3 tests.
Zack Weinberg writes:
> Mark Mitchell <mark at codesourcery dot com> writes:
>
> > There seem to be a lot of V3 tests that fail all the time; most of these
> > have wchar_t in their names. I assume these fail only on some systems.
> >
> > Would one of the V3 volunteers be so kind as to XFAIL these tests? There
> > is no way to see the forest for the trees otherwise; on my system I get 69
> > failures, which means that if I add one more I will never see it.
>
> You probably don't have enough locales installed. This is the list I
> worked out by trial and error:
>
> de_DE ISO-8859-1
> de_DE at euro ISO-8859-15
> en_HK ISO-8859-1
> en_PH ISO-8859-1
> en_US ISO-8859-1
> en_US.UTF-8 UTF-8
> en_US.ISO-8859-15 ISO-8859-15
> es_MX ISO-8859-1
> fr_FR at euro ISO-8859-15
> it_IT ISO-8859-1
> ja_JP.EUC-JP EUC-JP
>
> On a Debian system, splat that list into /etc/locale-gen and run
> /usr/sbin/locale-gen; libstdc++ test results should then be
If you cannot install these locales on your own, you can build them
before running the testsuite. I'm using the script attached. Then set
the env var LOCPATH to `pwd`/locales before running these tests.
Your list varies a bit. Seems we could need some documentation, which
locales are actually used by the testsuite.
> I have no idea how to do that on other operating systems, or even other
> Linux distributions.
AFIIK other distributions have the locale data all pregenerated.
Matthias
#!/bin/sh
LOCPATH=`pwd`/locales
export LOCPATH
[ -d $LOCPATH ] || mkdir -p $LOCPATH
umask 022
echo "Generating locales..."
while read locale charset; do
case $locale in \#*) continue;; esac
[ -n "$locale" -a -n "$charset" ] || continue
echo -n " `echo $locale | sed 's/\([^ dot \ at ]*\).*/\1/'`"
echo -n ".$charset"
echo -n `echo $locale | sed 's/\([^\ at ]*\)\(\ at dot *\)*/\2/'`
echo -n '...'
if [ -f $LOCPATH/$locale ]; then
input=$locale
else
input=`echo $locale | sed 's/\([^.]*\)[^ at ]*\(.*\)/\1\2/'`
fi
localedef -i $input -c -f $charset $LOCPATH/$locale #-A /etc/locale.alias
echo ' done'; \
done <<EOF
# This file lists locales that the libstdc++ testsuite depends on
de_DE ISO-8859-1
de_DE at euro ISO-8859-15
en_HK ISO-8859-1
en_PH ISO-8859-1
en_US ISO-8859-1
en_US ISO-8859-15
en_US UTF-8
es_MX ISO-8859-1
fr_FR ISO-8859-1
fr_FR at euro ISO-8859-15
it_IT ISO-8859-1
ja_JP EUC-JP
EOF
echo "Generation complete."