[libcxx] [test] D26625: future_error::what() is implementation-defined.

llvm-svn: 286983
This commit is contained in:
Stephan T. Lavavej 2016-11-15 17:00:32 +00:00
parent 49188b1d3c
commit 64bac8b5fe
1 changed files with 6 additions and 4 deletions

View File

@ -26,25 +26,27 @@
#include <cstring>
#include <cassert>
#include "test_macros.h"
int main()
{
{
std::future_error f(std::make_error_code(std::future_errc::broken_promise));
assert(std::strcmp(f.what(), "The associated promise has been destructed prior "
LIBCPP_ASSERT(std::strcmp(f.what(), "The associated promise has been destructed prior "
"to the associated state becoming ready.") == 0);
}
{
std::future_error f(std::make_error_code(std::future_errc::future_already_retrieved));
assert(std::strcmp(f.what(), "The future has already been retrieved from "
LIBCPP_ASSERT(std::strcmp(f.what(), "The future has already been retrieved from "
"the promise or packaged_task.") == 0);
}
{
std::future_error f(std::make_error_code(std::future_errc::promise_already_satisfied));
assert(std::strcmp(f.what(), "The state of the promise has already been set.") == 0);
LIBCPP_ASSERT(std::strcmp(f.what(), "The state of the promise has already been set.") == 0);
}
{
std::future_error f(std::make_error_code(std::future_errc::no_state));
assert(std::strcmp(f.what(), "Operation not permitted on an object without "
LIBCPP_ASSERT(std::strcmp(f.what(), "Operation not permitted on an object without "
"an associated state.") == 0);
}
}