[Spice-devel] [PATCH spice-server 09/16] test-sasl: Add code for mocking function to test state

Frediano Ziglio fziglio at redhat.com
Thu Dec 14 10:07:41 UTC 2017


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 e9493f10e..4b1d778c0 100644
--- a/server/tests/test-sasl.c
+++ b/server/tests/test-sasl.c
@@ -30,6 +30,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;
 
 static void
 check_sasl_conn(sasl_conn_t *conn)
@@ -50,6 +54,8 @@ sasl_decode(sasl_conn_t *conn,
             const char **output, unsigned *outputlen)
 {
     check_sasl_conn(conn);
+    g_assert(start_called);
+
     return SASL_NOTDONE;
 }
 
@@ -59,6 +65,9 @@ sasl_encode(sasl_conn_t *conn,
             const char **output, unsigned *outputlen)
 {
     check_sasl_conn(conn);
+    g_assert(start_called);
+
+    encode_called = true;
     return SASL_NOTDONE;
 }
 
@@ -140,6 +149,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);
@@ -157,6 +170,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;
@@ -172,6 +189,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



More information about the Spice-devel mailing list