[Spice-devel] [PATCH 3/3] tests: add spice-session test
Marc-André Lureau
mlureau at redhat.com
Fri Feb 27 07:42:19 PST 2015
looks ok to me, ack
----- Original Message -----
> Checking if URIs are being parsed and generated correctly.
> ---
> tests/Makefile.am | 4 +++
> tests/session.c | 74
> +++++++++++++++++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 78 insertions(+)
> create mode 100644 tests/session.c
>
> diff --git a/tests/Makefile.am b/tests/Makefile.am
> index 0985a76..7889c5b 100644
> --- a/tests/Makefile.am
> +++ b/tests/Makefile.am
> @@ -3,6 +3,7 @@ NULL =
> noinst_PROGRAMS = \
> coroutine \
> util \
> + session \
> $(NULL)
>
> TESTS = $(noinst_PROGRAMS)
> @@ -31,4 +32,7 @@ coroutine_LDADD = \
> $(top_builddir)/gtk/.libs/coroutine_ucontext.o \
> $(top_builddir)/gtk/.libs/continuation.o
>
> +session_SOURCES = \
> + session.c
> +
> -include $(top_srcdir)/git.mk
> diff --git a/tests/session.c b/tests/session.c
> new file mode 100644
> index 0000000..6821d12
> --- /dev/null
> +++ b/tests/session.c
> @@ -0,0 +1,74 @@
> +#include <glib.h>
> +
> +#include "spice-session.h"
> +
> +static void test_session_uri(void)
> +{
> + SpiceSession *s;
> + gint i;
> +
> + struct {
> + gchar *port;
> + gchar *tls_port;
> + gchar *uri_input;
> + gchar *uri_output;
> + } tests[] = {
> + /* Arguments with empty value */
> + { "5900", NULL,
> + "spice://localhost?port=5900&tls-port=",
> + "spice://localhost?port=5900&" },
> + { "5910", NULL,
> + "spice://localhost?tls-port=&port=5910",
> + "spice://localhost?port=5910&" },
> + { NULL, "5920",
> + "spice://localhost?tls-port=5920&port=",
> + "spice://localhost?tls-port=5920" },
> + { NULL, "5930",
> + "spice://localhost?port=&tls-port=5930",
> + "spice://localhost?tls-port=5930" },
> + };
> +
> + /* Set URI and check URI, port and tls_port */
> + for (i = 0; i < G_N_ELEMENTS(tests); i++) {
> + gchar *uri, *port, *tls_port;
> +
> + s = spice_session_new();
> + g_object_set(s, "uri", tests[i].uri_input, NULL);
> + g_object_get(s,
> + "uri", &uri,
> + "port", &port,
> + "tls-port", &tls_port,
> + NULL);
> + g_assert_cmpstr (tests[i].uri_output, ==, uri);
> + g_assert_cmpstr (tests[i].port, ==, port);
> + g_assert_cmpstr (tests[i].tls_port, ==, tls_port);
> + g_clear_pointer (&uri, g_free);
> + g_clear_pointer (&port, g_free);
> + g_clear_pointer (&tls_port, g_free);
> + g_object_unref (s);
> + }
> +
> + /* Set port and tls_port, check URI */
> + for (i = 0; i < G_N_ELEMENTS(tests); i++) {
> + gchar *uri;
> +
> + s = spice_session_new();
> + g_object_set(s,
> + "port", tests[i].port,
> + "tls-port", tests[i].tls_port,
> + NULL);
> + g_object_get(s, "uri", &uri, NULL);
> + g_assert_cmpstr (tests[i].uri_output, ==, uri);
> + g_clear_pointer (&uri, g_free);
> + g_object_unref (s);
> + }
> +}
> +
> +int main(int argc, char* argv[])
> +{
> + g_test_init(&argc, &argv, NULL);
> +
> + g_test_add_func("/session/uri", test_session_uri);
> +
> + return g_test_run ();
> +}
> --
> 2.1.0
>
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
>
More information about the Spice-devel
mailing list