Author: rogfer01 Date: Tue Nov 29 10:31:40 2016 New Revision: 288156 URL: http://llvm.org/viewvc/llvm-project?rev=288156&view=rev Log: Protect locale tests under noexceptions
Skip tests that expect exceptions be thrown. Differential Revision: https://reviews.llvm.org/D27096 Modified: libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_err_string.pass.cpp libcxx/trunk/test/std/localization/locales/locale.global.templates/use_facet.pass.cpp libcxx/trunk/test/std/localization/locales/locale/locale.cons/char_pointer.pass.cpp libcxx/trunk/test/std/localization/locales/locale/locale.members/combine.pass.cpp Modified: libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_err_string.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_err_string.pass.cpp?rev=288156&r1=288155&r2=288156&view=diff ============================================================================== --- libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_err_string.pass.cpp (original) +++ libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_err_string.pass.cpp Tue Nov 29 10:31:40 2016 @@ -7,7 +7,6 @@ // //===----------------------------------------------------------------------===// -// XFAIL: libcpp-no-exceptions // <locale> // wstring_convert<Codecvt, Elem, Wide_alloc, Byte_alloc> @@ -29,6 +28,7 @@ int main() static_assert(!std::is_convertible<std::string, Myconv>::value, ""); static_assert( std::is_constructible<Myconv, std::string>::value, ""); #endif +#ifndef TEST_HAS_NO_EXCEPTIONS { Myconv myconv; try @@ -48,10 +48,12 @@ int main() { } } +#endif { Myconv myconv("byte error"); std::string bs = myconv.to_bytes(L"\xDA83"); assert(bs == "byte error"); +#ifndef TEST_HAS_NO_EXCEPTIONS try { myconv.from_bytes('\xA5'); @@ -60,6 +62,7 @@ int main() catch (const std::range_error&) { } +#endif } { Myconv myconv("byte error", L"wide error"); Modified: libcxx/trunk/test/std/localization/locales/locale.global.templates/use_facet.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locales/locale.global.templates/use_facet.pass.cpp?rev=288156&r1=288155&r2=288156&view=diff ============================================================================== --- libcxx/trunk/test/std/localization/locales/locale.global.templates/use_facet.pass.cpp (original) +++ libcxx/trunk/test/std/localization/locales/locale.global.templates/use_facet.pass.cpp Tue Nov 29 10:31:40 2016 @@ -7,7 +7,6 @@ // //===----------------------------------------------------------------------===// -// XFAIL: libcpp-no-exceptions // <locale> // template <class Facet> const Facet& use_facet(const locale& loc); @@ -15,6 +14,8 @@ #include <locale> #include <cassert> +#include "test_macros.h" + int facet_count = 0; struct my_facet @@ -32,6 +33,7 @@ std::locale::id my_facet::id; int main() { +#ifndef TEST_HAS_NO_EXCEPTIONS try { const my_facet& f = std::use_facet<my_facet>(std::locale()); @@ -41,6 +43,7 @@ int main() catch (std::bad_cast&) { } +#endif const my_facet* fp = 0; { std::locale loc(std::locale(), new my_facet); Modified: libcxx/trunk/test/std/localization/locales/locale/locale.cons/char_pointer.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locales/locale/locale.cons/char_pointer.pass.cpp?rev=288156&r1=288155&r2=288156&view=diff ============================================================================== --- libcxx/trunk/test/std/localization/locales/locale/locale.cons/char_pointer.pass.cpp (original) +++ libcxx/trunk/test/std/localization/locales/locale/locale.cons/char_pointer.pass.cpp Tue Nov 29 10:31:40 2016 @@ -7,7 +7,6 @@ // //===----------------------------------------------------------------------===// -// XFAIL: libcpp-no-exceptions // REQUIRES: locale.ru_RU.UTF-8 // REQUIRES: locale.zh_CN.UTF-8 @@ -22,6 +21,8 @@ #include "count_new.hpp" #include "platform_support.h" // locale name macros +#include "test_macros.h" + void check(const std::locale& loc) { @@ -70,6 +71,7 @@ int main() check(loc3); assert(!(loc == loc3)); assert(loc != loc3); +#ifndef TEST_HAS_NO_EXCEPTIONS try { std::locale((const char*)0); @@ -86,6 +88,7 @@ int main() catch (std::runtime_error&) { } +#endif std::locale ok(""); } assert(globalMemCounter.checkOutstandingNewEq(0)); Modified: libcxx/trunk/test/std/localization/locales/locale/locale.members/combine.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locales/locale/locale.members/combine.pass.cpp?rev=288156&r1=288155&r2=288156&view=diff ============================================================================== --- libcxx/trunk/test/std/localization/locales/locale/locale.members/combine.pass.cpp (original) +++ libcxx/trunk/test/std/localization/locales/locale/locale.members/combine.pass.cpp Tue Nov 29 10:31:40 2016 @@ -7,7 +7,6 @@ // //===----------------------------------------------------------------------===// -// XFAIL: libcpp-no-exceptions // <locale> // template <class Facet> locale combine(const locale& other) const; @@ -18,6 +17,8 @@ #include "count_new.hpp" +#include "test_macros.h" + void check(const std::locale& loc) { assert(std::has_facet<std::collate<char> >(loc)); @@ -78,6 +79,7 @@ int main() } assert(globalMemCounter.checkOutstandingNewEq(0)); } +#ifndef TEST_HAS_NO_EXCEPTIONS { { std::locale loc; @@ -93,4 +95,5 @@ int main() } assert(globalMemCounter.checkOutstandingNewEq(0)); } +#endif } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits