Skip to content

Commit cf95bc1

Browse files
committed
test-unit-file: move some tests to new test-env-file.c
1 parent d578f90 commit cf95bc1

File tree

3 files changed

+147
-130
lines changed

3 files changed

+147
-130
lines changed

src/test/meson.build

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -607,6 +607,10 @@ tests += [
607607
[],
608608
[]],
609609

610+
[['src/test/test-env-file.c'],
611+
[],
612+
[]],
613+
610614
[['src/test/test-env-util.c'],
611615
[],
612616
[]],

src/test/test-env-file.c

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
/* SPDX-License-Identifier: LGPL-2.1+ */
2+
3+
#include "env-file.h"
4+
#include "fd-util.h"
5+
#include "fs-util.h"
6+
#include "macro.h"
7+
#include "strv.h"
8+
#include "tests.h"
9+
#include "tmpfile-util.h"
10+
11+
#define env_file_1 \
12+
"a=a\n" \
13+
"b=b\\\n" \
14+
"c\n" \
15+
"d=d\\\n" \
16+
"e\\\n" \
17+
"f\n" \
18+
"g=g\\ \n" \
19+
"h=h\n" \
20+
"i=i\\"
21+
22+
#define env_file_2 \
23+
"a=a\\\n"
24+
25+
#define env_file_3 \
26+
"#SPAMD_ARGS=\"-d --socketpath=/var/lib/bulwark/spamd \\\n" \
27+
"#--nouser-config \\\n" \
28+
"normal=line"
29+
30+
#define env_file_4 \
31+
"# Generated\n" \
32+
"\n" \
33+
"HWMON_MODULES=\"coretemp f71882fg\"\n" \
34+
"\n" \
35+
"# For compatibility reasons\n" \
36+
"\n" \
37+
"MODULE_0=coretemp\n" \
38+
"MODULE_1=f71882fg"
39+
40+
#define env_file_5 \
41+
"a=\n" \
42+
"b="
43+
44+
static void test_load_env_file_1(void) {
45+
_cleanup_strv_free_ char **data = NULL;
46+
int r;
47+
48+
_cleanup_(unlink_tempfilep) char name[] = "/tmp/test-load-env-file.XXXXXX";
49+
_cleanup_close_ int fd;
50+
51+
fd = mkostemp_safe(name);
52+
assert_se(fd >= 0);
53+
assert_se(write(fd, env_file_1, strlen(env_file_1)) == strlen(env_file_1));
54+
55+
r = load_env_file(NULL, name, &data);
56+
assert_se(r == 0);
57+
assert_se(streq(data[0], "a=a"));
58+
assert_se(streq(data[1], "b=bc"));
59+
assert_se(streq(data[2], "d=def"));
60+
assert_se(streq(data[3], "g=g "));
61+
assert_se(streq(data[4], "h=h"));
62+
assert_se(streq(data[5], "i=i"));
63+
assert_se(data[6] == NULL);
64+
}
65+
66+
static void test_load_env_file_2(void) {
67+
_cleanup_strv_free_ char **data = NULL;
68+
int r;
69+
70+
_cleanup_(unlink_tempfilep) char name[] = "/tmp/test-load-env-file.XXXXXX";
71+
_cleanup_close_ int fd;
72+
73+
fd = mkostemp_safe(name);
74+
assert_se(fd >= 0);
75+
assert_se(write(fd, env_file_2, strlen(env_file_2)) == strlen(env_file_2));
76+
77+
r = load_env_file(NULL, name, &data);
78+
assert_se(r == 0);
79+
assert_se(streq(data[0], "a=a"));
80+
assert_se(data[1] == NULL);
81+
}
82+
83+
static void test_load_env_file_3(void) {
84+
_cleanup_strv_free_ char **data = NULL;
85+
int r;
86+
87+
_cleanup_(unlink_tempfilep) char name[] = "/tmp/test-load-env-file.XXXXXX";
88+
_cleanup_close_ int fd;
89+
90+
fd = mkostemp_safe(name);
91+
assert_se(fd >= 0);
92+
assert_se(write(fd, env_file_3, strlen(env_file_3)) == strlen(env_file_3));
93+
94+
r = load_env_file(NULL, name, &data);
95+
assert_se(r == 0);
96+
assert_se(data == NULL);
97+
}
98+
99+
static void test_load_env_file_4(void) {
100+
_cleanup_strv_free_ char **data = NULL;
101+
_cleanup_(unlink_tempfilep) char name[] = "/tmp/test-load-env-file.XXXXXX";
102+
_cleanup_close_ int fd;
103+
int r;
104+
105+
fd = mkostemp_safe(name);
106+
assert_se(fd >= 0);
107+
assert_se(write(fd, env_file_4, strlen(env_file_4)) == strlen(env_file_4));
108+
109+
r = load_env_file(NULL, name, &data);
110+
assert_se(r == 0);
111+
assert_se(streq(data[0], "HWMON_MODULES=coretemp f71882fg"));
112+
assert_se(streq(data[1], "MODULE_0=coretemp"));
113+
assert_se(streq(data[2], "MODULE_1=f71882fg"));
114+
assert_se(data[3] == NULL);
115+
}
116+
117+
static void test_load_env_file_5(void) {
118+
_cleanup_strv_free_ char **data = NULL;
119+
int r;
120+
121+
_cleanup_(unlink_tempfilep) char name[] = "/tmp/test-load-env-file.XXXXXX";
122+
_cleanup_close_ int fd;
123+
124+
fd = mkostemp_safe(name);
125+
assert_se(fd >= 0);
126+
assert_se(write(fd, env_file_5, strlen(env_file_5)) == strlen(env_file_5));
127+
128+
r = load_env_file(NULL, name, &data);
129+
assert_se(r == 0);
130+
assert_se(streq(data[0], "a="));
131+
assert_se(streq(data[1], "b="));
132+
assert_se(data[2] == NULL);
133+
}
134+
135+
int main(int argc, char *argv[]) {
136+
test_setup_logging(LOG_INFO);
137+
138+
test_load_env_file_1();
139+
test_load_env_file_2();
140+
test_load_env_file_3();
141+
test_load_env_file_4();
142+
test_load_env_file_5();
143+
}

