glibc/localedata
Joseph Myers f214606a0e Enumerate tests with special rules in tests-special variable.
This patch is a revised and updated version of
<https://sourceware.org/ml/libc-alpha/2014-01/msg00196.html>.

In order to generate overall summaries of the results of all tests in
the glibc testsuite, we need to identify and concatenate the files
with the results of individual tests.

Tomas Dohnalek's patch used $(common-objpfx)*/*.test-result for this.
However, the normal glibc approach is explicit enumeration of the
expected set of files with a given property, rather than all files
matching some pattern like that.  Furthermore, we would like to be
able to mark tests as UNRESOLVED if the file with their results is for
some reason missing, and in future we would like to be able to mark
tests as UNSUPPORTED if they are disabled for a particular
configuration (rather than simply having them missing from the list of
tests as at present).  Such handling of tests that were not run or did
not record results requires an explicit enumeration of tests.

For the tests following the default makefile rules, $(tests) (and
$(xtests)) provides such an enumeration.  Others, however, are added
directly as dependencies of the "tests" and "xtests" makefile
targets.  This patch changes the makefiles to put them in variables
tests-special and xtests-special, with appropriate dependencies on the
tests listed there then being added centrally.

Those variables are used in Rules and so need to be set before Rules
is included in a subdirectory makefile, which is often earlier in the
makefile than the dependencies were present before.  We previously
discussed the question of where to include Rules; see the question at
<https://sourceware.org/ml/libc-alpha/2012-11/msg00798.html>, and a
discussion in
<https://sourceware.org/ml/libc-alpha/2013-01/msg00337.html> of why
Rules is included early rather than late in subdirectory makefiles.

It was necessary to avoid an indirection through the check-abi target
and get the check-abi-* targets for individual libraries into the
tests-special variable.  The intl/ test $(objpfx)tst-gettext.out,
previously built only because of dependencies from other tests, was
also added to tests-special for the same reason.

The entries in tests-special are the full makefile targets, complete
with $(objpfx) and .out.  If a future change causes tests to be named
consistently with a .out suffix, this can be changed to include just
the path relative to $(objpfx), without .out.

Tested x86_64, including that the same set of files is generated in
the build directory by a build and testsuite run both before and after
the patch (except for changes to the
elf/tst-null-argv.debug.out.<number> file name), and a build with
run-built-tests=no to verify there aren't any more obvious instances
of the issue Marcus Shawcroft reported with a previous version in
<https://sourceware.org/ml/libc-alpha/2014-01/msg00462.html>.

	* Makefile (tests): Change dependencies to ....
	(tests-special): ... additions to this variable.
	(tests): Depend on $(tests-special).
	* Makerules (check-abi-list): New variable.
	(check-abi): Depend on $(check-abi-list).
	[$(subdir) = elf] (tests-special): Add
	$(objpfx)check-abi-libc.out.
	[$(build-shared) = yes && subdir] (tests-special): Add
	$(check-abi-list).
	[$(build-shared) = yes && subdir] (tests): Do not depend on
	check-abi.
	* Rules (tests): Depend on $(tests-special).
	(xtests): Depend on $(xtests-special).
	* catgets/Makefile (tests): Change dependencies to ....
	(tests-special): ... additions to this variable.
	* conform/Makefile (tests): Change dependencies to ....
	(tests-special): ... additions to this variable.
	* elf/Makefile (tests): Change dependencies to ....
	(tests-special): ... additions to this variable.
	* grp/Makefile (tests): Change dependencies to ....
	(tests-special): ... additions to this variable.
	* iconv/Makefile (xtests): Change dependencies to ....
	(xtests-special): ... additions to this variable.
	* iconvdata/Makefile (tests): Change dependencies to ....
	(tests-special): ... additions to this variable.
	* intl/Makefile (tests): Change dependencies to ....
	(tests-special): ... additions to this variable.  Also add
	$(objpfx)tst-gettext.out.
	* io/Makefile (tests): Change dependencies to ....
	(tests-special): ... additions to this variable.
	* libio/Makefile (tests): Change dependencies to ....
	(tests-special): ... additions to this variable.
	* malloc/Makefile (tests): Change dependencies to ....
	(tests-special): ... additions to this variable.
	* misc/Makefile (tests): Change dependencies to ....
	(tests-special): ... additions to this variable.
	* nptl/Makefile (tests): Change dependencies to ....
	(tests-special): ... additions to this variable.
	* nptl_db/Makefile (tests): Change dependencies to ....
	(tests-special): ... additions to this variable.
	* posix/Makefile (tests): Change dependencies to ....
	(tests-special): ... additions to this variable.
	(xtests): Change dependencies to ....
	(xtests-special): ... additions to this variable.
	* resolv/Makefile (tests): Change dependencies to ....
	(tests-special): ... additions to this variable.
	(xtests): Change dependencies to ....
	(xtests-special): ... additions to this variable.
	* stdio-common/Makefile (tests): Change dependencies to ....
	(tests-special): ... additions to this variable.
	(do-tst-unbputc): Remove target.
	(do-tst-printf): Likewise.
	* stdlib/Makefile (tests): Change dependencies to ....
	(tests-special): ... additions to this variable.
	* string/Makefile (tests): Change dependencies to ....
	(tests-special): ... additions to this variable.
	* sysdeps/x86/Makefile (tests): Change dependencies to ....
	(tests-special): ... additions to this variable.

localedata:
	* Makefile (tests): Change dependencies to ....
	(tests-special): ... additions to this variable.
