summaryrefslogtreecommitdiffstats
path: root/library/cpp
diff options
context:
space:
mode:
authorrobot-piglet <[email protected]>2025-09-23 10:56:48 +0300
committerrobot-piglet <[email protected]>2025-09-23 11:11:13 +0300
commit7622c756ca5e4b12fe99b89708240584ddc66ed2 (patch)
tree258d7a8bfb2bd0ce92d612e1d40c66f8e46ad289 /library/cpp
parente98fb2fd19aa38ca0418b874a90ac49ccc038f90 (diff)
Intermediate changes
commit_hash:1442e9e3ce86ef63767d2526ff170888769e16ec
Diffstat (limited to 'library/cpp')
-rw-r--r--library/cpp/yt/backtrace/symbolizers/dwarf/unittests/backtrace_ut.cpp43
-rw-r--r--library/cpp/yt/backtrace/symbolizers/dwarf/unittests/ya.make25
-rw-r--r--library/cpp/yt/backtrace/symbolizers/dwarf/ya.make8
3 files changed, 71 insertions, 5 deletions
diff --git a/library/cpp/yt/backtrace/symbolizers/dwarf/unittests/backtrace_ut.cpp b/library/cpp/yt/backtrace/symbolizers/dwarf/unittests/backtrace_ut.cpp
new file mode 100644
index 00000000000..0d29a461b00
--- /dev/null
+++ b/library/cpp/yt/backtrace/symbolizers/dwarf/unittests/backtrace_ut.cpp
@@ -0,0 +1,43 @@
+#include <gtest/gtest.h>
+
+#include <gmock/gmock.h>
+
+#include <library/cpp/yt/backtrace/backtrace.h>
+
+#include <library/cpp/yt/backtrace/cursors/libunwind/libunwind_cursor.h>
+
+namespace NYT::NBacktrace {
+namespace {
+
+////////////////////////////////////////////////////////////////////////////////
+
+#ifdef SYMBOLIZED_BUILD
+
+using ::testing::ContainsRegex;
+
+std::string GetStackTrace()
+{
+ std::array<const void*, 1> buffer;
+ NBacktrace::TLibunwindCursor cursor;
+ auto backtrace = GetBacktrace(
+ &cursor,
+ TMutableRange(buffer),
+ /*framesToSkip*/ 0);
+ return SymbolizeBacktrace(backtrace);
+}
+
+TEST(TStackTrace, Format)
+{
+ ASSERT_THAT(
+ GetStackTrace(),
+ ContainsRegex(
+ "^ 1\\. 0x[0-9a-f]+ in NYT::NBacktrace::\\(anonymous namespace\\)::GetStackTrace.* "
+ "at .+/library/cpp/yt/backtrace/symbolizers/dwarf/unittests/backtrace_ut.cpp:[0-9]+\\n"));
+}
+
+#endif
+
+////////////////////////////////////////////////////////////////////////////////
+
+} // namespace
+} // namespace NYT::NBacktrace
diff --git a/library/cpp/yt/backtrace/symbolizers/dwarf/unittests/ya.make b/library/cpp/yt/backtrace/symbolizers/dwarf/unittests/ya.make
new file mode 100644
index 00000000000..4af7fcbc963
--- /dev/null
+++ b/library/cpp/yt/backtrace/symbolizers/dwarf/unittests/ya.make
@@ -0,0 +1,25 @@
+GTEST()
+
+INCLUDE(${ARCADIA_ROOT}/library/cpp/yt/ya_cpp.make.inc)
+
+SRCS(
+ backtrace_ut.cpp
+)
+
+CXXFLAGS(
+ -g
+)
+
+IF (BUILD_TYPE == "DEBUG" OR BUILD_TYPE == "PROFILE")
+ CXXFLAGS(-DSYMBOLIZED_BUILD)
+ENDIF()
+
+INCLUDE(${ARCADIA_ROOT}/yt/opensource.inc)
+
+PEERDIR(
+ library/cpp/testing/gtest
+ library/cpp/yt/backtrace/symbolizers/dwarf
+ library/cpp/yt/backtrace/cursors/libunwind
+)
+
+END()
diff --git a/library/cpp/yt/backtrace/symbolizers/dwarf/ya.make b/library/cpp/yt/backtrace/symbolizers/dwarf/ya.make
index bffeb676d8b..5862cc38408 100644
--- a/library/cpp/yt/backtrace/symbolizers/dwarf/ya.make
+++ b/library/cpp/yt/backtrace/symbolizers/dwarf/ya.make
@@ -11,8 +11,6 @@ PEERDIR(
END()
-IF (BUILD_TYPE == "DEBUG" OR BUILD_TYPE == "PROFILE")
- RECURSE_FOR_TESTS(
- unittests
- )
-ENDIF()
+RECURSE_FOR_TESTS(
+ unittests
+)