diff options
author | Christopher Haster <chaster@utexas.edu> | 2018-02-04 22:48:44 +0300 |
---|---|---|
committer | Christopher Haster <chaster@utexas.edu> | 2018-02-04 23:09:55 +0300 |
commit | 6716b5580af841c379edbdd1ba2a558ebce0cb58 (patch) | |
tree | 5aff1dde9bb2aa2e4bc2e1c8c3817672c7cefc39 /tests | |
parent | 809ffde60fdadd4640acead675990757c9b762bc (diff) |
Fixed error check when truncating files to larger size
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/test_truncate.sh | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/tests/test_truncate.sh b/tests/test_truncate.sh index 1da0cce..da5ccaf 100755 --- a/tests/test_truncate.sh +++ b/tests/test_truncate.sh @@ -13,10 +13,12 @@ TEST truncate_test() { STARTSIZES="$1" -HOTSIZES="$2" -COLDSIZES="$3" +STARTSEEKS="$2" +HOTSIZES="$3" +COLDSIZES="$4" tests/test.py << TEST static const lfs_off_t startsizes[] = {$STARTSIZES}; + static const lfs_off_t startseeks[] = {$STARTSEEKS}; static const lfs_off_t hotsizes[] = {$HOTSIZES}; lfs_mount(&lfs, &cfg) => 0; @@ -33,6 +35,11 @@ tests/test.py << TEST } lfs_file_size(&lfs, &file[0]) => startsizes[i]; + if (startseeks[i] != startsizes[i]) { + lfs_file_seek(&lfs, &file[0], + startseeks[i], LFS_SEEK_SET) => startseeks[i]; + } + lfs_file_truncate(&lfs, &file[0], hotsizes[i]) => 0; lfs_file_size(&lfs, &file[0]) => hotsizes[i]; @@ -109,23 +116,41 @@ echo "--- Cold shrinking truncate ---" truncate_test \ "2*$LARGESIZE, 2*$LARGESIZE, 2*$LARGESIZE, 2*$LARGESIZE, 2*$LARGESIZE" \ "2*$LARGESIZE, 2*$LARGESIZE, 2*$LARGESIZE, 2*$LARGESIZE, 2*$LARGESIZE" \ + "2*$LARGESIZE, 2*$LARGESIZE, 2*$LARGESIZE, 2*$LARGESIZE, 2*$LARGESIZE" \ " 0, $SMALLSIZE, $MEDIUMSIZE, $LARGESIZE, 2*$LARGESIZE" echo "--- Cold expanding truncate ---" truncate_test \ " 0, $SMALLSIZE, $MEDIUMSIZE, $LARGESIZE, 2*$LARGESIZE" \ " 0, $SMALLSIZE, $MEDIUMSIZE, $LARGESIZE, 2*$LARGESIZE" \ + " 0, $SMALLSIZE, $MEDIUMSIZE, $LARGESIZE, 2*$LARGESIZE" \ "2*$LARGESIZE, 2*$LARGESIZE, 2*$LARGESIZE, 2*$LARGESIZE, 2*$LARGESIZE" echo "--- Warm shrinking truncate ---" truncate_test \ "2*$LARGESIZE, 2*$LARGESIZE, 2*$LARGESIZE, 2*$LARGESIZE, 2*$LARGESIZE" \ + "2*$LARGESIZE, 2*$LARGESIZE, 2*$LARGESIZE, 2*$LARGESIZE, 2*$LARGESIZE" \ " 0, $SMALLSIZE, $MEDIUMSIZE, $LARGESIZE, 2*$LARGESIZE" \ " 0, 0, 0, 0, 0" echo "--- Warm expanding truncate ---" truncate_test \ " 0, $SMALLSIZE, $MEDIUMSIZE, $LARGESIZE, 2*$LARGESIZE" \ + " 0, $SMALLSIZE, $MEDIUMSIZE, $LARGESIZE, 2*$LARGESIZE" \ + "2*$LARGESIZE, 2*$LARGESIZE, 2*$LARGESIZE, 2*$LARGESIZE, 2*$LARGESIZE" \ + "2*$LARGESIZE, 2*$LARGESIZE, 2*$LARGESIZE, 2*$LARGESIZE, 2*$LARGESIZE" + +echo "--- Mid-file shrinking truncate ---" +truncate_test \ + "2*$LARGESIZE, 2*$LARGESIZE, 2*$LARGESIZE, 2*$LARGESIZE, 2*$LARGESIZE" \ + " $LARGESIZE, $LARGESIZE, $LARGESIZE, $LARGESIZE, $LARGESIZE" \ + " 0, $SMALLSIZE, $MEDIUMSIZE, $LARGESIZE, 2*$LARGESIZE" \ + " 0, 0, 0, 0, 0" + +echo "--- Mid-file expanding truncate ---" +truncate_test \ + " 0, $SMALLSIZE, $MEDIUMSIZE, $LARGESIZE, 2*$LARGESIZE" \ + " 0, 0, $SMALLSIZE, $MEDIUMSIZE, $LARGESIZE" \ "2*$LARGESIZE, 2*$LARGESIZE, 2*$LARGESIZE, 2*$LARGESIZE, 2*$LARGESIZE" \ "2*$LARGESIZE, 2*$LARGESIZE, 2*$LARGESIZE, 2*$LARGESIZE, 2*$LARGESIZE" |