diff options
author | Frantisek Sumsal <frantisek@sumsal.cz> | 2023-08-14 20:09:31 +0200 |
---|---|---|
committer | Frantisek Sumsal <frantisek@sumsal.cz> | 2023-08-14 20:09:31 +0200 |
commit | 01febfcdce0326aa1888d085c1009c9399f6a930 (patch) | |
tree | c43402c4c4603f7fed48d177ce0173f75535ec14 /test | |
parent | test: add coverage for #27953 (diff) | |
download | systemd-01febfcdce0326aa1888d085c1009c9399f6a930.tar.xz systemd-01febfcdce0326aa1888d085c1009c9399f6a930.zip |
test: explicitly specify a UTF-8 locale for UTF-8 shenanigans
As things don't work well without it:
$ LANG=C printf "\ufffe\n"
\uFFFE
Diffstat (limited to 'test')
-rwxr-xr-x | test/units/testsuite-07.mount-invalid-chars.sh | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/test/units/testsuite-07.mount-invalid-chars.sh b/test/units/testsuite-07.mount-invalid-chars.sh index b70e621126..5a07d14d04 100755 --- a/test/units/testsuite-07.mount-invalid-chars.sh +++ b/test/units/testsuite-07.mount-invalid-chars.sh @@ -23,7 +23,7 @@ TMP_MOUNTINFO="$(mktemp)" cp /proc/1/mountinfo "$TMP_MOUNTINFO" # Add a mount entry with a "Unicode non-character" in it -echo -ne '69 1 252:2 / /foo/mountinfo rw,relatime shared:1 - cifs //foo\ufffebar rw,seclabel\n' >>"$TMP_MOUNTINFO" +LANG="C.UTF-8" printf '69 1 252:2 / /foo/mountinfo rw,relatime shared:1 - cifs //foo\ufffebar rw,seclabel\n' >>"$TMP_MOUNTINFO" mount --bind "$TMP_MOUNTINFO" /proc/1/mountinfo systemctl daemon-reload # On affected versions this would throw an error: @@ -42,12 +42,12 @@ rm -f "$TMP_MOUNTINFO" # a) Unit generated from /etc/fstab [[ -e /etc/fstab ]] && cp -f /etc/fstab /tmp/fstab.bak -echo -ne '//localhost/foo\ufffebar /foo/fstab cifs defaults 0 0\n' >/etc/fstab +LANG="C.UTF-8" printf '//localhost/foo\ufffebar /foo/fstab cifs defaults 0 0\n' >/etc/fstab systemctl daemon-reload [[ "$(systemctl show -P UnitFileState foo-fstab.mount)" == bad ]] # b) Unit generated from /etc/fstab (but the invalid character is in options) -echo -ne '//localhost/foobar /foo/fstab/opt cifs nosuid,a\ufffeb,noexec 0 0\n' >/etc/fstab +LANG="C.UTF-8" printf '//localhost/foobar /foo/fstab/opt cifs nosuid,a\ufffeb,noexec 0 0\n' >/etc/fstab systemctl daemon-reload [[ "$(systemctl show -P UnitFileState foo-fstab-opt.mount)" == bad ]] rm -f /etc/fstab @@ -57,14 +57,14 @@ systemctl daemon-reload # c) Mount unit mkdir -p /run/systemd/system -echo -ne '[Mount]\nWhat=//localhost/foo\ufffebar\nWhere=/foo/unit\nType=cifs\nOptions=noexec\n' >/run/systemd/system/foo-unit.mount +LANG="C.UTF-8" printf '[Mount]\nWhat=//localhost/foo\ufffebar\nWhere=/foo/unit\nType=cifs\nOptions=noexec\n' >/run/systemd/system/foo-unit.mount systemctl daemon-reload [[ "$(systemctl show -P UnitFileState foo-unit.mount)" == bad ]] rm -f /run/systemd/system/foo-unit.mount # d) Mount unit (but the invalid character is in Options=) mkdir -p /run/systemd/system -echo -ne '[Mount]\nWhat=//localhost/foobar\nWhere=/foo/unit/opt\nType=cifs\nOptions=noexec,a\ufffeb,nosuid\n' >/run/systemd/system/foo-unit-opt.mount +LANG="C.UTF-8" printf '[Mount]\nWhat=//localhost/foobar\nWhere=/foo/unit/opt\nType=cifs\nOptions=noexec,a\ufffeb,nosuid\n' >/run/systemd/system/foo-unit-opt.mount systemctl daemon-reload [[ "$(systemctl show -P UnitFileState foo-unit-opt.mount)" == bad ]] rm -f /run/systemd/system/foo-unit-opt.mount |