aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrobot-piglet <robot-piglet@yandex-team.com>2024-06-13 16:36:24 +0300
committerrobot-piglet <robot-piglet@yandex-team.com>2024-06-13 16:52:49 +0300
commitbe8f62f3ccb954ba45fbf627ce418b5b0c2aaa19 (patch)
treeb56ff8e1644db4248591a78a0a775d98178dee26
parent447c36130786f4d7ceb6ffb5f4dcc5f8181bb812 (diff)
downloadydb-be8f62f3ccb954ba45fbf627ce418b5b0c2aaa19.tar.gz
Intermediate changes
-rw-r--r--library/cpp/case_insensitive_string/ut_gtest/case_insensitive_string_compare.cpp19
1 files changed, 11 insertions, 8 deletions
diff --git a/library/cpp/case_insensitive_string/ut_gtest/case_insensitive_string_compare.cpp b/library/cpp/case_insensitive_string/ut_gtest/case_insensitive_string_compare.cpp
index fa37e075b8..cecd6f5044 100644
--- a/library/cpp/case_insensitive_string/ut_gtest/case_insensitive_string_compare.cpp
+++ b/library/cpp/case_insensitive_string/ut_gtest/case_insensitive_string_compare.cpp
@@ -54,21 +54,24 @@ TEST(CaseInsensitiveAsciiString, CompareAsciiWithoutNullBytes) {
}
}
-TEST(CaseInsensitiveAsciiString, MaySupportLocales) {
+TEST(CaseInsensitiveAsciiString, UnspecifiedBehaviorForNonAsciiStrings) {
TLocaleGuard loc("ru_RU.CP1251");
if (loc.Error()) {
GTEST_SKIP() << "ru_RU.CP1251 locale is not available: " << loc.Error();
}
- // strncasecmp is locale-dependent, not sure about strnicmp
+ // - strncasecmp in glibc is locale-dependent.
+ // - not sure about strnicmp (probably also locale-dependent).
+ // - strncasecmp in musl and bionic ignores locales.
+ // - ASan interceptor for strncasecmp ignores locales
{
- TCaseInsensitiveStringBuf s1 = "\xc0\xc1\xc2"; // "АБВ"
- TCaseInsensitiveStringBuf s2 = "\xe0\xe1\xe2"; // "абв"
- EXPECT_EQ(s1, s2);
+ TCaseInsensitiveAsciiStringBuf s1 = "\xc0\xc1\xc2"; // "АБВ"
+ TCaseInsensitiveAsciiStringBuf s2 = "\xe0\xe1\xe2"; // "абв"
+ EXPECT_TRUE(s1 == s2 || s1 < s2);
}
{
- TCaseInsensitiveStringBuf s1 = "\xc0\xc1\xc3"; // "АБГ"
- TCaseInsensitiveStringBuf s2 = "\xe0\xe1\xe2"; // "абв"
- EXPECT_GT(s1, s2);
+ TCaseInsensitiveAsciiStringBuf s1 = "\xc0\xc1\xc3"; // "АБГ"
+ TCaseInsensitiveAsciiStringBuf s2 = "\xe0\xe1\xe2"; // "абв"
+ EXPECT_TRUE(s1 > s2 || s1 < s2);
}
}