aboutsummaryrefslogtreecommitdiff
path: root/absl/debugging/internal/demangle_test.cc
diff options
context:
space:
mode:
authorChris Mihelich <cmihelic@google.com>2024-05-06 05:56:26 -0700
committerCopybara-Service <copybara-worker@google.com>2024-05-06 05:57:30 -0700
commita28ee5b51c9ea41707d9a5d2d358ad77850264c4 (patch)
tree98b00df448483279f43bd48d015067e8dbdbcb21 /absl/debugging/internal/demangle_test.cc
parentc1e1b47d989978cde8c5a2a219df425b785a0c47 (diff)
downloadabseil-a28ee5b51c9ea41707d9a5d2d358ad77850264c4.tar.gz
abseil-a28ee5b51c9ea41707d9a5d2d358ad77850264c4.tar.bz2
abseil-a28ee5b51c9ea41707d9a5d2d358ad77850264c4.zip
Recognize some simple Rust mangled names in Demangle.
PiperOrigin-RevId: 631018414 Change-Id: Ice8efa0af4cb1f72b5d62fbbea4cb12cbead8634
Diffstat (limited to 'absl/debugging/internal/demangle_test.cc')
-rw-r--r--absl/debugging/internal/demangle_test.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/absl/debugging/internal/demangle_test.cc b/absl/debugging/internal/demangle_test.cc
index 2771d4d0..b6318302 100644
--- a/absl/debugging/internal/demangle_test.cc
+++ b/absl/debugging/internal/demangle_test.cc
@@ -300,6 +300,15 @@ TEST(Demangle, AbiTags) {
EXPECT_STREQ("C[abi:bar][abi:foo]()", tmp);
}
+// Test one Rust symbol to exercise Demangle's delegation path. Rust demangling
+// itself is more thoroughly tested in demangle_rust_test.cc.
+TEST(Demangle, DelegatesToDemangleRustSymbolEncoding) {
+ char tmp[80];
+
+ EXPECT_TRUE(Demangle("_RNvC8my_crate7my_func", tmp, sizeof(tmp)));
+ EXPECT_STREQ("my_crate::my_func", tmp);
+}
+
// Tests that verify that Demangle footprint is within some limit.
// They are not to be run under sanitizers as the sanitizers increase
// stack consumption by about 4x.