Add ability to unwind stack for the current thread
Bug: webrtc:10308
Change-Id: Ia82cb7512524bede8da69bbc747ece6e718733ab
Reviewed-on: https://webrtc-review.googlesource.com/c/124993
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26945}
diff --git a/sdk/android/native_unittests/stacktrace/stacktrace_unittest.cc b/sdk/android/native_unittests/stacktrace/stacktrace_unittest.cc
index 9a78f7a..efec852 100644
--- a/sdk/android/native_unittests/stacktrace/stacktrace_unittest.cc
+++ b/sdk/android/native_unittests/stacktrace/stacktrace_unittest.cc
@@ -163,6 +163,16 @@
thread.Stop();
}
+TEST(Stacktrace, TestCurrentThread) {
+ const uint32_t start_addr = GetCurrentRelativeExecutionAddress();
+ const std::vector<StackTraceElement> stack_trace = GetStackTrace();
+ const uint32_t end_addr = GetCurrentRelativeExecutionAddress();
+ EXPECT_TRUE(StackTraceContainsRange(stack_trace, start_addr, end_addr))
+ << "Caller region: [" << rtc::ToHex(start_addr) << ", "
+ << rtc::ToHex(end_addr)
+ << "] not contained in: " << StackTraceToString(stack_trace);
+}
+
TEST(Stacktrace, TestSpinLock) {
TestStacktrace(absl::make_unique<SpinDeadlock>());
}