[PATCH] [libcxx] Add locales to available_features for tests.

Dan Albert danalbert at google.com
Fri Aug 1 15:06:55 PDT 2014


Hi mclow.lists, EricWF,

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.

http://reviews.llvm.org/D4759

Files:
  test/input.output/iostreams.base/ios/basic.ios.members/copyfmt.pass.cpp
  test/input.output/iostreams.base/ios/basic.ios.members/move.pass.cpp
  test/input.output/iostreams.base/ios/basic.ios.members/swap.pass.cpp
  test/input.output/stream.buffers/streambuf/streambuf.members/streambuf.locales/locales.pass.cpp
  test/lit.cfg
  test/localization/locale.categories/category.ctype/locale.ctype.byname/narrow_1.pass.cpp
  test/localization/locale.categories/category.ctype/locale.ctype.byname/narrow_many.pass.cpp
  test/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp
  test/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_ru_RU.pass.cpp
  test/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_zh_CN.pass.cpp
  test/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_fr_FR.pass.cpp
  test/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_ru_RU.pass.cpp
  test/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_zh_CN.pass.cpp
  test/localization/locale.categories/category.monetary/locale.moneypunct.byname/curr_symbol.pass.cpp
  test/localization/locale.categories/category.monetary/locale.moneypunct.byname/decimal_point.pass.cpp
  test/localization/locale.categories/category.monetary/locale.moneypunct.byname/frac_digits.pass.cpp
  test/localization/locale.categories/category.monetary/locale.moneypunct.byname/grouping.pass.cpp
  test/localization/locale.categories/category.monetary/locale.moneypunct.byname/neg_format.pass.cpp
  test/localization/locale.categories/category.monetary/locale.moneypunct.byname/negative_sign.pass.cpp
  test/localization/locale.categories/category.monetary/locale.moneypunct.byname/pos_format.pass.cpp
  test/localization/locale.categories/category.monetary/locale.moneypunct.byname/positive_sign.pass.cpp
  test/localization/locale.categories/category.monetary/locale.moneypunct.byname/thousands_sep.pass.cpp
  test/localization/locale.categories/category.time/locale.time.get.byname/date_order.pass.cpp
  test/localization/locale.categories/category.time/locale.time.get.byname/date_order_wide.pass.cpp
  test/localization/locale.categories/category.time/locale.time.get.byname/get_date.pass.cpp
  test/localization/locale.categories/category.time/locale.time.get.byname/get_date_wide.pass.cpp
  test/localization/locale.categories/category.time/locale.time.get.byname/get_monthname.pass.cpp
  test/localization/locale.categories/category.time/locale.time.get.byname/get_monthname_wide.pass.cpp
  test/localization/locale.categories/category.time/locale.time.get.byname/get_one.pass.cpp
  test/localization/locale.categories/category.time/locale.time.get.byname/get_one_wide.pass.cpp
  test/localization/locale.categories/category.time/locale.time.get.byname/get_time.pass.cpp
  test/localization/locale.categories/category.time/locale.time.get.byname/get_time_wide.pass.cpp
  test/localization/locale.categories/category.time/locale.time.get.byname/get_weekday.pass.cpp
  test/localization/locale.categories/category.time/locale.time.get.byname/get_weekday_wide.pass.cpp
  test/localization/locale.categories/category.time/locale.time.get.byname/get_year.pass.cpp
  test/localization/locale.categories/category.time/locale.time.get.byname/get_year_wide.pass.cpp
  test/localization/locale.categories/category.time/locale.time.put.byname/put1.pass.cpp
  test/localization/locale.categories/facet.numpunct/locale.numpunct.byname/decimal_point.pass.cpp
  test/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp
  test/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
  test/localization/locales/locale/locale.cons/assign.pass.cpp
  test/localization/locales/locale/locale.cons/char_pointer.pass.cpp
  test/localization/locales/locale/locale.cons/copy.pass.cpp
  test/localization/locales/locale/locale.cons/locale_char_pointer_cat.pass.cpp
  test/localization/locales/locale/locale.cons/locale_facetptr.pass.cpp
  test/localization/locales/locale/locale.cons/locale_locale_cat.pass.cpp
  test/localization/locales/locale/locale.cons/locale_string_cat.pass.cpp
  test/localization/locales/locale/locale.cons/string.pass.cpp
  test/re/re.alg/re.alg.match/basic.pass.cpp
  test/re/re.alg/re.alg.match/ecma.pass.cpp
  test/re/re.alg/re.alg.match/extended.pass.cpp
  test/re/re.alg/re.alg.search/awk.pass.cpp
  test/re/re.alg/re.alg.search/basic.pass.cpp
  test/re/re.alg/re.alg.search/ecma.pass.cpp
  test/re/re.alg/re.alg.search/extended.pass.cpp
  test/re/re.traits/lookup_collatename.pass.cpp
  test/re/re.traits/transform.pass.cpp
  test/re/re.traits/transform_primary.pass.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D4759.12120.patch
Type: text/x-patch
Size: 34196 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140801/b12286ac/attachment.bin>


More information about the cfe-commits mailing list