diff options
Diffstat (limited to 'test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp')
-rw-r--r-- | test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp b/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp index 972299936ddf..65ecc4921212 100644 --- a/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp +++ b/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp @@ -16,10 +16,24 @@ #include <system_error> #include <cassert> #include <string> +#include <cerrno> + +#include "test_macros.h" + +void test_message_for_bad_value() { + errno = E2BIG; // something that message will never generate + const std::error_category& e_cat1 = std::generic_category(); + const std::string msg = e_cat1.message(-1); + LIBCPP_ASSERT(msg == "Unknown error -1"); + assert(errno == E2BIG); +} int main() { const std::error_category& e_cat1 = std::generic_category(); std::string m1 = e_cat1.name(); assert(m1 == "generic"); + { + test_message_for_bad_value(); + } } |