Skip to content

Commit f5313d4

Browse files
tavisitccaffy
authored andcommitted
CI: Better handling of drop deletions tests
1 parent 8d7b09d commit f5313d4

1 file changed

Lines changed: 24 additions & 9 deletions

File tree

test/eos-instance-test

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -510,6 +510,17 @@ testout () {
510510
if [ $failed -gt 0 ]; then touch $FAILFILE; fi
511511
}
512512
################################################################################
513+
file_is_deleted () {
514+
local fxid=$1
515+
local output
516+
output=$(command eos -j -b root://$EOS_TEST_REDIRECTOR fileinfo "fxid:${fxid}" 2>&1)
517+
local rc=$?
518+
if [ $rc -ne 0 ] || echo "$output" | grep -q "pending_deletion\|tombstone\|does not exist"; then
519+
return 0
520+
fi
521+
return 1
522+
}
523+
################################################################################
513524
# Count total number of runtest calls in this script
514525
if [ "$1" != "list" ]; then
515526
echo "Counting total number of tests..."
@@ -1812,22 +1823,26 @@ rm_fxid=$(command eos -j -b root://$EOS_TEST_REDIRECTOR fileinfo ${RM_TEST_FILE}
18121823
rm_fsid=$(command eos -j -b root://$EOS_TEST_REDIRECTOR fileinfo ${RM_TEST_FILE} | jq -r .locations[].fsid | head -n 1)
18131824
runtest "### Rm " unix SUCCESS "" eos rm -F ${RM_TEST_FILE}
18141825
runtest "### Dropdel " unix SUCCESS "" eos fs dropdeletion "${rm_fsid}"
1815-
runtest "### Delay " unix SUCCESS "" delay 7
1816-
runtest "### Fileinfo " unix SUCCESS "" eos fileinfo "fxid:${rm_fxid}"
1817-
runtest "### Rm detached " unix SUCCESS "" eos rm "fxid:${rm_fxid}"
1818-
runtest "### Delay " unix SUCCESS "" delay 11
1819-
runtest "### Fileinfo " unix ERROR "" eos fileinfo "fxid:${rm_fxid}"
1826+
runtest "### Delay " unix SUCCESS "" delay 2
1827+
if ! file_is_deleted "$rm_fxid"; then
1828+
runtest "### Fileinfo " unix SUCCESS "" eos fileinfo "fxid:${rm_fxid}"
1829+
runtest "### Rm detached " unix SUCCESS "" eos rm "fxid:${rm_fxid}"
1830+
runtest "### Delay " unix SUCCESS "" delay 2
1831+
fi
1832+
runtest "### File Del " unix SUCCESS "" file_is_deleted "$rm_fxid"
18201833
# Secondly test that rm -F on a detached file will clean up the namespace
18211834
# without waiting for a confirmation from the diskservers
18221835
runtest "### Upload " unix SUCCESS "" eos cp /etc/passwd ${RM_TEST_FILE}
18231836
rm_fxid=$(command eos -j -b root://$EOS_TEST_REDIRECTOR fileinfo ${RM_TEST_FILE} | jq -r .fxid)
18241837
rm_fsid=$(command eos -j -b root://$EOS_TEST_REDIRECTOR fileinfo ${RM_TEST_FILE} | jq -r .locations[].fsid | head -n 1)
18251838
runtest "### Rm " unix SUCCESS "" eos rm -F ${RM_TEST_FILE}
18261839
runtest "### Dropdel " unix SUCCESS "" eos fs dropdeletion "${rm_fsid}"
1827-
runtest "### Delay " unix SUCCESS "" delay 7
1828-
runtest "### Fileinfo " unix SUCCESS "" eos fileinfo "fxid:${rm_fxid}"
1829-
runtest "### Rm force " unix SUCCESS "" eos rm -F "fxid:${rm_fxid}"
1830-
runtest "### Fileinfo " unix ERROR "" eos fileinfo "fxid:${rm_fxid}"
1840+
runtest "### Delay " unix SUCCESS "" delay 2
1841+
if ! file_is_deleted "$rm_fxid"; then
1842+
runtest "### Fileinfo " unix SUCCESS "" eos fileinfo "fxid:${rm_fxid}"
1843+
runtest "### Rm force " unix SUCCESS "" eos rm -F "fxid:${rm_fxid}"
1844+
fi
1845+
runtest "### File Del " unix SUCCESS "" file_is_deleted "$rm_fxid"
18311846
# Create a directory with 10 files in it
18321847
rmTestDir="/eos/$EOS_TEST_INSTANCE/test/instancetest/rm_test"
18331848
eos mkdir -p $rmTestDir

0 commit comments

Comments
 (0)