head	1.1;
access;
symbols;
locks; strict;
comment	@# @;


1.1
date	2026.10.28.16.29.31;	author kre;	state Exp;
branches;
next	;
commitid	v7jC7kgMkdyNmg1H;


desc
@@


1.1
log
@Add 3 new (bizarre) locales for ATF test use only.

These locales are inspired by issues reported in PR bin/60496 , PR lib/60677 ,
PR lib/60885 and PR lib/60886 (though while 60496 inspired all of this, it
does not need these locales to be reproduced).

Add the x1_X1 x1_X2 and X1_X3 locales (all .UTF-8) to be used to stress test
implementations with bizarre locale features that no real world locale would
ever use.  Use of these locales for purposes other than implementation
testing is not intended, and getting weird results from any other use is to
be expected.

In the very near future, a test of the LC_NUMERIC categories of these locales
will appear (for 60496, 60885 & 60886) - that will depend upon the settings
of these locales' LC_NUMERIC parameters, so those values must not be altered
without also altering the tests.

In the not too distant future, a test of the LC_MONETARY categories of these
locales will also appear (for 60677) - and likewise will depend upon the
settings of these locales' LC_MONETARY parameters, so those values also must
not be altered without also altering the tests - however I may need to update
some of the locales' LC_MONETARY values before the tests are ready.

Further into the future, tests of the LC_TIME categories of these locales
might appear, and, naturally, would depend upon the settings of these locales'
LC_TIME parameters.  The values of those are quite likely to need changes
before testing - anyone willing to write the tests should feel free to adjust
the LC_TIME parameters as part of that activity.

It would be great to be able to say the same about the LC_COLLATE categories,
but those don't exist, in these, or any other locales supported by NetBSD.
It would be great to see that change, and using these locales to test
implementations of LC_COLLATE, rather that potentially breaking real locales
before collation sequence support is fully working is encouraged.

The planned tests all presume LC_CTYPE == UTF-8.  We don't need new locales to
test UTF-8 processing, we have plenty of those already.  However, should
anyone see a purpose for it, it would be fine to add one or more new character
sets & encoding formats to these locales, and use those to test extreme
behaviour of LC_CTYPE.   Note that POSIX requires all locales to have the ASCII
charset (or most of it) as code points 0x0 -> 0x7f.

I'm not sure what use can be made of LC_MESSAGES in the tests, but if you can
think of some way to test that, these locales are certainly available for use
for whatever is needed.

More similar locales (either more territories for the x1 language, or more new
xN languages, and accompanying territories) can be added at any time of course.

Finally, it would be nice, for someone who knows how, to parameterise the
building of these locales, so they are only built and installed if the ATF
tests are included in the build.  That would require changes to
src/share/locale/Makefile.locale (the new locale additions are intentionally
added there in a way to facilitate whatever is needed), plus whatever magic
needs to be done to the distrib/sets/lists and etc/mtree files to support
this, and anything else I'm unaware of that would be needed.
@
text
@# $NetBSD: en_AU.UTF-8.src,v 1.1 2013/08/11 22:09:41 joerg Exp $
#
# Locale: x1_X3
# Character set: UTF-8
#
# Copyright 1991-2011 Unicode, Inc. All rights reserved. Distributed under the Terms of Use in
# http://www.unicode.org/copyright.html.
# 
# Permission is hereby granted, free of charge, to any person obtaining a copy of the Unicode
# data files and any associated documentation (the "Data Files") or Unicode software and any
# associated documentation (the "Software") to deal in the Data Files or Software without
# restriction, including without limitation the rights to use, copy, modify, merge, publish,
# distribute, and/or sell copies of the Data Files or Software, and to permit persons to whom
# the Data Files or Software are furnished to do so, provided that (a) the above copyright
# notice(s) and this permission notice appear with all copies of the Data Files or Software,
# (b) both the above copyright notice(s) and this permission notice appear in associated
# documentation, and (c) there is clear notice in each modified Data File or in the Software as
# well as in the documentation associated with the Data File(s) or Software that the data or
# software has been modified.
# 
# THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
# PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT
# HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
# CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
# WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
# CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR SOFTWARE.
#
# Decimal Delimiter/Radix Character (decimal_point)
⸳
# Separator for groups of digits left of above (thousands_sep)
⸱
# Grouping Sequence (grouping)
#    A sequence of integers separated by semi-colons ';'.   (Rightmost first)
1;2;3
# EOF

@
