Add locales to available_features for tests.
authorDan Albert <danalbert@google.com>
Mon, 4 Aug 2014 18:44:48 +0000 (18:44 +0000)
committerDan Albert <danalbert@google.com>
Mon, 4 Aug 2014 18:44:48 +0000 (18:44 +0000)
commita85b27f6f7fa2b68646e547daef82dd6b2d3189d
treee38f086a949449ac6a5020b7dac088a5adcb37cf
parentee02499a8fb64f9710b4543f2f46c5305dcb11fc
Add locales to available_features for tests.

Linux has a lot of failures caused by not having support for certain
locales. Since these come out as a lot of noise in the test results,
have lit.cfg detect the presence of the various locales used in the
tests and add them to config.available_features as locale.LOCALE_NAME.

This patch also adds REQUIRES: locale.REQUIRED_LOCALE to every test that
I saw failing in this manner. We probably need to add more for all the
tests requiring en_US.UTF-8, but we can do that on an as-needed basis.

One thing that concerns me is how many tests get skipped because of
missing locales (especially in regex/). We should make a point of
splitting up any tests that test default behavior _and_ behavior under a
given locale so that we aren't losing coverage for default behavior.

llvm-svn: 214753
58 files changed:
libcxx/test/input.output/iostreams.base/ios/basic.ios.members/copyfmt.pass.cpp
libcxx/test/input.output/iostreams.base/ios/basic.ios.members/move.pass.cpp
libcxx/test/input.output/iostreams.base/ios/basic.ios.members/swap.pass.cpp
libcxx/test/input.output/stream.buffers/streambuf/streambuf.members/streambuf.locales/locales.pass.cpp
libcxx/test/lit.cfg
libcxx/test/localization/locale.categories/category.ctype/locale.ctype.byname/narrow_1.pass.cpp
libcxx/test/localization/locale.categories/category.ctype/locale.ctype.byname/narrow_many.pass.cpp
libcxx/test/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp
libcxx/test/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_ru_RU.pass.cpp
libcxx/test/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_zh_CN.pass.cpp
libcxx/test/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_fr_FR.pass.cpp
libcxx/test/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_ru_RU.pass.cpp
libcxx/test/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_zh_CN.pass.cpp
libcxx/test/localization/locale.categories/category.monetary/locale.moneypunct.byname/curr_symbol.pass.cpp
libcxx/test/localization/locale.categories/category.monetary/locale.moneypunct.byname/decimal_point.pass.cpp
libcxx/test/localization/locale.categories/category.monetary/locale.moneypunct.byname/frac_digits.pass.cpp
libcxx/test/localization/locale.categories/category.monetary/locale.moneypunct.byname/grouping.pass.cpp
libcxx/test/localization/locale.categories/category.monetary/locale.moneypunct.byname/neg_format.pass.cpp
libcxx/test/localization/locale.categories/category.monetary/locale.moneypunct.byname/negative_sign.pass.cpp
libcxx/test/localization/locale.categories/category.monetary/locale.moneypunct.byname/pos_format.pass.cpp
libcxx/test/localization/locale.categories/category.monetary/locale.moneypunct.byname/positive_sign.pass.cpp
libcxx/test/localization/locale.categories/category.monetary/locale.moneypunct.byname/thousands_sep.pass.cpp
libcxx/test/localization/locale.categories/category.time/locale.time.get.byname/date_order.pass.cpp
libcxx/test/localization/locale.categories/category.time/locale.time.get.byname/date_order_wide.pass.cpp
libcxx/test/localization/locale.categories/category.time/locale.time.get.byname/get_date.pass.cpp
libcxx/test/localization/locale.categories/category.time/locale.time.get.byname/get_date_wide.pass.cpp
libcxx/test/localization/locale.categories/category.time/locale.time.get.byname/get_monthname.pass.cpp
libcxx/test/localization/locale.categories/category.time/locale.time.get.byname/get_monthname_wide.pass.cpp
libcxx/test/localization/locale.categories/category.time/locale.time.get.byname/get_one.pass.cpp
libcxx/test/localization/locale.categories/category.time/locale.time.get.byname/get_one_wide.pass.cpp
libcxx/test/localization/locale.categories/category.time/locale.time.get.byname/get_time.pass.cpp
libcxx/test/localization/locale.categories/category.time/locale.time.get.byname/get_time_wide.pass.cpp
libcxx/test/localization/locale.categories/category.time/locale.time.get.byname/get_weekday.pass.cpp
libcxx/test/localization/locale.categories/category.time/locale.time.get.byname/get_weekday_wide.pass.cpp
libcxx/test/localization/locale.categories/category.time/locale.time.get.byname/get_year.pass.cpp
libcxx/test/localization/locale.categories/category.time/locale.time.get.byname/get_year_wide.pass.cpp
libcxx/test/localization/locale.categories/category.time/locale.time.put.byname/put1.pass.cpp
libcxx/test/localization/locale.categories/facet.numpunct/locale.numpunct.byname/decimal_point.pass.cpp
libcxx/test/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp
libcxx/test/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
libcxx/test/localization/locales/locale/locale.cons/assign.pass.cpp
libcxx/test/localization/locales/locale/locale.cons/char_pointer.pass.cpp
libcxx/test/localization/locales/locale/locale.cons/copy.pass.cpp
libcxx/test/localization/locales/locale/locale.cons/locale_char_pointer_cat.pass.cpp
libcxx/test/localization/locales/locale/locale.cons/locale_facetptr.pass.cpp
libcxx/test/localization/locales/locale/locale.cons/locale_locale_cat.pass.cpp
libcxx/test/localization/locales/locale/locale.cons/locale_string_cat.pass.cpp
libcxx/test/localization/locales/locale/locale.cons/string.pass.cpp
libcxx/test/re/re.alg/re.alg.match/basic.pass.cpp
libcxx/test/re/re.alg/re.alg.match/ecma.pass.cpp
libcxx/test/re/re.alg/re.alg.match/extended.pass.cpp
libcxx/test/re/re.alg/re.alg.search/awk.pass.cpp
libcxx/test/re/re.alg/re.alg.search/basic.pass.cpp
libcxx/test/re/re.alg/re.alg.search/ecma.pass.cpp
libcxx/test/re/re.alg/re.alg.search/extended.pass.cpp
libcxx/test/re/re.traits/lookup_collatename.pass.cpp
libcxx/test/re/re.traits/transform.pass.cpp
libcxx/test/re/re.traits/transform_primary.pass.cpp