From 6168a5e55f5dc455af98cdc24e1adce02b4cc975 Mon Sep 17 00:00:00 2001 From: Roger Ferrer Ibanez Date: Tue, 1 Nov 2016 08:11:12 +0000 Subject: [PATCH] Protect tests that expect an exception for an unknown std::random_device Skip these tests under libcpp-no-exceptions. Differential Revision: https://reviews.llvm.org/D26141 git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@285677 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/std/numerics/rand/rand.device/ctor.pass.cpp | 3 ++- test/std/numerics/rand/rand.device/eval.pass.cpp | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/test/std/numerics/rand/rand.device/ctor.pass.cpp b/test/std/numerics/rand/rand.device/ctor.pass.cpp index 8c45bb19a..ff9285b28 100644 --- a/test/std/numerics/rand/rand.device/ctor.pass.cpp +++ b/test/std/numerics/rand/rand.device/ctor.pass.cpp @@ -7,7 +7,6 @@ // //===----------------------------------------------------------------------===// -// XFAIL: libcpp-no-exceptions // // class random_device; @@ -44,11 +43,13 @@ void check_random_device_valid(const std::string &token) { } void check_random_device_invalid(const std::string &token) { +#ifndef TEST_HAS_NO_EXCEPTIONS try { std::random_device r(token); LIBCPP_ASSERT(false); } catch (const std::system_error&) { } +#endif } diff --git a/test/std/numerics/rand/rand.device/eval.pass.cpp b/test/std/numerics/rand/rand.device/eval.pass.cpp index eabcc201e..6ecb04547 100644 --- a/test/std/numerics/rand/rand.device/eval.pass.cpp +++ b/test/std/numerics/rand/rand.device/eval.pass.cpp @@ -7,7 +7,6 @@ // //===----------------------------------------------------------------------===// -// XFAIL: libcpp-no-exceptions // // class random_device; @@ -26,6 +25,7 @@ int main() std::random_device::result_type e = r(); } +#ifndef TEST_HAS_NO_EXCEPTIONS try { std::random_device r("/dev/null"); @@ -35,4 +35,5 @@ int main() catch (const std::system_error&) { } +#endif }