diff --git a/test/lit.cfg b/test/lit.cfg index 34875b0f..bfb678f0 100644 --- a/test/lit.cfg +++ b/test/lit.cfg @@ -358,6 +358,15 @@ class Configuration(object): if 'libcpp-has-no-monotonic-clock' in self.config.available_features: self.compile_flags += ['-D_LIBCPP_HAS_NO_MONOTONIC_CLOCK'] + # Some linux distributions have different locale data than others. + # Insert the distributions name and name-version into the available + # features to allow tests to XFAIL on them. + if sys.platform.startswith('linux'): + os_info = platform.linux_distribution() + self.config.available_features.add(os_info[0].lower()) + self.config.available_features.add( + '%s-%s' % (os_info[0].lower(), os_info[1])) + def configure_compile_flags(self): # Configure extra compiler flags. self.compile_flags += ['-I' + self.src_root + '/include', diff --git a/test/localization/locale.categories/category.time/locale.time.get.byname/get_monthname.pass.cpp b/test/localization/locale.categories/category.time/locale.time.get.byname/get_monthname.pass.cpp index a924cef8..a442ae57 100644 --- a/test/localization/locale.categories/category.time/locale.time.get.byname/get_monthname.pass.cpp +++ b/test/localization/locale.categories/category.time/locale.time.get.byname/get_monthname.pass.cpp @@ -12,6 +12,12 @@ // REQUIRES: locale.ru_RU.UTF-8 // REQUIRES: locale.zh_CN.UTF-8 +// NOTE: debian and opensuse use old locale data for ru_RU.UTF-8 abreviated +// months. This locale data was changed in glibc 2.14. +// Debian uses glibc 2.13 as of 20/11/2014 +// OpenSuse uses glibc 2.19 with old locale data as of 20/11/2014 +// XFAIL: debian, opensuse + // // class time_get_byname diff --git a/test/localization/locale.categories/category.time/locale.time.get.byname/get_monthname_wide.pass.cpp b/test/localization/locale.categories/category.time/locale.time.get.byname/get_monthname_wide.pass.cpp index 009dc490..631a5003 100644 --- a/test/localization/locale.categories/category.time/locale.time.get.byname/get_monthname_wide.pass.cpp +++ b/test/localization/locale.categories/category.time/locale.time.get.byname/get_monthname_wide.pass.cpp @@ -12,6 +12,12 @@ // REQUIRES: locale.ru_RU.UTF-8 // REQUIRES: locale.zh_CN.UTF-8 +// NOTE: debian and opensuse use bad locale data for ru_RU.UTF-8 abreviated +// months. This locale data was fixed in glibc 2.14. +// Debian uses glibc 2.13 as of 20/11/2014 +// OpenSuse uses glibc 2.19 with old locale data as of 20/11/2014 +// XFAIL: debian, opensuse + // // class time_get_byname