mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
xfs/068: Verify actual file count instead of reported file count
This test has the number of files/dirs created by xfsrestore hardcoded in golden output. When fsstress is added new ops, the number of files/dirs created with the same random seed changes and this regularly breaks this test, so when new fsstress ops are added they should be either added to the dump test blacklist or golden output of this test needs to be ammended to reflect the change. The golden output includes only the file count reported by xfsrestore and test does not even verify that this is the correct file count. Instead, leave the golden output neutral and explicitly verify that file count before and after the test are the same. With this change, the test becomes agnostic to fsstress ops and we could also stop blacklisting clone/dedup/copy ops if we want. Signed-off-by: Amir Goldstein <amir73il@gmail.com> Reviewed-by: Eryu Guan <guaneryu@gmail.com> Signed-off-by: Eryu Guan <guaneryu@gmail.com>
This commit is contained in:
committed by
Eryu Guan
parent
53566fac8c
commit
a70fb7335c
+20
@@ -1517,6 +1517,26 @@ _check_quota_file()
|
||||
_check_quota 'xfsdump_quotas' 'xfsdump_quotas_group' 'xfsdump_quotas_proj'
|
||||
}
|
||||
|
||||
_count_dir_files()
|
||||
{
|
||||
local dir=$1
|
||||
|
||||
local ndirs=$(find $dir -type d | wc -l)
|
||||
local nents=$(find $dir | wc -l)
|
||||
|
||||
echo "$ndirs directories and $nents entries"
|
||||
}
|
||||
|
||||
_count_dumpdir_files()
|
||||
{
|
||||
_count_dir_files $dump_dir
|
||||
}
|
||||
|
||||
_count_restoredir_files()
|
||||
{
|
||||
_count_dir_files $restore_dir/$dump_sdir
|
||||
}
|
||||
|
||||
|
||||
# make sure this script returns success
|
||||
/bin/true
|
||||
|
||||
+13
-1
@@ -30,12 +30,24 @@ _cleanup()
|
||||
. ./common/rc
|
||||
. ./common/dump
|
||||
|
||||
# remove previous $seqres.full before test
|
||||
rm -f $seqres.full
|
||||
|
||||
# real QA test starts here
|
||||
_supported_fs xfs
|
||||
_supported_os Linux
|
||||
|
||||
_create_dumpdir_stress_num 4096
|
||||
_do_dump_restore
|
||||
|
||||
echo -n "Before: " >> $seqres.full
|
||||
_count_dumpdir_files | tee $tmp.before >> $seqres.full
|
||||
|
||||
# filter out the file count, it changes as fsstress adds new operations
|
||||
_do_dump_restore | sed -e "/entries processed$/s/[0-9][0-9]*/NUM/g"
|
||||
|
||||
echo -n "After: " >> $seqres.full
|
||||
_count_restoredir_files | tee $tmp.after >> $seqres.full
|
||||
diff -u $tmp.before $tmp.after
|
||||
|
||||
# success, all done
|
||||
exit
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@ xfsrestore: session id: ID
|
||||
xfsrestore: media ID: ID
|
||||
xfsrestore: searching media for directory dump
|
||||
xfsrestore: reading directories
|
||||
xfsrestore: 383 directories and 1335 entries processed
|
||||
xfsrestore: NUM directories and NUM entries processed
|
||||
xfsrestore: directory post-processing
|
||||
xfsrestore: restoring non-directory files
|
||||
xfsrestore: restore complete: SECS seconds elapsed
|
||||
|
||||
Reference in New Issue
Block a user