From e608aed22b0527349b8e623cbcc6b76d99cd0aec Mon Sep 17 00:00:00 2001 From: Eric Fiselier Date: Thu, 23 Oct 2014 21:17:36 +0000 Subject: [PATCH] [libcxx] XFAIL all currently failing libc++ tests for linux. Summary: Pretty please? We now have a significant number of builders that test libc++. I really want those builders to be green. Most of these failures are due to differences in locale data, including those in regex. I will continue working on fixing the locale and regex tests but there is no consensus on what the correct direction to go. Since the builders display a list of XFAIL tests they are by no means hidden. It just means they are expected failures. Now unexpected failures won't get mixed in with well known and expected failures. Reviewers: mclow.lists, jroelofs, danalbert Reviewed By: danalbert Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D5941 llvm-svn: 220512 --- .../category.collate/locale.collate.byname/compare.pass.cpp | 5 +++++ .../locale.money.get.members/get_long_double_zh_CN.pass.cpp | 3 +++ .../locale.money.put.members/put_long_double_zh_CN.pass.cpp | 3 +++ .../locale.moneypunct.byname/thousands_sep.pass.cpp | 6 ++++++ .../locale.nm.put/facet.num.put.members/put_long_double.pass.cpp | 3 +++ .../category.time/locale.time.get.byname/get_one.pass.cpp | 3 +++ .../category.time/locale.time.get.byname/get_one_wide.pass.cpp | 3 +++ .../category.time/locale.time.get.byname/get_weekday.pass.cpp | 3 +++ .../category.time/locale.time.get.byname/get_weekday_wide.pass.cpp | 3 +++ .../category.time/locale.time.put.byname/put1.pass.cpp | 3 +++ .../locale.time.put/locale.time.put.members/put2.pass.cpp | 3 +++ .../facet.numpunct/locale.numpunct.byname/grouping.pass.cpp | 3 +++ .../facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp | 3 +++ libcxx/test/re/re.alg/re.alg.match/basic.pass.cpp | 3 +++ libcxx/test/re/re.alg/re.alg.match/ecma.pass.cpp | 3 +++ libcxx/test/re/re.alg/re.alg.match/extended.pass.cpp | 3 +++ libcxx/test/re/re.alg/re.alg.search/awk.pass.cpp | 3 +++ libcxx/test/re/re.alg/re.alg.search/basic.pass.cpp | 3 +++ libcxx/test/re/re.alg/re.alg.search/ecma.pass.cpp | 3 +++ libcxx/test/re/re.alg/re.alg.search/extended.pass.cpp | 3 +++ libcxx/test/re/re.traits/lookup_collatename.pass.cpp | 3 +++ libcxx/test/re/re.traits/translate_nocase.pass.cpp | 3 +++ 22 files changed, 71 insertions(+) diff --git a/libcxx/test/localization/locale.categories/category.collate/locale.collate.byname/compare.pass.cpp b/libcxx/test/localization/locale.categories/category.collate/locale.collate.byname/compare.pass.cpp index d644125..69af9ac 100644 --- a/libcxx/test/localization/locale.categories/category.collate/locale.collate.byname/compare.pass.cpp +++ b/libcxx/test/localization/locale.categories/category.collate/locale.collate.byname/compare.pass.cpp @@ -18,6 +18,11 @@ // has any difference from "C" collation. But I do believe I'm picking // up the OS's collation files. +// TODO investigation needed. +// Glibc seems to collate files differently from the way Apple's C library does +// it. +// XFAIL: linux-gnu + #include #include #include diff --git a/libcxx/test/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_zh_CN.pass.cpp b/libcxx/test/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_zh_CN.pass.cpp index 374443a..07a33f7 100644 --- a/libcxx/test/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_zh_CN.pass.cpp +++ b/libcxx/test/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_zh_CN.pass.cpp @@ -16,6 +16,9 @@ // iter_type get(iter_type b, iter_type e, bool intl, ios_base& iob, // ios_base::iostate& err, long double& v) const; +// TODO For zh_CN GLIBC puts the negative sign after the currency symbol. +// XFAIL: linux-gnu + #include #include #include diff --git a/libcxx/test/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_zh_CN.pass.cpp b/libcxx/test/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_zh_CN.pass.cpp index 242701e..633e188 100644 --- a/libcxx/test/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_zh_CN.pass.cpp +++ b/libcxx/test/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_zh_CN.pass.cpp @@ -16,6 +16,9 @@ // iter_type put(iter_type s, bool intl, ios_base& f, char_type fill, // long double units) const; +// TODO For zh_CN GLIBC puts the negative sign after the currency symbol. +// XFAIL: linux-gnu + #include #include #include diff --git a/libcxx/test/localization/locale.categories/category.monetary/locale.moneypunct.byname/thousands_sep.pass.cpp b/libcxx/test/localization/locale.categories/category.monetary/locale.moneypunct.byname/thousands_sep.pass.cpp index b7e16c6..a878283 100644 --- a/libcxx/test/localization/locale.categories/category.monetary/locale.moneypunct.byname/thousands_sep.pass.cpp +++ b/libcxx/test/localization/locale.categories/category.monetary/locale.moneypunct.byname/thousands_sep.pass.cpp @@ -18,6 +18,12 @@ // charT thousands_sep() const; +// Failure related to GLIBC's use of U00A0 as mon_thousands_sep +// and U002E as mon_decimal_point. +// TODO: U00A0 should be investigated. +// Possibly related to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=16006 +// XFAIL: linux-gnu + #include #include #include diff --git a/libcxx/test/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp b/libcxx/test/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp index 2010dca..9359612 100644 --- a/libcxx/test/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp +++ b/libcxx/test/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp @@ -13,6 +13,9 @@ // iter_type put(iter_type s, ios_base& iob, char_type fill, long double v) const; +// TODO GLIBC uses a different string for positive and negative NAN numbers. +// XFAIL: linux-gnu + #include #include #include diff --git a/libcxx/test/localization/locale.categories/category.time/locale.time.get.byname/get_one.pass.cpp b/libcxx/test/localization/locale.categories/category.time/locale.time.get.byname/get_one.pass.cpp index 536859e..72b6327 100644 --- a/libcxx/test/localization/locale.categories/category.time/locale.time.get.byname/get_one.pass.cpp +++ b/libcxx/test/localization/locale.categories/category.time/locale.time.get.byname/get_one.pass.cpp @@ -19,6 +19,9 @@ // iter_type get(iter_type s, iter_type end, ios_base& f, // ios_base::iostate& err, tm *t, char format, char modifier = 0) const; +// TODO: investigation needed +// XFAIL: linux-gnu + #include #include #include "test_iterators.h" diff --git a/libcxx/test/localization/locale.categories/category.time/locale.time.get.byname/get_one_wide.pass.cpp b/libcxx/test/localization/locale.categories/category.time/locale.time.get.byname/get_one_wide.pass.cpp index 36c8a8e..ae8bce2 100644 --- a/libcxx/test/localization/locale.categories/category.time/locale.time.get.byname/get_one_wide.pass.cpp +++ b/libcxx/test/localization/locale.categories/category.time/locale.time.get.byname/get_one_wide.pass.cpp @@ -19,6 +19,9 @@ // iter_type get(iter_type s, iter_type end, ios_base& f, // ios_base::iostate& err, tm *t, char format, char modifier = 0) const; +// TODO: investigation needed +// XFAIL: linux-gnu + #include #include #include "test_iterators.h" diff --git a/libcxx/test/localization/locale.categories/category.time/locale.time.get.byname/get_weekday.pass.cpp b/libcxx/test/localization/locale.categories/category.time/locale.time.get.byname/get_weekday.pass.cpp index db070be..09055ad 100644 --- a/libcxx/test/localization/locale.categories/category.time/locale.time.get.byname/get_weekday.pass.cpp +++ b/libcxx/test/localization/locale.categories/category.time/locale.time.get.byname/get_weekday.pass.cpp @@ -20,6 +20,9 @@ // get_weekday(iter_type s, iter_type end, ios_base& str, // ios_base::iostate& err, tm* t) const; +// TODO: investigation needed +// XFAIL: linux-gnu + #include #include #include "test_iterators.h" diff --git a/libcxx/test/localization/locale.categories/category.time/locale.time.get.byname/get_weekday_wide.pass.cpp b/libcxx/test/localization/locale.categories/category.time/locale.time.get.byname/get_weekday_wide.pass.cpp index ac607ba..31135a3 100644 --- a/libcxx/test/localization/locale.categories/category.time/locale.time.get.byname/get_weekday_wide.pass.cpp +++ b/libcxx/test/localization/locale.categories/category.time/locale.time.get.byname/get_weekday_wide.pass.cpp @@ -20,6 +20,9 @@ // get_weekday(iter_type s, iter_type end, ios_base& str, // ios_base::iostate& err, tm* t) const; +// TODO: investigation needed +// XFAIL: linux-gnu + #include #include #include "test_iterators.h" diff --git a/libcxx/test/localization/locale.categories/category.time/locale.time.put.byname/put1.pass.cpp b/libcxx/test/localization/locale.categories/category.time/locale.time.put.byname/put1.pass.cpp index ff3bb82..3e7538d 100644 --- a/libcxx/test/localization/locale.categories/category.time/locale.time.put.byname/put1.pass.cpp +++ b/libcxx/test/localization/locale.categories/category.time/locale.time.put.byname/put1.pass.cpp @@ -24,6 +24,9 @@ // ~time_put_byname(); // }; +// TODO: investigation needed +// XFAIL: linux-gnu + #include #include #include "test_iterators.h" diff --git a/libcxx/test/localization/locale.categories/category.time/locale.time.put/locale.time.put.members/put2.pass.cpp b/libcxx/test/localization/locale.categories/category.time/locale.time.put/locale.time.put.members/put2.pass.cpp index 577655f..427d7c5 100644 --- a/libcxx/test/localization/locale.categories/category.time/locale.time.put/locale.time.put.members/put2.pass.cpp +++ b/libcxx/test/localization/locale.categories/category.time/locale.time.put/locale.time.put.members/put2.pass.cpp @@ -14,6 +14,9 @@ // iter_type put(iter_type s, ios_base& str, char_type fill, const tm* t, // char format, char modifier = 0) const; +// TODO: investigation needed +// XFAIL: linux-gnu + #include #include #include "test_iterators.h" diff --git a/libcxx/test/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp b/libcxx/test/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp index b49eca4..d5112a9 100644 --- a/libcxx/test/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp +++ b/libcxx/test/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp @@ -16,6 +16,9 @@ // string grouping() const; +// TODO: investigation needed +// XFAIL: linux-gnu + #include #include diff --git a/libcxx/test/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp b/libcxx/test/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp index 80b440a..b1bd03ff 100644 --- a/libcxx/test/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp +++ b/libcxx/test/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp @@ -16,6 +16,9 @@ // char_type thousands_sep() const; +// TODO: investigation needed +// XFAIL: linux-gnu + #include #include diff --git a/libcxx/test/re/re.alg/re.alg.match/basic.pass.cpp b/libcxx/test/re/re.alg/re.alg.match/basic.pass.cpp index d63817d..4139cea 100644 --- a/libcxx/test/re/re.alg/re.alg.match/basic.pass.cpp +++ b/libcxx/test/re/re.alg/re.alg.match/basic.pass.cpp @@ -18,6 +18,9 @@ // const basic_regex& e, // regex_constants::match_flag_type flags = regex_constants::match_default); +// TODO: investigation needed +// XFAIL: linux-gnu + #include #include diff --git a/libcxx/test/re/re.alg/re.alg.match/ecma.pass.cpp b/libcxx/test/re/re.alg/re.alg.match/ecma.pass.cpp index 67df410..3854056 100644 --- a/libcxx/test/re/re.alg/re.alg.match/ecma.pass.cpp +++ b/libcxx/test/re/re.alg/re.alg.match/ecma.pass.cpp @@ -18,6 +18,9 @@ // const basic_regex& e, // regex_constants::match_flag_type flags = regex_constants::match_default); +// TODO: investigation needed +// XFAIL: linux-gnu + #include #include diff --git a/libcxx/test/re/re.alg/re.alg.match/extended.pass.cpp b/libcxx/test/re/re.alg/re.alg.match/extended.pass.cpp index 733c16e..c54825d 100644 --- a/libcxx/test/re/re.alg/re.alg.match/extended.pass.cpp +++ b/libcxx/test/re/re.alg/re.alg.match/extended.pass.cpp @@ -18,6 +18,9 @@ // const basic_regex& e, // regex_constants::match_flag_type flags = regex_constants::match_default); +// TODO: investigation needed +// XFAIL: linux-gnu + #include #include diff --git a/libcxx/test/re/re.alg/re.alg.search/awk.pass.cpp b/libcxx/test/re/re.alg/re.alg.search/awk.pass.cpp index 74c25c1..521e98b 100644 --- a/libcxx/test/re/re.alg/re.alg.search/awk.pass.cpp +++ b/libcxx/test/re/re.alg/re.alg.search/awk.pass.cpp @@ -18,6 +18,9 @@ // const basic_regex& e, // regex_constants::match_flag_type flags = regex_constants::match_default); +// TODO: investigation needed +// XFAIL: linux-gnu + #include #include diff --git a/libcxx/test/re/re.alg/re.alg.search/basic.pass.cpp b/libcxx/test/re/re.alg/re.alg.search/basic.pass.cpp index c8a5051..838294e 100644 --- a/libcxx/test/re/re.alg/re.alg.search/basic.pass.cpp +++ b/libcxx/test/re/re.alg/re.alg.search/basic.pass.cpp @@ -18,6 +18,9 @@ // const basic_regex& e, // regex_constants::match_flag_type flags = regex_constants::match_default); +// TODO: investigation needed +// XFAIL: linux-gnu + #include #include diff --git a/libcxx/test/re/re.alg/re.alg.search/ecma.pass.cpp b/libcxx/test/re/re.alg/re.alg.search/ecma.pass.cpp index 965c29d..2796850 100644 --- a/libcxx/test/re/re.alg/re.alg.search/ecma.pass.cpp +++ b/libcxx/test/re/re.alg/re.alg.search/ecma.pass.cpp @@ -18,6 +18,9 @@ // const basic_regex& e, // regex_constants::match_flag_type flags = regex_constants::match_default); +// TODO: investigation needed +// XFAIL: linux-gnu + #include #include diff --git a/libcxx/test/re/re.alg/re.alg.search/extended.pass.cpp b/libcxx/test/re/re.alg/re.alg.search/extended.pass.cpp index c181cff..a8a121b 100644 --- a/libcxx/test/re/re.alg/re.alg.search/extended.pass.cpp +++ b/libcxx/test/re/re.alg/re.alg.search/extended.pass.cpp @@ -18,6 +18,9 @@ // const basic_regex& e, // regex_constants::match_flag_type flags = regex_constants::match_default); +// TODO: investigation needed +// XFAIL: linux-gnu + #include #include diff --git a/libcxx/test/re/re.traits/lookup_collatename.pass.cpp b/libcxx/test/re/re.traits/lookup_collatename.pass.cpp index 049246e..d495f8a 100644 --- a/libcxx/test/re/re.traits/lookup_collatename.pass.cpp +++ b/libcxx/test/re/re.traits/lookup_collatename.pass.cpp @@ -17,6 +17,9 @@ // string_type // lookup_collatename(ForwardIterator first, ForwardIterator last) const; +// TODO: investigation needed +// XFAIL: linux-gnu + #include #include #include diff --git a/libcxx/test/re/re.traits/translate_nocase.pass.cpp b/libcxx/test/re/re.traits/translate_nocase.pass.cpp index 5e042ae..37d2774 100644 --- a/libcxx/test/re/re.traits/translate_nocase.pass.cpp +++ b/libcxx/test/re/re.traits/translate_nocase.pass.cpp @@ -17,6 +17,9 @@ // XFAIL: with_system_lib=x86_64-apple-darwin11 // XFAIL: with_system_lib=x86_64-apple-darwin12 +// TODO: investigation needed +// XFAIL: linux-gnu + #include #include -- 2.7.4