src/test/test-unit-file.c

Lines changed: 0 additions & 130 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
#include "alloc-util.h"
1212
#include "capability-util.h"
1313
#include "conf-parser.h"
14-
#include "env-file.h"
1514
#include "fd-util.h"
1615
#include "format-util.h"
1716
#include "fs-util.h"
@@ -489,130 +488,6 @@ static void test_config_parse_log_extra_fields(void) {
489488
log_info("/* %s – bye */", __func__);
490489
}
491490

492-
#define env_file_1 \
493-
"a=a\n" \
494-
"b=b\\\n" \
495-
"c\n" \
496-
"d=d\\\n" \
497-
"e\\\n" \
498-
"f\n" \
499-
"g=g\\ \n" \
500-
"h=h\n" \
501-
"i=i\\"
502-
503-
#define env_file_2 \
504-
"a=a\\\n"
505-
506-
#define env_file_3 \
507-
"#SPAMD_ARGS=\"-d --socketpath=/var/lib/bulwark/spamd \\\n" \
508-
"#--nouser-config \\\n" \
509-
"normal=line"
510-
511-
#define env_file_4 \
512-
"# Generated\n" \
513-
"\n" \
514-
"HWMON_MODULES=\"coretemp f71882fg\"\n" \
515-
"\n" \
516-
"# For compatibility reasons\n" \
517-
"\n" \
518-
"MODULE_0=coretemp\n" \
519-
"MODULE_1=f71882fg"
520-
521-
#define env_file_5 \
522-
"a=\n" \
523-
"b="
524-
525-
static void test_load_env_file_1(void) {
526-
_cleanup_strv_free_ char **data = NULL;
527-
int r;
528-
529-
_cleanup_(unlink_tempfilep) char name[] = "/tmp/test-load-env-file.XXXXXX";
530-
_cleanup_close_ int fd;
531-
532-
fd = mkostemp_safe(name);
533-
assert_se(fd >= 0);
534-
assert_se(write(fd, env_file_1, strlen(env_file_1)) == strlen(env_file_1));
535-
536-
r = load_env_file(NULL, name, &data);
537-
assert_se(r == 0);
538-
assert_se(streq(data[0], "a=a"));
539-
assert_se(streq(data[1], "b=bc"));
540-
assert_se(streq(data[2], "d=def"));
541-
assert_se(streq(data[3], "g=g "));
542-
assert_se(streq(data[4], "h=h"));
543-
assert_se(streq(data[5], "i=i"));
544-
assert_se(data[6] == NULL);
545-
}
546-
547-
static void test_load_env_file_2(void) {
548-
_cleanup_strv_free_ char **data = NULL;
549-
int r;
550-
551-
_cleanup_(unlink_tempfilep) char name[] = "/tmp/test-load-env-file.XXXXXX";
552-
_cleanup_close_ int fd;
553-
554-
fd = mkostemp_safe(name);
555-
assert_se(fd >= 0);
556-
assert_se(write(fd, env_file_2, strlen(env_file_2)) == strlen(env_file_2));
557-
558-
r = load_env_file(NULL, name, &data);
559-
assert_se(r == 0);
560-
assert_se(streq(data[0], "a=a"));
561-
assert_se(data[1] == NULL);
562-
}
563-
564-
static void test_load_env_file_3(void) {
565-
_cleanup_strv_free_ char **data = NULL;
566-
int r;
567-
568-
_cleanup_(unlink_tempfilep) char name[] = "/tmp/test-load-env-file.XXXXXX";
569-
_cleanup_close_ int fd;
570-
571-
fd = mkostemp_safe(name);
572-
assert_se(fd >= 0);
573-
assert_se(write(fd, env_file_3, strlen(env_file_3)) == strlen(env_file_3));
574-
575-
r = load_env_file(NULL, name, &data);
576-
assert_se(r == 0);
577-
assert_se(data == NULL);
578-
}
579-
580-
static void test_load_env_file_4(void) {
581-
_cleanup_strv_free_ char **data = NULL;
582-
_cleanup_(unlink_tempfilep) char name[] = "/tmp/test-load-env-file.XXXXXX";
583-
_cleanup_close_ int fd;
584-
int r;
585-
586-
fd = mkostemp_safe(name);
587-
assert_se(fd >= 0);
588-
assert_se(write(fd, env_file_4, strlen(env_file_4)) == strlen(env_file_4));
589-
590-
r = load_env_file(NULL, name, &data);
591-
assert_se(r == 0);
592-
assert_se(streq(data[0], "HWMON_MODULES=coretemp f71882fg"));
593-
assert_se(streq(data[1], "MODULE_0=coretemp"));
594-
assert_se(streq(data[2], "MODULE_1=f71882fg"));
595-
assert_se(data[3] == NULL);
596-
}
597-
598-
static void test_load_env_file_5(void) {
599-
_cleanup_strv_free_ char **data = NULL;
600-
int r;
601-
602-
_cleanup_(unlink_tempfilep) char name[] = "/tmp/test-load-env-file.XXXXXX";
603-
_cleanup_close_ int fd;
604-
605-
fd = mkostemp_safe(name);
606-
assert_se(fd >= 0);
607-
assert_se(write(fd, env_file_5, strlen(env_file_5)) == strlen(env_file_5));
608-
609-
r = load_env_file(NULL, name, &data);
610-
assert_se(r == 0);
611-
assert_se(streq(data[0], "a="));
612-
assert_se(streq(data[1], "b="));
613-
assert_se(data[2] == NULL);
614-
}
615-
616491
static void test_install_printf(void) {
617492
char name[] = "name.service",
618493
path[] = "/run/systemd/system/name.service";
@@ -919,11 +794,6 @@ int main(int argc, char *argv[]) {
919794
test_config_parse_capability_set();
920795
test_config_parse_rlimit();
921796
test_config_parse_pass_environ();
922-
test_load_env_file_1();
923-
test_load_env_file_2();
924-
test_load_env_file_3();
925-
test_load_env_file_4();
926-
test_load_env_file_5();
927797
TEST_REQ_RUNNING_SYSTEMD(test_install_printf());
928798
test_unit_dump_config_items();
929799

0 commit comments

Comments
 (0)