summaryrefslogtreecommitdiff
path: root/src/test/test-conf-parser.c
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2019-11-22 11:16:17 +0100
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2019-11-22 15:27:22 +0100
commitddeb3f5d4b7ce67c23fde0ad149fb06b29a92f2a (patch)
tree82c53f8285bba95c919876c9195158cbd2202e50 /src/test/test-conf-parser.c
parent94a404cb0357fd30bee34ee94cbb481e97098ce1 (diff)
downloadsystemd-ddeb3f5d4b7ce67c23fde0ad149fb06b29a92f2a.tar.gz
shared/conf-parser: allow sections to be silently ignored with new -Section syntax
If we ignore any uknown section, we will not be able to show any warning if a typo in a section name is made. Let's reverse our approach, and explicitly list sections to ignore instead. I opted to make use the same section list for this, instead of adding a second list, because this list is passed through to many functions and adding yet another parameter to the long signature would be very noisy.
Diffstat (limited to 'src/test/test-conf-parser.c')
-rw-r--r--src/test/test-conf-parser.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/test/test-conf-parser.c b/src/test/test-conf-parser.c
index 597265efa6..b392a2b5ec 100644
--- a/src/test/test-conf-parser.c
+++ b/src/test/test-conf-parser.c
@@ -299,6 +299,15 @@ static const char* const config_file[] = {
"[Section]\n"
"setting1=" /* many continuation lines, together above the limit */
x1000(x1000("x") x10("abcde") "\\\n") "xxx",
+
+ "[Section]\n"
+ "setting1=2\n"
+ "[NoWarnSection]\n"
+ "setting1=3\n"
+ "[WarnSection]\n"
+ "setting1=3\n"
+ "[X-Section]\n"
+ "setting1=3\n",
};
static void test_config_parse(unsigned i, const char *s) {
@@ -325,14 +334,12 @@ static void test_config_parse(unsigned i, const char *s) {
const char *sections,
ConfigItemLookup lookup,
const void *table,
- bool relaxed,
- bool allow_include,
- bool warn,
+ ConfigParseFlags flags,
void *userdata)
*/
r = config_parse(NULL, name, f,
- "Section\0",
+ "Section\0-NoWarnSection\0",
config_item_table_lookup, items,
CONFIG_PARSE_WARN, NULL);
@@ -366,6 +373,11 @@ static void test_config_parse(unsigned i, const char *s) {
assert_se(r == -ENOBUFS);
assert_se(setting1 == NULL);
break;
+
+ case 17:
+ assert_se(r == 0);
+ assert_se(streq(setting1, "2"));
+ break;
}
}