aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/unittests/torture_init.c23
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);