summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/Support/ErrorTest.cpp
diff options
context:
space:
mode:
authorVedant Kumar <vsk@apple.com>2016-05-03 23:32:31 +0000
committerVedant Kumar <vsk@apple.com>2016-05-03 23:32:31 +0000
commit27370a09dd61ad68e89dcf2495c09987ab8a1790 (patch)
treed729508ae374477ce8e47535ce9752d727e57485 /llvm/unittests/Support/ErrorTest.cpp
parentaf9e27d2dc283387b14598301b2b3950323d8022 (diff)
downloadbcm5719-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.cpp19
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
OpenPOWER on IntegriCloud