diff options
| author | robot-piglet <[email protected]> | 2025-09-23 10:56:48 +0300 |
|---|---|---|
| committer | robot-piglet <[email protected]> | 2025-09-23 11:11:13 +0300 |
| commit | 7622c756ca5e4b12fe99b89708240584ddc66ed2 (patch) | |
| tree | 258d7a8bfb2bd0ce92d612e1d40c66f8e46ad289 /library/cpp | |
| parent | e98fb2fd19aa38ca0418b874a90ac49ccc038f90 (diff) | |
Intermediate changes
commit_hash:1442e9e3ce86ef63767d2526ff170888769e16ec
Diffstat (limited to 'library/cpp')
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 +) |
