]> www.infradead.org Git - qemu-nvme.git/commitdiff
test-keyval: Demonstrate misparse of ',' with implied key
authorMarkus Armbruster <armbru@redhat.com>
Sun, 11 Oct 2020 07:35:00 +0000 (09:35 +0200)
committerKevin Wolf <kwolf@redhat.com>
Thu, 15 Oct 2020 14:06:27 +0000 (16:06 +0200)
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>
tests/test-keyval.c

index e331a84149d3bfbb65aaca3c813f218fcf9d1dd2..f02bdf70293c459c27992a31b8dcf691ba9db5ec 100644 (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);