From d3b6d0c21ea5a0d15ec6dbd8b8d179138b7463bc Mon Sep 17 00:00:00 2001 From: Zbigniew Jędrzejewski-Szmek Date: Sat, 13 Apr 2013 20:22:53 -0400 Subject: fileio: in envfiles, do not skip lines following empty lines https://bugs.freedesktop.org/show_bug.cgi?id=63477 --- src/test/test-unit-file.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'src/test/test-unit-file.c') diff --git a/src/test/test-unit-file.c b/src/test/test-unit-file.c index 3cf84637e8..1bf11e66a5 100644 --- a/src/test/test-unit-file.c +++ b/src/test/test-unit-file.c @@ -199,6 +199,17 @@ static void test_config_parse_exec(void) { "#--nouser-config \\\n" \ "normal=line" +#define env_file_4 \ + "# Generated\n" \ + "\n" \ + "HWMON_MODULES=\"coretemp f71882fg\"\n" \ + "\n" \ + "# For compatibility reasons\n" \ + "\n" \ + "MODULE_0=coretemp\n" \ + "MODULE_1=f71882fg" + + static void test_load_env_file_1(void) { char _cleanup_strv_free_ **data = NULL; int r; @@ -251,6 +262,25 @@ static void test_load_env_file_3(void) { unlink(name); } +static void test_load_env_file_4(void) { + char _cleanup_strv_free_ **data = NULL; + int r; + + char name[] = "/tmp/test-load-env-file.XXXXXX"; + int _cleanup_close_ fd = mkstemp(name); + assert(fd >= 0); + assert_se(write(fd, env_file_4, sizeof(env_file_4)) == sizeof(env_file_4)); + + r = load_env_file(name, NULL, &data); + assert(r == 0); + assert(streq(data[0], "HWMON_MODULES=coretemp f71882fg")); + assert(streq(data[1], "MODULE_0=coretemp")); + assert(streq(data[2], "MODULE_1=f71882fg")); + assert(data[3] == NULL); + unlink(name); +} + + #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wnonnull" @@ -327,6 +357,7 @@ int main(int argc, char *argv[]) { test_load_env_file_1(); test_load_env_file_2(); test_load_env_file_3(); + test_load_env_file_4(); test_install_printf(); return 0; -- cgit v1.2.3-54-g00ecf