Added test for lookahead overflow

This commit is contained in:
Christopher Haster
2018-04-09 14:36:52 -05:00
parent 89a7630d84
commit 6a89ecba39

View File

@@ -110,10 +110,36 @@ lfs_alloc_singleproc multiprocreuse
lfs_verify multiprocreuse lfs_verify multiprocreuse
lfs_verify singleprocreuse lfs_verify singleprocreuse
echo "--- Cleanup ---"
lfs_remove multiprocreuse lfs_remove multiprocreuse
lfs_remove singleprocreuse lfs_remove singleprocreuse
echo "--- Lookahead overflow test ---"
lfs_mkdir overflow
for name in bacon eggs pancakes
do
tests/test.py << TEST
lfs_mount(&lfs, &cfg) => 0;
// setup lookahead to almost overflow
lfs.free.begin = ((lfs_size_t)-1) - $SIZE/(2*cfg.block_size);
lfs.free.size = 0;
lfs.free.off = 0;
lfs_file_open(&lfs, &file[0], "overflow/$name",
LFS_O_WRONLY | LFS_O_CREAT | LFS_O_APPEND) => 0;
size = strlen("$name");
memcpy(buffer, "$name", size);
for (int i = 0; i < $SIZE; i++) {
printf("%d\n", lfs.free.begin);
lfs_file_write(&lfs, &file[0], buffer, size) => size;
}
lfs_file_close(&lfs, &file[0]) => 0;
lfs_unmount(&lfs) => 0;
TEST
done
lfs_verify overflow
lfs_remove overflow
echo "--- Exhaustion test ---" echo "--- Exhaustion test ---"
tests/test.py << TEST tests/test.py << TEST
lfs_mount(&lfs, &cfg) => 0; lfs_mount(&lfs, &cfg) => 0;
@@ -368,7 +394,6 @@ echo "--- Outdated lookahead and split dir test ---"
rm -rf blocks rm -rf blocks
tests/test.py << TEST tests/test.py << TEST
lfs_format(&lfs, &cfg) => 0; lfs_format(&lfs, &cfg) => 0;
lfs_mount(&lfs, &cfg) => 0; lfs_mount(&lfs, &cfg) => 0;
// fill completely with two files // fill completely with two files
@@ -424,5 +449,8 @@ tests/test.py << TEST
lfs_unmount(&lfs) => 0; lfs_unmount(&lfs) => 0;
TEST TEST
echo "--- Results ---" echo "--- Results ---"
tests/stats.py tests/stats.py