--- tests/session.c | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/tests/session.c b/tests/session.c index 00a5a1e..eace40a 100644 --- a/tests/session.c +++ b/tests/session.c @@ -1,6 +1,31 @@ #include <spice-client.h> -static void test_session_uri(void) +static void test_session_uri_bad(void) +{ + SpiceSession *s; + guint i; + const gchar *invalid_uris[] = { + "scheme://host?port", /* invalid scheme */ + "spice://[ipv6-host:42", /* missing closing ']' */ + "spice://host??", /* invalid key in URI */ + "spice://host:5900?unknown=value", /* unknown key */ + "spice://hostname", /* missing port */ + }; + + s = spice_session_new(); + + for (i = 0; i < G_N_ELEMENTS(invalid_uris); i++) { + gchar *uri = NULL; + g_object_set(s, "uri", invalid_uris[i], NULL); + g_object_get(s, "uri", &uri, NULL); + g_assert_null(uri); + g_free(uri); + } + + g_object_unref(s); +} + +static void test_session_uri_good(void) { SpiceSession *s; guint i; @@ -123,7 +148,8 @@ int main(int argc, char* argv[]) * test cases are going to test */ g_log_set_always_fatal(fatal_mask & G_LOG_LEVEL_MASK); - g_test_add_func("/session/uri", test_session_uri); + g_test_add_func("/session/bad-uri", test_session_uri_bad); + g_test_add_func("/session/good-uri", test_session_uri_good); return g_test_run(); } -- 2.8.2 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel