[Spice-devel] [PATCH spice-server v6 02/10] test-sasl: Add code to mocking functions to test state

Christophe de Dinechin christophe.de.dinechin at gmail.com
Tue Jan 9 09:19:12 UTC 2018



> On 9 Jan 2018, at 08:44, Frediano Ziglio <fziglio at redhat.com> wrote:
> 
> Check some functions are called in a given sequence.
> 
> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> ---
> server/tests/test-sasl.c | 19 +++++++++++++++++++
> 1 file changed, 19 insertions(+)
> 
> diff --git a/server/tests/test-sasl.c b/server/tests/test-sasl.c
> index 0e4c633c..85332974 100644
> --- a/server/tests/test-sasl.c
> +++ b/server/tests/test-sasl.c
> @@ -29,6 +29,10 @@
> #include "basic-event-loop.h"
> 
> static char *mechlist;

> +static bool mechlist_called;
> +static bool start_called;
> +static bool step_called;
> +static bool encode_called;

Variables are used only for assertions.
What about putting declarations under #ifndef G_DISABLE_ASSERT?

> 
> static void
> check_sasl_conn(sasl_conn_t *conn)
> @@ -49,6 +53,8 @@ sasl_decode(sasl_conn_t *conn,
>             const char **output, unsigned *outputlen)
> {
>     check_sasl_conn(conn);
> +    g_assert(start_called);
> +
>     return SASL_NOTDONE;
> }
> 
> @@ -58,6 +64,9 @@ sasl_encode(sasl_conn_t *conn,
>             const char **output, unsigned *outputlen)
> {
>     check_sasl_conn(conn);
> +    g_assert(start_called);
> +
> +    encode_called = true;

Also #ifndef G_DISABLE_ASSERT.

Alternative is to use:

	g_assert(encode_called = true);

but I’m afraid some readers might be surprised by this use of g_assert.

>     return SASL_NOTDONE;
> }
> 
> @@ -139,6 +148,10 @@ sasl_listmech(sasl_conn_t *conn,
>     g_assert_nonnull(prefix);
>     g_assert_nonnull(sep);
>     g_assert_nonnull(suffix);
> +    g_assert(!mechlist_called);
> +    g_assert(!start_called);
> +    g_assert(!step_called);
> +    mechlist_called = true;
> 
>     g_free(mechlist);
>     mechlist = g_strjoin("", prefix, "ONE", sep, "TWO", sep, "THREE", suffix, NULL);
> @@ -156,6 +169,10 @@ sasl_server_start(sasl_conn_t *conn,
> {
>     check_sasl_conn(conn);
>     g_assert_nonnull(serverout);
> +    g_assert(mechlist_called);
> +    g_assert(!start_called);
> +    g_assert(!step_called);
> +    start_called = true;
> 
>     *serverout = "foo";
>     *serveroutlen = 3;
> @@ -171,6 +188,8 @@ sasl_server_step(sasl_conn_t *conn,
> {
>     check_sasl_conn(conn);
>     g_assert_nonnull(serverout);
> +    g_assert(start_called);
> +    step_called = true;
> 
>     *serverout = "foo";
>     *serveroutlen = 3;
> -- 
> 2.14.3
> 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/spice-devel



More information about the Spice-devel mailing list