加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
backport-fix-test-string-util-failed-when-locale-is-not-utf8.patch 4.16 KB
一键复制 编辑 原始数据 按行查看 历史
From bad124022e97195191d3dd1ea2b5b9aa9df57aea Mon Sep 17 00:00:00 2001
From: yangmingtai <961612727@qq.com>
Date: Tue, 11 Jan 2022 20:22:11 +0800
Subject: [PATCH] fix test-string-util failed when locale is not utf8
(cherry picked from commit 647082cf7f07a87c65601626e86c3ed9f78fb387)
(cherry picked from commit 32f33c9474ab89061d799a92a1273b106468e8c6)
Conflict:NA
Reference:https://github.com/systemd/systemd/commit/bad124022e97195191d3dd1ea2b5b9aa9df57aea
---
src/test/test-string-util.c | 32 ++++++++++++++++----------------
1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/src/test/test-string-util.c b/src/test/test-string-util.c
index 4d9d0260c9..266aee9115 100644
--- a/src/test/test-string-util.c
+++ b/src/test/test-string-util.c
@@ -176,33 +176,33 @@ static void test_cellescape(void) {
assert_se(streq(cellescape(buf, 1, "\020"), ""));
assert_se(streq(cellescape(buf, 2, "\020"), "."));
assert_se(streq(cellescape(buf, 3, "\020"), ".."));
- assert_se(streq(cellescape(buf, 4, "\020"), "…"));
+ assert_se(streq(cellescape(buf, 4, "\020"), is_locale_utf8() ? "…" : "..."));
assert_se(streq(cellescape(buf, 5, "\020"), "\\020"));
- assert_se(streq(cellescape(buf, 5, "1234\020"), "1…"));
- assert_se(streq(cellescape(buf, 6, "1234\020"), "12…"));
- assert_se(streq(cellescape(buf, 7, "1234\020"), "123…"));
- assert_se(streq(cellescape(buf, 8, "1234\020"), "1234…"));
+ assert_se(streq(cellescape(buf, 5, "1234\020"), is_locale_utf8() ? "1…" : "1..."));
+ assert_se(streq(cellescape(buf, 6, "1234\020"), is_locale_utf8() ? "12…" : "12..."));
+ assert_se(streq(cellescape(buf, 7, "1234\020"), is_locale_utf8() ? "123…" : "123..."));
+ assert_se(streq(cellescape(buf, 8, "1234\020"), is_locale_utf8() ? "1234…" : "1234..."));
assert_se(streq(cellescape(buf, 9, "1234\020"), "1234\\020"));
assert_se(streq(cellescape(buf, 1, "\t\n"), ""));
assert_se(streq(cellescape(buf, 2, "\t\n"), "."));
assert_se(streq(cellescape(buf, 3, "\t\n"), ".."));
- assert_se(streq(cellescape(buf, 4, "\t\n"), "…"));
+ assert_se(streq(cellescape(buf, 4, "\t\n"), is_locale_utf8() ? "…" : "..."));
assert_se(streq(cellescape(buf, 5, "\t\n"), "\\t\\n"));
- assert_se(streq(cellescape(buf, 5, "1234\t\n"), "1…"));
- assert_se(streq(cellescape(buf, 6, "1234\t\n"), "12…"));
- assert_se(streq(cellescape(buf, 7, "1234\t\n"), "123…"));
- assert_se(streq(cellescape(buf, 8, "1234\t\n"), "1234…"));
+ assert_se(streq(cellescape(buf, 5, "1234\t\n"), is_locale_utf8() ? "1…" : "1..."));
+ assert_se(streq(cellescape(buf, 6, "1234\t\n"), is_locale_utf8() ? "12…" : "12..."));
+ assert_se(streq(cellescape(buf, 7, "1234\t\n"), is_locale_utf8() ? "123…" : "123..."));
+ assert_se(streq(cellescape(buf, 8, "1234\t\n"), is_locale_utf8() ? "1234…" : "1234..."));
assert_se(streq(cellescape(buf, 9, "1234\t\n"), "1234\\t\\n"));
- assert_se(streq(cellescape(buf, 4, "x\t\020\n"), "…"));
- assert_se(streq(cellescape(buf, 5, "x\t\020\n"), "x…"));
- assert_se(streq(cellescape(buf, 6, "x\t\020\n"), "x…"));
- assert_se(streq(cellescape(buf, 7, "x\t\020\n"), "x\\t…"));
- assert_se(streq(cellescape(buf, 8, "x\t\020\n"), "x\\t…"));
- assert_se(streq(cellescape(buf, 9, "x\t\020\n"), "x\\t…"));
+ assert_se(streq(cellescape(buf, 4, "x\t\020\n"), is_locale_utf8() ? "…" : "..."));
+ assert_se(streq(cellescape(buf, 5, "x\t\020\n"), is_locale_utf8() ? "x…" : "x..."));
+ assert_se(streq(cellescape(buf, 6, "x\t\020\n"), is_locale_utf8() ? "x…" : "x..."));
+ assert_se(streq(cellescape(buf, 7, "x\t\020\n"), is_locale_utf8() ? "x\\t…" : "x\\t..."));
+ assert_se(streq(cellescape(buf, 8, "x\t\020\n"), is_locale_utf8() ? "x\\t…" : "x\\t..."));
+ assert_se(streq(cellescape(buf, 9, "x\t\020\n"), is_locale_utf8() ? "x\\t…" : "x\\t..."));
assert_se(streq(cellescape(buf, 10, "x\t\020\n"), "x\\t\\020\\n"));
assert_se(streq(cellescape(buf, 6, "1\011"), "1\\t"));
--
2.33.0
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化