mirror of
https://github.com/pellepl/spiffs.git
synced 2026-09-12 12:10:04 +00:00
added reading beyond file length testcase
This commit is contained in:
@@ -738,6 +738,48 @@ TEST(read_chunk_huge)
|
||||
TEST_END(read_chunk_huge)
|
||||
|
||||
|
||||
TEST(read_beyond)
|
||||
{
|
||||
char *name = "file";
|
||||
spiffs_file fd;
|
||||
s32_t res;
|
||||
u32_t size = SPIFFS_DATA_PAGE_SIZE(FS)*2;
|
||||
|
||||
u8_t *buf = malloc(size);
|
||||
memrand(buf, size);
|
||||
|
||||
res = test_create_file(name);
|
||||
CHECK(res >= 0);
|
||||
fd = SPIFFS_open(FS, name, SPIFFS_APPEND | SPIFFS_RDWR, 0);
|
||||
CHECK(fd >= 0);
|
||||
res = SPIFFS_write(FS, fd, buf, size);
|
||||
CHECK(res >= 0);
|
||||
|
||||
spiffs_stat stat;
|
||||
res = SPIFFS_fstat(FS, fd, &stat);
|
||||
CHECK(res >= 0);
|
||||
CHECK(stat.size == size);
|
||||
|
||||
SPIFFS_close(FS, fd);
|
||||
|
||||
fd = SPIFFS_open(FS, name, SPIFFS_RDONLY, 0);
|
||||
CHECK(fd >= 0);
|
||||
|
||||
u8_t *rbuf = malloc(size+10);
|
||||
res = SPIFFS_read(FS, fd, rbuf, size+10);
|
||||
|
||||
SPIFFS_close(FS, fd);
|
||||
|
||||
free(rbuf);
|
||||
free(buf);
|
||||
|
||||
TEST_CHECK(res == size);
|
||||
|
||||
return TEST_RES_OK;
|
||||
}
|
||||
TEST_END(read_beyond)
|
||||
|
||||
|
||||
TEST(bad_index_1) {
|
||||
int size = SPIFFS_DATA_PAGE_SIZE(FS)*3;
|
||||
int res = test_create_and_write_file("file", size, size);
|
||||
|
||||
Reference in New Issue
Block a user