test-keyval: Demonstrate misparse of ',' with implied key

Add a test for "val,,ue" with implied key.  Documentation says this
should parse as implied key with value "val", then fail.  The code
parses it as implied key with value "val,ue", then succeeds.  The next
commit will fix it.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20201011073505.1185335-3-armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
master
Markus Armbruster 2020-10-11 09:35:00 +02:00 committed by Kevin Wolf
parent fec3331894
commit ce40cbf11d
1 changed files with 7 additions and 0 deletions

View File

@ -182,6 +182,13 @@ static void test_keyval_parse(void)
error_free_or_abort(&err);
g_assert(!qdict);
/* Implied key's value can't have comma (qemu_opts_parse(): it can) */
/* BUG: it can */
qdict = keyval_parse("val,,ue", "implied", &error_abort);
g_assert_cmpuint(qdict_size(qdict), ==, 1);
g_assert_cmpstr(qdict_get_try_str(qdict, "implied"), ==, "val,ue");
qobject_unref(qdict);
/* Empty key is not an implied key */
qdict = keyval_parse("=val", "implied", &err);
error_free_or_abort(&err);