Another test for more coverage
This commit is contained in:
+28
-1
@@ -104,7 +104,7 @@ END_TEST
|
|||||||
|
|
||||||
START_TEST (test_read_file_too_big)
|
START_TEST (test_read_file_too_big)
|
||||||
char *content;
|
char *content;
|
||||||
const char *filename = "test_read_file_simple";
|
const char *filename = "test_read_file_too_big";
|
||||||
size_t len;
|
size_t len;
|
||||||
ssize_t rc;
|
ssize_t rc;
|
||||||
|
|
||||||
@@ -124,6 +124,32 @@ START_TEST (test_read_file_too_big)
|
|||||||
unlink(filename);
|
unlink(filename);
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|
||||||
|
START_TEST (test_read_file_big)
|
||||||
|
char *content;
|
||||||
|
const char *filename = "test_read_file_big";
|
||||||
|
char buf[4096 * 16];
|
||||||
|
size_t len;
|
||||||
|
ssize_t rc;
|
||||||
|
|
||||||
|
int fd = open(filename, O_WRONLY | O_CREAT | O_TRUNC, 0664);
|
||||||
|
fail_if(fd == -1);
|
||||||
|
memset(buf, 'a', sizeof buf);
|
||||||
|
|
||||||
|
rc = write(fd, buf, sizeof buf);
|
||||||
|
fail_if(rc != sizeof buf, "rc was %ld", (long)rc);
|
||||||
|
|
||||||
|
close(fd);
|
||||||
|
|
||||||
|
content = uc_read_file(filename, &len, 4096*16);
|
||||||
|
fail_if(content == NULL);
|
||||||
|
fail_if(len != sizeof buf);
|
||||||
|
fail_if(memcmp(content, buf, sizeof buf) != 0);
|
||||||
|
|
||||||
|
free(content);
|
||||||
|
|
||||||
|
unlink(filename);
|
||||||
|
END_TEST
|
||||||
|
|
||||||
Suite *read_file_suite(void)
|
Suite *read_file_suite(void)
|
||||||
{
|
{
|
||||||
Suite *s = suite_create("read_file");
|
Suite *s = suite_create("read_file");
|
||||||
@@ -134,6 +160,7 @@ Suite *read_file_suite(void)
|
|||||||
tcase_add_test(tc, test_read_file_boundary);
|
tcase_add_test(tc, test_read_file_boundary);
|
||||||
tcase_add_test(tc, test_read_file_devnull);
|
tcase_add_test(tc, test_read_file_devnull);
|
||||||
tcase_add_test(tc, test_read_file_too_big);
|
tcase_add_test(tc, test_read_file_too_big);
|
||||||
|
tcase_add_test(tc, test_read_file_big);
|
||||||
|
|
||||||
|
|
||||||
suite_add_tcase(s, tc);
|
suite_add_tcase(s, tc);
|
||||||
|
|||||||
Reference in New Issue
Block a user