diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/unittests/torture_init.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/unittests/torture_init.c b/tests/unittests/torture_init.c index 6a97a182..f719fc99 100644 --- a/tests/unittests/torture_init.c +++ b/tests/unittests/torture_init.c @@ -2,6 +2,7 @@ #define LIBSSH_STATIC +#include <errno.h> #include "torture.h" #include "libssh/libssh.h" @@ -32,11 +33,33 @@ static void torture_ssh_init_after_finalize(void **state) { assert_int_equal(rc, SSH_OK); } +static void torture_is_ssh_initialized(UNUSED_PARAM(void **state)) { + + int rc; + bool initialized = false; + + /* Make sure the library is not initialized */ + while (is_ssh_initialized()) { + rc = ssh_finalize(); + assert_return_code(rc, errno); + } + + rc = ssh_init(); + assert_return_code(rc, errno); + initialized = is_ssh_initialized(); + assert_true(initialized); + rc = ssh_finalize(); + assert_return_code(rc, errno); + initialized = is_ssh_initialized(); + assert_false(initialized); +} + int torture_run_tests(void) { int rc; struct CMUnitTest tests[] = { cmocka_unit_test(torture_ssh_init), cmocka_unit_test(torture_ssh_init_after_finalize), + cmocka_unit_test(torture_is_ssh_initialized), }; torture_filter_tests(tests); |