diff options
author | Vedant Kumar <vsk@apple.com> | 2016-05-03 23:32:31 +0000 |
---|---|---|
committer | Vedant Kumar <vsk@apple.com> | 2016-05-03 23:32:31 +0000 |
commit | 27370a09dd61ad68e89dcf2495c09987ab8a1790 (patch) | |
tree | d729508ae374477ce8e47535ce9752d727e57485 /llvm/unittests/Support/ErrorTest.cpp | |
parent | af9e27d2dc283387b14598301b2b3950323d8022 (diff) | |
download | bcm5719-llvm-27370a09dd61ad68e89dcf2495c09987ab8a1790.tar.gz bcm5719-llvm-27370a09dd61ad68e89dcf2495c09987ab8a1790.zip |
[Support] Add a free toString function for Error
toString() consumes an Error and returns a string representation of its
contents. This commit also adds a message() method to ErrorInfoBase for
convenience.
Differential Revision: http://reviews.llvm.org/D19883
llvm-svn: 268465
Diffstat (limited to 'llvm/unittests/Support/ErrorTest.cpp')
-rw-r--r-- | llvm/unittests/Support/ErrorTest.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/llvm/unittests/Support/ErrorTest.cpp b/llvm/unittests/Support/ErrorTest.cpp index f7e3b398c87..c2a1673f42d 100644 --- a/llvm/unittests/Support/ErrorTest.cpp +++ b/llvm/unittests/Support/ErrorTest.cpp @@ -544,4 +544,23 @@ TEST(Error, ErrorCodeConversions) { } } +// Test that error messages work. +TEST(Error, ErrorMessage) { + EXPECT_EQ(toString(Error::success()).compare(""), 0); + + Error E1 = make_error<CustomError>(0); + EXPECT_EQ(toString(std::move(E1)).compare("CustomError { 0}"), 0); + + Error E2 = make_error<CustomError>(0); + handleAllErrors(std::move(E2), [](const CustomError &CE) { + EXPECT_EQ(CE.message().compare("CustomError { 0}"), 0); + }); + + Error E3 = joinErrors(make_error<CustomError>(0), make_error<CustomError>(1)); + EXPECT_EQ(toString(std::move(E3)) + .compare("CustomError { 0}\n" + "CustomError { 1}"), + 0); +} + } // end anon namespace |