From 79578cd14ff1f4579b31ae666e869d19eac97232 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 git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@220512 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../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 ++++++ .../facet.num.put.members/put_long_double.pass.cpp | 3 +++ .../category.time/locale.time.get.byname/get_one.pass.cpp | 3 +++ .../locale.time.get.byname/get_one_wide.pass.cpp | 3 +++ .../locale.time.get.byname/get_weekday.pass.cpp | 3 +++ .../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 +++ .../locale.numpunct.byname/thousands_sep.pass.cpp | 3 +++ test/re/re.alg/re.alg.match/basic.pass.cpp | 3 +++ test/re/re.alg/re.alg.match/ecma.pass.cpp | 3 +++ test/re/re.alg/re.alg.match/extended.pass.cpp | 3 +++ test/re/re.alg/re.alg.search/awk.pass.cpp | 3 +++ test/re/re.alg/re.alg.search/basic.pass.cpp | 3 +++ test/re/re.alg/re.alg.search/ecma.pass.cpp | 3 +++ test/re/re.alg/re.alg.search/extended.pass.cpp | 3 +++ test/re/re.traits/lookup_collatename.pass.cpp | 3 +++ test/re/re.traits/translate_nocase.pass.cpp | 3 +++ 22 files changed, 71 insertions(+) diff --git a/test/localization/locale.categories/category.collate/locale.collate.byname/compare.pass.cpp b/test/localization/locale.categories/category.collate/locale.collate.byname/compare.pass.cpp index d6441252..69af9ac1 100644 --- a/test/localization/locale.categories/category.collate/locale.collate.byname/compare.pass.cpp +++ b/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/test/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_zh_CN.pass.cpp b/test/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_zh_CN.pass.cpp index 374443a2..07a33f76 100644 --- a/test/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_zh_CN.pass.cpp +++ b/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/test/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_zh_CN.pass.cpp b/test/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_zh_CN.pass.cpp index 242701e2..633e1885 100644 --- a/test/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_zh_CN.pass.cpp +++ b/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/test/localization/locale.categories/category.monetary/locale.moneypunct.byname/thousands_sep.pass.cpp b/test/localization/locale.categories/category.monetary/locale.moneypunct.byname/thousands_sep.pass.cpp index b7e16c6a..a8782832 100644 --- a/test/localization/locale.categories/category.monetary/locale.moneypunct.byname/thousands_sep.pass.cpp +++ b/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/test/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp b/test/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp index 2010dca4..93596125 100644 --- a/test/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp +++ b/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/test/localization/locale.categories/category.time/locale.time.get.byname/get_one.pass.cpp b/test/localization/locale.categories/category.time/locale.time.get.byname/get_one.pass.cpp index 536859e9..72b63278 100644 --- a/test/localization/locale.categories/category.time/locale.time.get.byname/get_one.pass.cpp +++ b/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/test/localization/locale.categories/category.time/locale.time.get.byname/get_one_wide.pass.cpp b/test/localization/locale.categories/category.time/locale.time.get.byname/get_one_wide.pass.cpp index 36c8a8e5..ae8bce22 100644 --- a/test/localization/locale.categories/category.time/locale.time.get.byname/get_one_wide.pass.cpp +++ b/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/test/localization/locale.categories/category.time/locale.time.get.byname/get_weekday.pass.cpp b/test/localization/locale.categories/category.time/locale.time.get.byname/get_weekday.pass.cpp index db070be9..09055add 100644 --- a/test/localization/locale.categories/category.time/locale.time.get.byname/get_weekday.pass.cpp +++ b/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/test/localization/locale.categories/category.time/locale.time.get.byname/get_weekday_wide.pass.cpp b/test/localization/locale.categories/category.time/locale.time.get.byname/get_weekday_wide.pass.cpp index ac607bac..31135a34 100644 --- a/test/localization/locale.categories/category.time/locale.time.get.byname/get_weekday_wide.pass.cpp +++ b/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/test/localization/locale.categories/category.time/locale.time.put.byname/put1.pass.cpp b/test/localization/locale.categories/category.time/locale.time.put.byname/put1.pass.cpp index ff3bb823..3e7538d6 100644 --- a/test/localization/locale.categories/category.time/locale.time.put.byname/put1.pass.cpp +++ b/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/test/localization/locale.categories/category.time/locale.time.put/locale.time.put.members/put2.pass.cpp b/test/localization/locale.categories/category.time/locale.time.put/locale.time.put.members/put2.pass.cpp index 577655f7..427d7c55 100644 --- a/test/localization/locale.categories/category.time/locale.time.put/locale.time.put.members/put2.pass.cpp +++ b/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/test/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp b/test/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp index b49eca48..d5112a95 100644 --- a/test/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp +++ b/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/test/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp b/test/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp index 80b440ac..b1bd03ff 100644 --- a/test/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp +++ b/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/test/re/re.alg/re.alg.match/basic.pass.cpp b/test/re/re.alg/re.alg.match/basic.pass.cpp index d63817d0..4139cea3 100644 --- a/test/re/re.alg/re.alg.match/basic.pass.cpp +++ b/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/test/re/re.alg/re.alg.match/ecma.pass.cpp b/test/re/re.alg/re.alg.match/ecma.pass.cpp index 67df4102..38540560 100644 --- a/test/re/re.alg/re.alg.match/ecma.pass.cpp +++ b/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/test/re/re.alg/re.alg.match/extended.pass.cpp b/test/re/re.alg/re.alg.match/extended.pass.cpp index 733c16ec..c54825de 100644 --- a/test/re/re.alg/re.alg.match/extended.pass.cpp +++ b/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/test/re/re.alg/re.alg.search/awk.pass.cpp b/test/re/re.alg/re.alg.search/awk.pass.cpp index 74c25c1a..521e98b3 100644 --- a/test/re/re.alg/re.alg.search/awk.pass.cpp +++ b/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/test/re/re.alg/re.alg.search/basic.pass.cpp b/test/re/re.alg/re.alg.search/basic.pass.cpp index c8a5051d..838294e9 100644 --- a/test/re/re.alg/re.alg.search/basic.pass.cpp +++ b/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/test/re/re.alg/re.alg.search/ecma.pass.cpp b/test/re/re.alg/re.alg.search/ecma.pass.cpp index 965c29d6..2796850f 100644 --- a/test/re/re.alg/re.alg.search/ecma.pass.cpp +++ b/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/test/re/re.alg/re.alg.search/extended.pass.cpp b/test/re/re.alg/re.alg.search/extended.pass.cpp index c181cff4..a8a121bd 100644 --- a/test/re/re.alg/re.alg.search/extended.pass.cpp +++ b/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/test/re/re.traits/lookup_collatename.pass.cpp b/test/re/re.traits/lookup_collatename.pass.cpp index 049246ed..d495f8aa 100644 --- a/test/re/re.traits/lookup_collatename.pass.cpp +++ b/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/test/re/re.traits/translate_nocase.pass.cpp b/test/re/re.traits/translate_nocase.pass.cpp index 5e042aea..37d27745 100644 --- a/test/re/re.traits/translate_nocase.pass.cpp +++ b/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