testing: augment of session_do_read
This commit is contained in:
@@ -24,8 +24,6 @@ extern char *print_str;
|
|||||||
extern void *print_str_arr;
|
extern void *print_str_arr;
|
||||||
char *str2snd;
|
char *str2snd;
|
||||||
|
|
||||||
/* TODO: complete tasks in function and write new tests for them */
|
|
||||||
|
|
||||||
void __wrap_session_send_string(struct session *sess, const char *fmt, ...) {
|
void __wrap_session_send_string(struct session *sess, const char *fmt, ...) {
|
||||||
assert_string_equal(fmt, str2snd);
|
assert_string_equal(fmt, str2snd);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ target_link_libraries(session_do_read
|
|||||||
|
|
||||||
target_link_options(session_do_read PRIVATE -Wl,--wrap=read)
|
target_link_options(session_do_read PRIVATE -Wl,--wrap=read)
|
||||||
|
|
||||||
add_test(NAME session_test_1 COMMAND session_do_read)
|
add_test(NAME session_session_do_read_test_1 COMMAND session_do_read)
|
||||||
|
|
||||||
# ---/ query_extract_from_buf /--------------------------------------
|
# ---/ query_extract_from_buf /--------------------------------------
|
||||||
|
|
||||||
@@ -26,4 +26,4 @@ target_link_libraries(query_extract_from_buf
|
|||||||
main
|
main
|
||||||
)
|
)
|
||||||
|
|
||||||
add_test(NAME session_test_2 COMMAND query_extract_from_buf)
|
add_test(NAME session_query_extract_from_buf_test_1 COMMAND query_extract_from_buf)
|
||||||
@@ -16,26 +16,45 @@
|
|||||||
#define TEST_BUF TEST_BUF_USED TEST_BUF_UNUSED
|
#define TEST_BUF TEST_BUF_USED TEST_BUF_UNUSED
|
||||||
|
|
||||||
int __wrap_read(int fd, void *buf, size_t nbytes) {
|
int __wrap_read(int fd, void *buf, size_t nbytes) {
|
||||||
return sizeof TEST_BUF - 1;
|
return mock_type(int);
|
||||||
}
|
}
|
||||||
|
|
||||||
void test_session_do_read(void **state) {
|
void test_session_do_read__regular(void **state) {
|
||||||
session sess = {
|
session sess = {
|
||||||
.buf = TEST_BUF,
|
.buf = TEST_BUF,
|
||||||
.buf_used = sizeof TEST_BUF,
|
.buf_used = sizeof TEST_BUF,
|
||||||
.sd = 2,
|
.sd = 2,
|
||||||
};
|
};
|
||||||
char *line;
|
char *line;
|
||||||
session_do_read(&sess, &line);
|
will_return(__wrap_read, sizeof TEST_BUF - 1);
|
||||||
|
int ret = session_do_read(&sess, &line);
|
||||||
assert_memory_equal(line, TEST_BUF_USED, sizeof(TEST_BUF_USED));
|
assert_memory_equal(line, TEST_BUF_USED, sizeof(TEST_BUF_USED));
|
||||||
|
assert_int_equal(ret, 1);
|
||||||
free(line);
|
free(line);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void test_session_do_read__no_read(void **state) {
|
||||||
|
session sess = {
|
||||||
|
.buf = TEST_BUF,
|
||||||
|
.buf_used = sizeof TEST_BUF,
|
||||||
|
.sd = 2,
|
||||||
|
.state = OP_WAIT,
|
||||||
|
};
|
||||||
|
char *line;
|
||||||
|
will_return(__wrap_read, -1);
|
||||||
|
int ret = session_do_read(&sess, &line);
|
||||||
|
assert_int_equal(ret, 0);
|
||||||
|
assert_int_equal(sess.state, ERR);
|
||||||
|
}
|
||||||
|
|
||||||
int setup(void **state) { return 0; }
|
int setup(void **state) { return 0; }
|
||||||
int tear_down(void **state) { return 0; }
|
int tear_down(void **state) { return 0; }
|
||||||
|
|
||||||
int main(int argc, char **argv) {
|
int main(int argc, char **argv) {
|
||||||
const struct CMUnitTest tests[] = {cmocka_unit_test(test_session_do_read)};
|
const struct CMUnitTest tests[] = {
|
||||||
|
cmocka_unit_test(test_session_do_read__regular),
|
||||||
|
cmocka_unit_test(test_session_do_read__no_read)
|
||||||
|
};
|
||||||
|
|
||||||
return cmocka_run_group_tests(tests, setup, tear_down);
|
return cmocka_run_group_tests(tests, setup, tear_down);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user