summaryrefslogtreecommitdiffstats
path: root/library/cpp/yt/error/unittests/error_ut.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'library/cpp/yt/error/unittests/error_ut.cpp')
-rw-r--r--library/cpp/yt/error/unittests/error_ut.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/library/cpp/yt/error/unittests/error_ut.cpp b/library/cpp/yt/error/unittests/error_ut.cpp
index 198aa1ecd8b..a5576fad58a 100644
--- a/library/cpp/yt/error/unittests/error_ut.cpp
+++ b/library/cpp/yt/error/unittests/error_ut.cpp
@@ -397,6 +397,22 @@ TEST(TErrorTest, FormatCtor)
EXPECT_EQ("Some error hello", TError("Some error %v", "hello").GetMessage());
}
+TEST(TErrorTest, ExceptionCtor)
+{
+ {
+ auto error = TError(std::runtime_error("Some error"));
+ EXPECT_EQ(error.GetMessage(), "Some error");
+ EXPECT_EQ(error.Attributes().Get<std::string>("exception_type"), "std::runtime_error");
+ }
+ EXPECT_EQ(TError(std::runtime_error("Some bad char sequences: %v %Qv {}")).GetMessage(),
+ "Some bad char sequences: %v %Qv {}");
+
+ EXPECT_EQ(TError(TSimpleException("Some error")).GetMessage(),
+ "Some error");
+ EXPECT_EQ(TError(TSimpleException("Some bad char sequences: %v %d {}")).GetMessage(),
+ "Some bad char sequences: %v %d {}");
+}
+
TEST(TErrorTest, FindRecursive)
{
auto inner = TError("Inner")