diff options
Diffstat (limited to 'src/test/test_pt.c')
-rw-r--r-- | src/test/test_pt.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/test/test_pt.c b/src/test/test_pt.c index f969457d0e..e4aa39f866 100644 --- a/src/test/test_pt.c +++ b/src/test/test_pt.c @@ -321,7 +321,7 @@ get_or_state_replacement(void) static void test_pt_configure_proxy(void *arg) { - int i; + int i, retval; managed_proxy_t *mp = NULL; (void) arg; @@ -346,9 +346,21 @@ test_pt_configure_proxy(void *arg) times while it is uninitialized and then finally finalizing its configuration. */ for (i = 0 ; i < 5 ; i++) { - test_assert(configure_proxy(mp) == 0); + retval = configure_proxy(mp); + /* retval should be zero because proxy hasn't finished configuring yet */ + test_assert(retval == 0); + /* check the number of registered transports */ + test_assert(smartlist_len(mp->transports) == i+1); + /* check that the mp is still waiting for transports */ + test_assert(mp->conf_state == PT_PROTO_ACCEPTING_METHODS); } - test_assert(configure_proxy(mp) == 1); + + /* this last configure_proxy() should finalize the proxy configuration. */ + retval = configure_proxy(mp); + /* retval should be 1 since the proxy finished configuring */ + test_assert(retval == 1); + /* check the mp state */ + test_assert(mp->conf_state == PT_PROTO_COMPLETED); done: tor_free(dummy_state); |