START_TEST(sane_kds_s2000w_net_read_cancel_test)
{
- handler h;
- h.read_info = malloc(sizeof(readinfo));
- h.read_info->scan_started = 1;
- h.read_info->cancel = 1;
+ handler* h = init_handler();
+ h->read_info->scan_started = 1;
+ h->read_info->cancel = 1;
int* length = malloc(sizeof(int));
*length = 0;
- SANE_Status status = _sane_kds_s2000w_net_read(&h, NULL, 0, length);
+ SANE_Status status = _sane_kds_s2000w_net_read(h, NULL, 0, length);
ck_assert_int_eq(status, SANE_STATUS_CANCELLED);
free(length);
length = NULL;
- free(h.read_info);
- h.read_info = NULL;
+ free_handler(h);
+ h = NULL;
}
END_TEST
START_TEST(sane_kds_s2000w_net_read_all_lines_test)
{
- handler h;
- h.read_info = malloc(sizeof(readinfo));
- h.read_info->cancel = 0;
- h.read_info->read_size = 0;
- h.read_info->readed_lines = 0;
+ handler* h = init_handler();
+ h->read_info->cancel = 0;
+ h->read_info->read_size = 0;
+ h->read_info->readed_lines = 0;
char* image = malloc(sizeof(char) * 53);
for (int i = 0; i < 3; i++) {
image[i] = 0x0a;
}
image[3] = 0xff;
- h.current_metadata = malloc(sizeof(metadata));
- h.current_metadata->format = 0;
- h.current_metadata->image = image;
- h.current_metadata->bytes_per_line = 10;
- h.current_metadata->lines = 5;
+ h->current_metadata->format = 0;
+ h->current_metadata->image = image;
+ h->current_metadata->bytes_per_line = 10;
+ h->current_metadata->lines = 5;
int length = 0;
SANE_Status status = 0;
for (int i = 0; i < 6; i++) {
- status = _sane_kds_s2000w_net_read(&h, dataptr, 65535, &length);
+ status = _sane_kds_s2000w_net_read(h, dataptr, 65535, &length);
}
ck_assert_int_eq(status, SANE_STATUS_EOF);
- ck_assert_int_eq(h.read_info->read_size, 53);
+ ck_assert_int_eq(h->read_info->read_size, 53);
free(dataptr);
dataptr = NULL;
image = NULL;
- free(h.current_metadata->image);
- h.current_metadata->image = NULL;
- free(h.current_metadata);
- h.current_metadata = NULL;
- free(h.read_info);
- h.read_info = NULL;
+ free_handler(h);
+ h = NULL;
}
END_TEST
START_TEST(sane_kds_s2000w_net_read_test)
{
- handler h;
- h.read_info = malloc(sizeof(readinfo));
- h.read_info->cancel = 0;
- h.read_info->read_size = 0;
- h.read_info->readed_bytes_per_line = 0;
- h.read_info->readed_lines = 0;
- h.current_metadata = malloc(sizeof(metadata));
- h.current_metadata->format = 0;
- h.current_metadata->lines = 1;
- h.current_metadata->bytes_per_line = 65536;
+ handler* h = init_handler();
+ h->read_info->cancel = 0;
+ h->read_info->read_size = 0;
+ h->read_info->readed_bytes_per_line = 0;
+ h->read_info->readed_lines = 0;
+ h->current_metadata->format = 0;
+ h->current_metadata->lines = 1;
+ h->current_metadata->bytes_per_line = 65536;
char* image = malloc(sizeof(char) * 65539);
for (int i = 0; i < 3; i++) {
image[i] = 0x0a;
}
image[3] = 0xff;
- h.current_metadata->image = image;
+ h->current_metadata->image = image;
SANE_Int maxlen = 65536;
char* dataptr = malloc(sizeof(char) * maxlen);
SANE_Int* length = malloc(sizeof(SANE_Int));
- _sane_kds_s2000w_net_read(&h, dataptr, maxlen, length);
+ _sane_kds_s2000w_net_read(h, dataptr, maxlen, length);
ck_assert_int_eq(*length, 65536);
ck_assert_mem_eq(dataptr, image + 3, 65536);
- ck_assert_int_eq(h.read_info->read_size, 65539);
+ ck_assert_int_eq(h->read_info->read_size, 65539);
free(dataptr);
dataptr = NULL;
free(length);
length = NULL;
image = NULL;
- free(h.current_metadata->image);
- h.current_metadata->image = NULL;
- free(h.current_metadata);
- h.current_metadata = NULL;
- free(h.read_info);
- h.read_info = NULL;
+ free_handler(h);
+ h = NULL;
}
END_TEST
START_TEST(sane_kds_s2000w_net_read_bytes_per_line_bigger_test)
{
- handler h;
- h.read_info = malloc(sizeof(readinfo));
- h.read_info->cancel = 0;
- h.read_info->read_size = 0;
- h.read_info->readed_bytes_per_line = 0;
- h.read_info->readed_lines = 0;
- h.current_metadata = malloc(sizeof(metadata));
- h.current_metadata->format = 0;
- h.current_metadata->lines = 1;
- h.current_metadata->bytes_per_line = 95000;
+ handler* h = init_handler();
+ h->read_info->cancel = 0;
+ h->read_info->read_size = 0;
+ h->read_info->readed_bytes_per_line = 0;
+ h->read_info->readed_lines = 0;
+ h->current_metadata->format = 0;
+ h->current_metadata->lines = 1;
+ h->current_metadata->bytes_per_line = 95000;
char* image = malloc(sizeof(char) * 95003);
for (int i = 0; i < 3; i++) {
image[i] = 0x0a;
}
image[3] = 0xff;
- h.current_metadata->image = image;
+ h->current_metadata->image = image;
SANE_Int maxlen = 65536;
char* dataptr = malloc(sizeof(char) * maxlen);
SANE_Int* length = malloc(sizeof(SANE_Int));
- _sane_kds_s2000w_net_read(&h, dataptr, maxlen, length);
- _sane_kds_s2000w_net_read(&h, dataptr, maxlen, length);
+ _sane_kds_s2000w_net_read(h, dataptr, maxlen, length);
+ _sane_kds_s2000w_net_read(h, dataptr, maxlen, length);
- ck_assert_int_eq(h.read_info->read_size, 95003);
+ ck_assert_int_eq(h->read_info->read_size, 95003);
free(dataptr);
dataptr = NULL;
free(length);
length = NULL;
image = NULL;
- free(h.current_metadata->image);
- h.current_metadata->image = NULL;
- free(h.current_metadata);
- h.current_metadata = NULL;
- free(h.read_info);
- h.read_info = NULL;
+ free_handler(h);
+ h = NULL;
}
END_TEST
\ No newline at end of file