# These tests are for some specific corner cases with neighboring inline files. # Note that these tests are intended for 512 byte inline sizes. They should # still pass with other inline sizes but wouldn't be testing anything. define.LFS2_CACHE_SIZE = 512 if = 'LFS2_CACHE_SIZE % LFS2_PROG_SIZE == 0 && LFS2_CACHE_SIZE == 512' [[case]] # entry grow test code = ''' uint8_t wbuffer[1024]; uint8_t rbuffer[1024]; lfs2_format(&lfs2, &cfg) => 0; lfs2_mount(&lfs2, &cfg) => 0; // write hi0 20 sprintf(path, "hi0"); size = 20; lfs2_file_open(&lfs2, &file, path, LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_TRUNC) => 0; memset(wbuffer, 'c', size); lfs2_file_write(&lfs2, &file, wbuffer, size) => size; lfs2_file_size(&lfs2, &file) => size; lfs2_file_close(&lfs2, &file) => 0; // write hi1 20 sprintf(path, "hi1"); size = 20; lfs2_file_open(&lfs2, &file, path, LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_TRUNC) => 0; memset(wbuffer, 'c', size); lfs2_file_write(&lfs2, &file, wbuffer, size) => size; lfs2_file_size(&lfs2, &file) => size; lfs2_file_close(&lfs2, &file) => 0; // write hi2 20 sprintf(path, "hi2"); size = 20; lfs2_file_open(&lfs2, &file, path, LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_TRUNC) => 0; memset(wbuffer, 'c', size); lfs2_file_write(&lfs2, &file, wbuffer, size) => size; lfs2_file_size(&lfs2, &file) => size; lfs2_file_close(&lfs2, &file) => 0; // write hi3 20 sprintf(path, "hi3"); size = 20; lfs2_file_open(&lfs2, &file, path, LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_TRUNC) => 0; memset(wbuffer, 'c', size); lfs2_file_write(&lfs2, &file, wbuffer, size) => size; lfs2_file_size(&lfs2, &file) => size; lfs2_file_close(&lfs2, &file) => 0; // read hi1 20 sprintf(path, "hi1"); size = 20; lfs2_file_open(&lfs2, &file, path, LFS2_O_RDONLY) => 0; lfs2_file_size(&lfs2, &file) => size; lfs2_file_read(&lfs2, &file, rbuffer, size) => size; memcmp(rbuffer, wbuffer, size) => 0; lfs2_file_close(&lfs2, &file) => 0; // write hi1 200 sprintf(path, "hi1"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_TRUNC) => 0; memset(wbuffer, 'c', size); lfs2_file_write(&lfs2, &file, wbuffer, size) => size; lfs2_file_size(&lfs2, &file) => size; lfs2_file_close(&lfs2, &file) => 0; // read hi0 20 sprintf(path, "hi0"); size = 20; lfs2_file_open(&lfs2, &file, path, LFS2_O_RDONLY) => 0; lfs2_file_size(&lfs2, &file) => size; lfs2_file_read(&lfs2, &file, rbuffer, size) => size; memcmp(rbuffer, wbuffer, size) => 0; lfs2_file_close(&lfs2, &file) => 0; // read hi1 200 sprintf(path, "hi1"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_RDONLY) => 0; lfs2_file_size(&lfs2, &file) => size; lfs2_file_read(&lfs2, &file, rbuffer, size) => size; memcmp(rbuffer, wbuffer, size) => 0; lfs2_file_close(&lfs2, &file) => 0; // read hi2 20 sprintf(path, "hi2"); size = 20; lfs2_file_open(&lfs2, &file, path, LFS2_O_RDONLY) => 0; lfs2_file_size(&lfs2, &file) => size; lfs2_file_read(&lfs2, &file, rbuffer, size) => size; memcmp(rbuffer, wbuffer, size) => 0; lfs2_file_close(&lfs2, &file) => 0; // read hi3 20 sprintf(path, "hi3"); size = 20; lfs2_file_open(&lfs2, &file, path, LFS2_O_RDONLY) => 0; lfs2_file_size(&lfs2, &file) => size; lfs2_file_read(&lfs2, &file, rbuffer, size) => size; memcmp(rbuffer, wbuffer, size) => 0; lfs2_file_close(&lfs2, &file) => 0; lfs2_unmount(&lfs2) => 0; ''' [[case]] # entry shrink test code = ''' uint8_t wbuffer[1024]; uint8_t rbuffer[1024]; lfs2_format(&lfs2, &cfg) => 0; lfs2_mount(&lfs2, &cfg) => 0; // write hi0 20 sprintf(path, "hi0"); size = 20; lfs2_file_open(&lfs2, &file, path, LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_TRUNC) => 0; memset(wbuffer, 'c', size); lfs2_file_write(&lfs2, &file, wbuffer, size) => size; lfs2_file_size(&lfs2, &file) => size; lfs2_file_close(&lfs2, &file) => 0; // write hi1 200 sprintf(path, "hi1"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_TRUNC) => 0; memset(wbuffer, 'c', size); lfs2_file_write(&lfs2, &file, wbuffer, size) => size; lfs2_file_size(&lfs2, &file) => size; lfs2_file_close(&lfs2, &file) => 0; // write hi2 20 sprintf(path, "hi2"); size = 20; lfs2_file_open(&lfs2, &file, path, LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_TRUNC) => 0; memset(wbuffer, 'c', size); lfs2_file_write(&lfs2, &file, wbuffer, size) => size; lfs2_file_size(&lfs2, &file) => size; lfs2_file_close(&lfs2, &file) => 0; // write hi3 20 sprintf(path, "hi3"); size = 20; lfs2_file_open(&lfs2, &file, path, LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_TRUNC) => 0; memset(wbuffer, 'c', size); lfs2_file_write(&lfs2, &file, wbuffer, size) => size; lfs2_file_size(&lfs2, &file) => size; lfs2_file_close(&lfs2, &file) => 0; // read hi1 200 sprintf(path, "hi1"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_RDONLY) => 0; lfs2_file_size(&lfs2, &file) => size; lfs2_file_read(&lfs2, &file, rbuffer, size) => size; memcmp(rbuffer, wbuffer, size) => 0; lfs2_file_close(&lfs2, &file) => 0; // write hi1 20 sprintf(path, "hi1"); size = 20; lfs2_file_open(&lfs2, &file, path, LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_TRUNC) => 0; memset(wbuffer, 'c', size); lfs2_file_write(&lfs2, &file, wbuffer, size) => size; lfs2_file_size(&lfs2, &file) => size; lfs2_file_close(&lfs2, &file) => 0; // read hi0 20 sprintf(path, "hi0"); size = 20; lfs2_file_open(&lfs2, &file, path, LFS2_O_RDONLY) => 0; lfs2_file_size(&lfs2, &file) => size; lfs2_file_read(&lfs2, &file, rbuffer, size) => size; memcmp(rbuffer, wbuffer, size) => 0; lfs2_file_close(&lfs2, &file) => 0; // read hi1 20 sprintf(path, "hi1"); size = 20; lfs2_file_open(&lfs2, &file, path, LFS2_O_RDONLY) => 0; lfs2_file_size(&lfs2, &file) => size; lfs2_file_read(&lfs2, &file, rbuffer, size) => size; memcmp(rbuffer, wbuffer, size) => 0; lfs2_file_close(&lfs2, &file) => 0; // read hi2 20 sprintf(path, "hi2"); size = 20; lfs2_file_open(&lfs2, &file, path, LFS2_O_RDONLY) => 0; lfs2_file_size(&lfs2, &file) => size; lfs2_file_read(&lfs2, &file, rbuffer, size) => size; memcmp(rbuffer, wbuffer, size) => 0; lfs2_file_close(&lfs2, &file) => 0; // read hi3 20 sprintf(path, "hi3"); size = 20; lfs2_file_open(&lfs2, &file, path, LFS2_O_RDONLY) => 0; lfs2_file_size(&lfs2, &file) => size; lfs2_file_read(&lfs2, &file, rbuffer, size) => size; memcmp(rbuffer, wbuffer, size) => 0; lfs2_file_close(&lfs2, &file) => 0; lfs2_unmount(&lfs2) => 0; ''' [[case]] # entry spill test code = ''' uint8_t wbuffer[1024]; uint8_t rbuffer[1024]; lfs2_format(&lfs2, &cfg) => 0; lfs2_mount(&lfs2, &cfg) => 0; // write hi0 200 sprintf(path, "hi0"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_TRUNC) => 0; memset(wbuffer, 'c', size); lfs2_file_write(&lfs2, &file, wbuffer, size) => size; lfs2_file_size(&lfs2, &file) => size; lfs2_file_close(&lfs2, &file) => 0; // write hi1 200 sprintf(path, "hi1"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_TRUNC) => 0; memset(wbuffer, 'c', size); lfs2_file_write(&lfs2, &file, wbuffer, size) => size; lfs2_file_size(&lfs2, &file) => size; lfs2_file_close(&lfs2, &file) => 0; // write hi2 200 sprintf(path, "hi2"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_TRUNC) => 0; memset(wbuffer, 'c', size); lfs2_file_write(&lfs2, &file, wbuffer, size) => size; lfs2_file_size(&lfs2, &file) => size; lfs2_file_close(&lfs2, &file) => 0; // write hi3 200 sprintf(path, "hi3"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_TRUNC) => 0; memset(wbuffer, 'c', size); lfs2_file_write(&lfs2, &file, wbuffer, size) => size; lfs2_file_size(&lfs2, &file) => size; lfs2_file_close(&lfs2, &file) => 0; // read hi0 200 sprintf(path, "hi0"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_RDONLY) => 0; lfs2_file_size(&lfs2, &file) => size; lfs2_file_read(&lfs2, &file, rbuffer, size) => size; memcmp(rbuffer, wbuffer, size) => 0; lfs2_file_close(&lfs2, &file) => 0; // read hi1 200 sprintf(path, "hi1"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_RDONLY) => 0; lfs2_file_size(&lfs2, &file) => size; lfs2_file_read(&lfs2, &file, rbuffer, size) => size; memcmp(rbuffer, wbuffer, size) => 0; lfs2_file_close(&lfs2, &file) => 0; // read hi2 200 sprintf(path, "hi2"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_RDONLY) => 0; lfs2_file_size(&lfs2, &file) => size; lfs2_file_read(&lfs2, &file, rbuffer, size) => size; memcmp(rbuffer, wbuffer, size) => 0; lfs2_file_close(&lfs2, &file) => 0; // read hi3 200 sprintf(path, "hi3"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_RDONLY) => 0; lfs2_file_size(&lfs2, &file) => size; lfs2_file_read(&lfs2, &file, rbuffer, size) => size; memcmp(rbuffer, wbuffer, size) => 0; lfs2_file_close(&lfs2, &file) => 0; lfs2_unmount(&lfs2) => 0; ''' [[case]] # entry push spill test code = ''' uint8_t wbuffer[1024]; uint8_t rbuffer[1024]; lfs2_format(&lfs2, &cfg) => 0; lfs2_mount(&lfs2, &cfg) => 0; // write hi0 200 sprintf(path, "hi0"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_TRUNC) => 0; memset(wbuffer, 'c', size); lfs2_file_write(&lfs2, &file, wbuffer, size) => size; lfs2_file_size(&lfs2, &file) => size; lfs2_file_close(&lfs2, &file) => 0; // write hi1 20 sprintf(path, "hi1"); size = 20; lfs2_file_open(&lfs2, &file, path, LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_TRUNC) => 0; memset(wbuffer, 'c', size); lfs2_file_write(&lfs2, &file, wbuffer, size) => size; lfs2_file_size(&lfs2, &file) => size; lfs2_file_close(&lfs2, &file) => 0; // write hi2 200 sprintf(path, "hi2"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_TRUNC) => 0; memset(wbuffer, 'c', size); lfs2_file_write(&lfs2, &file, wbuffer, size) => size; lfs2_file_size(&lfs2, &file) => size; lfs2_file_close(&lfs2, &file) => 0; // write hi3 200 sprintf(path, "hi3"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_TRUNC) => 0; memset(wbuffer, 'c', size); lfs2_file_write(&lfs2, &file, wbuffer, size) => size; lfs2_file_size(&lfs2, &file) => size; lfs2_file_close(&lfs2, &file) => 0; // read hi1 20 sprintf(path, "hi1"); size = 20; lfs2_file_open(&lfs2, &file, path, LFS2_O_RDONLY) => 0; lfs2_file_size(&lfs2, &file) => size; lfs2_file_read(&lfs2, &file, rbuffer, size) => size; memcmp(rbuffer, wbuffer, size) => 0; lfs2_file_close(&lfs2, &file) => 0; // write hi1 200 sprintf(path, "hi1"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_TRUNC) => 0; memset(wbuffer, 'c', size); lfs2_file_write(&lfs2, &file, wbuffer, size) => size; lfs2_file_size(&lfs2, &file) => size; lfs2_file_close(&lfs2, &file) => 0; // read hi0 200 sprintf(path, "hi0"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_RDONLY) => 0; lfs2_file_size(&lfs2, &file) => size; lfs2_file_read(&lfs2, &file, rbuffer, size) => size; memcmp(rbuffer, wbuffer, size) => 0; lfs2_file_close(&lfs2, &file) => 0; // read hi1 200 sprintf(path, "hi1"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_RDONLY) => 0; lfs2_file_size(&lfs2, &file) => size; lfs2_file_read(&lfs2, &file, rbuffer, size) => size; memcmp(rbuffer, wbuffer, size) => 0; lfs2_file_close(&lfs2, &file) => 0; // read hi2 200 sprintf(path, "hi2"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_RDONLY) => 0; lfs2_file_size(&lfs2, &file) => size; lfs2_file_read(&lfs2, &file, rbuffer, size) => size; memcmp(rbuffer, wbuffer, size) => 0; lfs2_file_close(&lfs2, &file) => 0; // read hi3 200 sprintf(path, "hi3"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_RDONLY) => 0; lfs2_file_size(&lfs2, &file) => size; lfs2_file_read(&lfs2, &file, rbuffer, size) => size; memcmp(rbuffer, wbuffer, size) => 0; lfs2_file_close(&lfs2, &file) => 0; lfs2_unmount(&lfs2) => 0; ''' [[case]] # entry push spill two test code = ''' uint8_t wbuffer[1024]; uint8_t rbuffer[1024]; lfs2_format(&lfs2, &cfg) => 0; lfs2_mount(&lfs2, &cfg) => 0; // write hi0 200 sprintf(path, "hi0"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_TRUNC) => 0; memset(wbuffer, 'c', size); lfs2_file_write(&lfs2, &file, wbuffer, size) => size; lfs2_file_size(&lfs2, &file) => size; lfs2_file_close(&lfs2, &file) => 0; // write hi1 20 sprintf(path, "hi1"); size = 20; lfs2_file_open(&lfs2, &file, path, LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_TRUNC) => 0; memset(wbuffer, 'c', size); lfs2_file_write(&lfs2, &file, wbuffer, size) => size; lfs2_file_size(&lfs2, &file) => size; lfs2_file_close(&lfs2, &file) => 0; // write hi2 200 sprintf(path, "hi2"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_TRUNC) => 0; memset(wbuffer, 'c', size); lfs2_file_write(&lfs2, &file, wbuffer, size) => size; lfs2_file_size(&lfs2, &file) => size; lfs2_file_close(&lfs2, &file) => 0; // write hi3 200 sprintf(path, "hi3"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_TRUNC) => 0; memset(wbuffer, 'c', size); lfs2_file_write(&lfs2, &file, wbuffer, size) => size; lfs2_file_size(&lfs2, &file) => size; lfs2_file_close(&lfs2, &file) => 0; // write hi4 200 sprintf(path, "hi4"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_TRUNC) => 0; memset(wbuffer, 'c', size); lfs2_file_write(&lfs2, &file, wbuffer, size) => size; lfs2_file_size(&lfs2, &file) => size; lfs2_file_close(&lfs2, &file) => 0; // read hi1 20 sprintf(path, "hi1"); size = 20; lfs2_file_open(&lfs2, &file, path, LFS2_O_RDONLY) => 0; lfs2_file_size(&lfs2, &file) => size; lfs2_file_read(&lfs2, &file, rbuffer, size) => size; memcmp(rbuffer, wbuffer, size) => 0; lfs2_file_close(&lfs2, &file) => 0; // write hi1 200 sprintf(path, "hi1"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_TRUNC) => 0; memset(wbuffer, 'c', size); lfs2_file_write(&lfs2, &file, wbuffer, size) => size; lfs2_file_size(&lfs2, &file) => size; lfs2_file_close(&lfs2, &file) => 0; // read hi0 200 sprintf(path, "hi0"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_RDONLY) => 0; lfs2_file_size(&lfs2, &file) => size; lfs2_file_read(&lfs2, &file, rbuffer, size) => size; memcmp(rbuffer, wbuffer, size) => 0; lfs2_file_close(&lfs2, &file) => 0; // read hi1 200 sprintf(path, "hi1"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_RDONLY) => 0; lfs2_file_size(&lfs2, &file) => size; lfs2_file_read(&lfs2, &file, rbuffer, size) => size; memcmp(rbuffer, wbuffer, size) => 0; lfs2_file_close(&lfs2, &file) => 0; // read hi2 200 sprintf(path, "hi2"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_RDONLY) => 0; lfs2_file_size(&lfs2, &file) => size; lfs2_file_read(&lfs2, &file, rbuffer, size) => size; memcmp(rbuffer, wbuffer, size) => 0; lfs2_file_close(&lfs2, &file) => 0; // read hi3 200 sprintf(path, "hi3"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_RDONLY) => 0; lfs2_file_size(&lfs2, &file) => size; lfs2_file_read(&lfs2, &file, rbuffer, size) => size; memcmp(rbuffer, wbuffer, size) => 0; lfs2_file_close(&lfs2, &file) => 0; // read hi4 200 sprintf(path, "hi4"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_RDONLY) => 0; lfs2_file_size(&lfs2, &file) => size; lfs2_file_read(&lfs2, &file, rbuffer, size) => size; memcmp(rbuffer, wbuffer, size) => 0; lfs2_file_close(&lfs2, &file) => 0; lfs2_unmount(&lfs2) => 0; ''' [[case]] # entry drop test code = ''' uint8_t wbuffer[1024]; uint8_t rbuffer[1024]; lfs2_format(&lfs2, &cfg) => 0; lfs2_mount(&lfs2, &cfg) => 0; // write hi0 200 sprintf(path, "hi0"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_TRUNC) => 0; memset(wbuffer, 'c', size); lfs2_file_write(&lfs2, &file, wbuffer, size) => size; lfs2_file_size(&lfs2, &file) => size; lfs2_file_close(&lfs2, &file) => 0; // write hi1 200 sprintf(path, "hi1"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_TRUNC) => 0; memset(wbuffer, 'c', size); lfs2_file_write(&lfs2, &file, wbuffer, size) => size; lfs2_file_size(&lfs2, &file) => size; lfs2_file_close(&lfs2, &file) => 0; // write hi2 200 sprintf(path, "hi2"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_TRUNC) => 0; memset(wbuffer, 'c', size); lfs2_file_write(&lfs2, &file, wbuffer, size) => size; lfs2_file_size(&lfs2, &file) => size; lfs2_file_close(&lfs2, &file) => 0; // write hi3 200 sprintf(path, "hi3"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_TRUNC) => 0; memset(wbuffer, 'c', size); lfs2_file_write(&lfs2, &file, wbuffer, size) => size; lfs2_file_size(&lfs2, &file) => size; lfs2_file_close(&lfs2, &file) => 0; lfs2_remove(&lfs2, "hi1") => 0; lfs2_stat(&lfs2, "hi1", &info) => LFS2_ERR_NOENT; // read hi0 200 sprintf(path, "hi0"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_RDONLY) => 0; lfs2_file_size(&lfs2, &file) => size; lfs2_file_read(&lfs2, &file, rbuffer, size) => size; memcmp(rbuffer, wbuffer, size) => 0; lfs2_file_close(&lfs2, &file) => 0; // read hi2 200 sprintf(path, "hi2"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_RDONLY) => 0; lfs2_file_size(&lfs2, &file) => size; lfs2_file_read(&lfs2, &file, rbuffer, size) => size; memcmp(rbuffer, wbuffer, size) => 0; lfs2_file_close(&lfs2, &file) => 0; // read hi3 200 sprintf(path, "hi3"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_RDONLY) => 0; lfs2_file_size(&lfs2, &file) => size; lfs2_file_read(&lfs2, &file, rbuffer, size) => size; memcmp(rbuffer, wbuffer, size) => 0; lfs2_file_close(&lfs2, &file) => 0; lfs2_remove(&lfs2, "hi2") => 0; lfs2_stat(&lfs2, "hi2", &info) => LFS2_ERR_NOENT; // read hi0 200 sprintf(path, "hi0"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_RDONLY) => 0; lfs2_file_size(&lfs2, &file) => size; lfs2_file_read(&lfs2, &file, rbuffer, size) => size; memcmp(rbuffer, wbuffer, size) => 0; lfs2_file_close(&lfs2, &file) => 0; // read hi3 200 sprintf(path, "hi3"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_RDONLY) => 0; lfs2_file_size(&lfs2, &file) => size; lfs2_file_read(&lfs2, &file, rbuffer, size) => size; memcmp(rbuffer, wbuffer, size) => 0; lfs2_file_close(&lfs2, &file) => 0; lfs2_remove(&lfs2, "hi3") => 0; lfs2_stat(&lfs2, "hi3", &info) => LFS2_ERR_NOENT; // read hi0 200 sprintf(path, "hi0"); size = 200; lfs2_file_open(&lfs2, &file, path, LFS2_O_RDONLY) => 0; lfs2_file_size(&lfs2, &file) => size; lfs2_file_read(&lfs2, &file, rbuffer, size) => size; memcmp(rbuffer, wbuffer, size) => 0; lfs2_file_close(&lfs2, &file) => 0; lfs2_remove(&lfs2, "hi0") => 0; lfs2_stat(&lfs2, "hi0", &info) => LFS2_ERR_NOENT; lfs2_unmount(&lfs2) => 0; ''' [[case]] # create too big code = ''' lfs2_format(&lfs2, &cfg) => 0; lfs2_mount(&lfs2, &cfg) => 0; memset(path, 'm', 200); path[200] = '\0'; size = 400; lfs2_file_open(&lfs2, &file, path, LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_TRUNC) => 0; uint8_t wbuffer[1024]; memset(wbuffer, 'c', size); lfs2_file_write(&lfs2, &file, wbuffer, size) => size; lfs2_file_close(&lfs2, &file) => 0; size = 400; lfs2_file_open(&lfs2, &file, path, LFS2_O_RDONLY) => 0; uint8_t rbuffer[1024]; lfs2_file_read(&lfs2, &file, rbuffer, size) => size; memcmp(rbuffer, wbuffer, size) => 0; lfs2_file_close(&lfs2, &file) => 0; lfs2_unmount(&lfs2) => 0; ''' [[case]] # resize too big code = ''' lfs2_format(&lfs2, &cfg) => 0; lfs2_mount(&lfs2, &cfg) => 0; memset(path, 'm', 200); path[200] = '\0'; size = 40; lfs2_file_open(&lfs2, &file, path, LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_TRUNC) => 0; uint8_t wbuffer[1024]; memset(wbuffer, 'c', size); lfs2_file_write(&lfs2, &file, wbuffer, size) => size; lfs2_file_close(&lfs2, &file) => 0; size = 40; lfs2_file_open(&lfs2, &file, path, LFS2_O_RDONLY) => 0; uint8_t rbuffer[1024]; lfs2_file_read(&lfs2, &file, rbuffer, size) => size; memcmp(rbuffer, wbuffer, size) => 0; lfs2_file_close(&lfs2, &file) => 0; size = 400; lfs2_file_open(&lfs2, &file, path, LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_TRUNC) => 0; memset(wbuffer, 'c', size); lfs2_file_write(&lfs2, &file, wbuffer, size) => size; lfs2_file_close(&lfs2, &file) => 0; size = 400; lfs2_file_open(&lfs2, &file, path, LFS2_O_RDONLY) => 0; lfs2_file_read(&lfs2, &file, rbuffer, size) => size; memcmp(rbuffer, wbuffer, size) => 0; lfs2_file_close(&lfs2, &file) => 0; lfs2_unmount(&lfs2) => 0; '''