2014-03-06 22:35:33 +00:00
..
charmaps Update BIG5-HKSCS charmap to HKSCS-2008 2013-06-11 17:02:59 +02:00
locales Add lang_name to various locales. 2013-12-26 19:35:18 -05:00
tests Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tests-mbwc Remove unused variable. 2013-11-18 13:12:29 +01:00
tst-fmon-locales Update. 2003-12-05 09:51:08 +00:00
bug-iconv-trans.c
bug-setlocale1-static.c Support run bug-setlocale1 directly 2013-01-10 14:15:49 -08:00
bug-setlocale1.c Support run bug-setlocale1 directly 2013-01-10 14:15:49 -08:00
bug-usesetlocale.c * locale/lc-ctype.c (_nl_postload_ctype): Update _nl_global_locale's 2003-10-31 23:35:42 +00:00
ChangeLog Enumerate tests with special rules in tests-special variable. 2014-03-06 22:35:33 +00:00
collate-test.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
cs_CZ.in
da_DK.in * stdio-common/vfscanf.c: Remove unused WIDTH handling. 2007-02-18 09:25:25 +00:00
de_DE.in * locale/programs/locfile-token.h: Remove tok_elif, add tok_elifdef 2007-10-11 02:36:04 +00:00
Depend
dump-ctype.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
en_US.in
fr_FR.in * string/strcoll_l.c (STRCOLL): Correct test for alloca use. 2007-10-02 17:19:53 +00:00
gen-locale.sh Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
gen-unicode-ctype.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
hr_HR.in
Makefile Enumerate tests with special rules in tests-special variable. 2014-03-06 22:35:33 +00:00
README Change sources.redhat.com references to sourceware.org. 2012-12-06 15:32:46 +00:00
show-ucs-data.c [BZ #4098] 2007-10-14 20:51:58 +00:00
si_LK.in [BZ #6947] 2008-10-31 17:29:46 +00:00
sort-test.sh Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
SUPPORTED New locale for the_NP. 2013-11-15 15:57:56 -05:00
sv_SE.in
th_TH.in
tr_TR.in [BZ #19] 2004-08-07 23:38:40 +00:00
tst-ctype-de_DE.ISO-8859-1.in
tst-ctype.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-ctype.sh Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-digits.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-fmon.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-fmon.data Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-fmon.sh Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-langinfo.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-langinfo.sh Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-leaks.c
tst-locale.sh Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-mbswcs1.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-mbswcs2.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-mbswcs3.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-mbswcs4.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-mbswcs5.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-mbswcs6.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-mbswcs.sh Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-numeric.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-numeric.data Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-numeric.sh Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-rpmatch.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-rpmatch.sh Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-setlocale2.c Optimize access to isXYZ and toXYZ tables 2011-10-15 16:27:08 -04:00
tst-setlocale.c
tst-sscanf.c Use fa_IR.UTF-8 which exists internally. 2007-03-14 22:32:31 +00:00
tst-strfmon1.c [BZ #2420] 2006-04-26 05:52:58 +00:00
tst-trans.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-trans.sh Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-wctype.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-wctype.input
tst-wctype.sh Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-xlocale1.c
tst-xlocale2.c
xfrm-test.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00

		       POSIX locale descriptions
				  and
		    POSIX character set descriptions

Ulrich Drepper			Time-stamp: <2004/11/27 13:06:54 drepper>
drepper@redhat.com


This directory contains the data needed to build the locale data files
to use the internationalization features of the GNU libc.

POSIX.2 describes the `localedef' utility which is part of the GNU libc.
You need this program to "compile" the locale description in a form
suitable for fast access by the GNU libc functions.  Any compilation is
based on a given character set.

Once you run `make install' for the GNU libc the data files are
automatically installed in the right place, ready for use by the
`localedef' program.

To compile the locale data files you simply have to decide which locale
(based on the location and the language) and which character set you
use.  E.g., French speaking Canadians would use the locale `fr_CA' and
the character set `ISO_8859-1,1987'.  Calling `localedef' to get the
desired data should happen like this:

	localedef -i fr_CA -f ISO-8859-1 fr_CA

This will place the 6 output files in the appropriate directory where
the GNU libc functions can find them.  Please note that you need
permission to write to this directory ($(prefix)/share/locale, where
$(prefix) is the value you specified while configuring GNU libc).  If
you do not have the necessary permissions, you can write the files into an
arbitrary directory by giving a path including a '/' character instead
of `fr_CA'.  E.g., to put the new files in a subdirectory of the
current directory simply use

	localedef -i fr_CA -f ISO-8859-1 ./fr_CA

How to use these data files is described in the GNU libc manual,
especially in the section describing the `setlocale' function.

All problems should be reported using

  http://sourceware.org/bugzilla/


One more note: the `POSIX' locale definition is not meant to be used
as an input file for `localedef'.  It is rather there to show the
values with are built in the libc binaries as default values when no
legal locale is found or the "C" or "POSIX" locale is selected.


		       The collation test suite
		       ########################

This package also contains a (beginning of a) test suite for the
collation functions in the GNU libc.  The files are provided sorted.
The test program shuffles the lines and sort them afterwards.

Some of the files are provided in 8bit form, i.e., not only ASCII
characters.  So the tools you use to process the files should be 8bit
clean.

To run the test program the appropriate locale information must be
installed.  Therefore the localedef program is used to generate this
data used the locale and charmap description files contained here.
Since we cannot run the localedef program in case of cross-compilation
no tests at all are performed.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Local Variables:
 mode:text
 eval:(load-library "time-stamp")
 eval:(make-local-variable 'write-file-hooks)
 eval:(add-hook 'write-file-hooks 'time-stamp)
 eval:(setq time-stamp-format '(time-stamp-yyyy/mm/dd time-stamp-hh:mm:ss user-login-name))
End: