aboutsummaryrefslogtreecommitdiff
path: root/tests/test-qapi-util.c
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2017-02-28 22:27:04 +0100
committerMarkus Armbruster <armbru@redhat.com>2017-03-07 16:07:47 +0100
commit069b64e3fe75c81edef6685c9941a7937a48fec4 (patch)
tree4100f5d87d5d79e7348e5341bdf93990b84327d0 /tests/test-qapi-util.c
parent6c873d1149d47201dbb71f6e04791447605a17e1 (diff)
qapi: New parse_qapi_name()
Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-Id: <1488317230-26248-19-git-send-email-armbru@redhat.com>
Diffstat (limited to 'tests/test-qapi-util.c')
-rw-r--r--tests/test-qapi-util.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/test-qapi-util.c b/tests/test-qapi-util.c
index 39db8bfa14..e8697577a5 100644
--- a/tests/test-qapi-util.c
+++ b/tests/test-qapi-util.c
@@ -42,10 +42,44 @@ static void test_qapi_enum_parse(void)
g_assert_cmpint(ret, ==, QTYPE__MAX - 1);
}
+static void test_parse_qapi_name(void)
+{
+ int ret;
+
+ /* Must start with a letter */
+ ret = parse_qapi_name("a", true);
+ g_assert(ret == 1);
+ ret = parse_qapi_name("a$", false);
+ g_assert(ret == 1);
+ ret = parse_qapi_name("", false);
+ g_assert(ret == -1);
+ ret = parse_qapi_name("1", false);
+ g_assert(ret == -1);
+
+ /* Only letters, digits, hyphen, underscore */
+ ret = parse_qapi_name("A-Za-z0-9_", true);
+ g_assert(ret == 10);
+ ret = parse_qapi_name("A-Za-z0-9_$", false);
+ g_assert(ret == 10);
+ ret = parse_qapi_name("A-Za-z0-9_$", true);
+ g_assert(ret == -1);
+
+ /* __RFQDN_ */
+ ret = parse_qapi_name("__com.redhat_supports", true);
+ g_assert(ret == 21);
+ ret = parse_qapi_name("_com.example_", false);
+ g_assert(ret == -1);
+ ret = parse_qapi_name("__com.example", false);
+ g_assert(ret == -1);
+ ret = parse_qapi_name("__com.example_", false);
+ g_assert(ret == -1);
+}
+
int main(int argc, char *argv[])
{
g_test_init(&argc, &argv, NULL);
g_test_add_func("/qapi/util/qapi_enum_parse", test_qapi_enum_parse);
+ g_test_add_func("/qapi/util/parse_qapi_name", test_parse_qapi_name);
g_test_run();
return 0;
}