1
0
mirror of https://github.com/systemd/systemd.git synced 2025-03-10 16:58:28 +03:00

test: add a couple of tests with invalid UTF-8 characters

This commit is contained in:
Frantisek Sumsal 2023-04-15 22:22:56 +02:00
parent 192242c986
commit 841834d9c3

View File

@ -58,7 +58,6 @@
"d= \" \\n\\t\\$\\`\\\\\n" \
"\" \n"
TEST(load_env_file_1) {
_cleanup_(unlink_tempfilep) char name[] = "/tmp/test-load-env-file.XXXXXX";
assert_se(write_tmpfile(name, env_file_1) == 0);
@ -129,6 +128,25 @@ TEST(load_env_file_6) {
assert_se(data[4] == NULL);
}
TEST(load_env_file_invalid_utf8) {
/* Test out a couple of assignments where the key/value has an invalid
* UTF-8 character ("noncharacter")
*
* See: https://en.wikipedia.org/wiki/Universal_Character_Set_characters#Non-characters
*/
FOREACH_STRING(s,
"fo\ufffeo=bar",
"foo=b\uffffar",
"baz=hello world\ufffe") {
_cleanup_(unlink_tempfilep) char name[] = "/tmp/test-load-env-file.XXXXXX";
assert_se(write_tmpfile(name, s) == 0);
_cleanup_strv_free_ char **data = NULL;
assert_se(load_env_file(NULL, name, &data) == -EINVAL);
assert_se(!data);
}
}
TEST(write_and_load_env_file) {
/* Make sure that our writer, parser and the shell agree on what our env var files mean */