1
0
mirror of https://git.libssh.org/projects/libssh.git synced 2025-08-10 06:23:01 +03:00

tests: Add a test for ssh_channel().

This commit is contained in:
Andreas Schneider
2013-10-31 12:44:48 +01:00
parent 447ee309b0
commit 24ebbb8b39
2 changed files with 50 additions and 0 deletions

View File

@@ -13,4 +13,6 @@ if (UNIX AND NOT WIN32)
add_cmocka_test(torture_pki torture_pki.c ${TORTURE_LIBRARY})
# requires pthread
add_cmocka_test(torture_rand torture_rand.c ${TORTURE_LIBRARY})
# requires /dev/null
add_cmocka_test(torture_channel torture_channel.c ${TORTURE_LIBRARY})
endif (UNIX AND NOT WIN32)

View File

@@ -0,0 +1,48 @@
#define LIBSSH_STATIC
#include <libssh/priv.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include "torture.h"
#include "channels.c"
static void torture_channel_select(void **state)
{
fd_set readfds;
int fd;
int rc;
int i;
(void)state; /* unused */
fd = open("/dev/null", 0);
assert_true(fd > 2);
FD_SET(fd, &readfds);
for (i = 0; i < 10; i++) {
ssh_channel cin[1] = { NULL, };
ssh_channel cout[1] = { NULL, };
struct timeval tv = { .tv_sec = 0, .tv_usec = 1000 };
rc = ssh_select(cin, cout, fd + 1, &readfds, &tv);
assert_int_equal(rc, SSH_OK);
}
close(fd);
}
int torture_run_tests(void) {
int rc;
const UnitTest tests[] = {
unit_test(torture_channel_select),
};
ssh_init();
rc = run_tests(tests);
ssh_finalize();
return rc;
}