Change test_append_file to avoid object read-after-after-overwrite

Open the test file once outside of the tests for loop.  This helps avoid
object consistency problems when running against S3 providers without
strong consistency (like Amazon).  See Issue #263.
This commit is contained in:
Robb Kistler 2015-09-11 11:21:51 -07:00
parent 9ea8da839c
commit 849e66f6a1

View File

@ -63,13 +63,16 @@ function rm_test_dir {
function test_append_file { function test_append_file {
echo "Testing append to file ..." echo "Testing append to file ..."
# Open and close file outside of loop to avoid eventual object consistency
# issues
exec 3<> ${TEST_TEXT_FILE} # open
# Write a small test file # Write a small test file
for x in `seq 1 $TEST_TEXT_FILE_LENGTH` for x in `seq 1 $TEST_TEXT_FILE_LENGTH`
do do
echo "echo ${TEST_TEXT} to ${TEST_TEXT_FILE}" echo "echo ${TEST_TEXT} ${x} to ${TEST_TEXT_FILE}"
echo $TEST_TEXT >> $TEST_TEXT_FILE echo "$TEST_TEXT ${x}" >&3
done done
exec 3>&- # close
# Verify contents of file # Verify contents of file
echo "Verifying length of test file" echo "Verifying length of test file"