| #!/bin/ksh -p |
| |
| source "${STF_SUITE}/include/libtest.shlib" |
| source "${STF_SUITE}/tests/functional/mv_files/mv_files.cfg" |
| |
| # This will test the #7401 regression. |
| log_assert "Check that creating many files quickly is safe" |
| |
| DIR="${TESTDIR}/RANDOM_SMALL" |
| |
| log_must mkdir "${DIR}" |
| |
| count=0 |
| for i in $(shuf -i 1-"${RC_PASS1}") ; do |
| if ! touch "${DIR}/${i}" ; then |
| log_fail "error creating ${i} after ${count} files" |
| fi |
| count=$((count+1)) |
| done |
| |
| visible="$(find "${DIR}" -type f|wc -l)" |
| |
| log_must [ "${visible}" -eq "${RC_PASS1}" ] |
| |
| log_assert "Check that creating them in another order is safe" |
| |
| DIR1="${TESTDIR}/RANDOM2" |
| |
| log_must mv "${DIR}" "${DIR1}" |
| |
| log_must mkdir "${DIR}" |
| |
| count=0 |
| for i in $(cd "${DIR1}" ; ls -U . ) ; do |
| if ! touch "${DIR}/${i}" ; then |
| log_fail "error creating ${i} after ${count} files" |
| fi |
| count=$((count+1)) |
| [ "${count}" -eq "${RC_PASS2}" ] && break |
| done |
| |
| visible="$(find "${DIR}" -type f|wc -l)" |
| |
| if [ "${visible}" -eq "${RC_PASS2}" ] ; then |
| log_pass "Created all ${RC_PASS2} files" |
| else |
| log_fail "Number of created files ${visible} is not ${RC_PASS2}" |
| fi |