Files
apfstests/tests/xfs/068
T
Amir Goldstein a70fb7335c 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>
2019-02-10 19:14:56 +08:00

54 lines
1.1 KiB
Bash
Executable File

#! /bin/bash
# SPDX-License-Identifier: GPL-2.0
# Copyright (c) 2014 Eric Sandeen. All Rights Reserved.
#
# FS QA Test No. 068
#
# Test out a level 0 dump/restore of a subdir to a file
#
# Use fsstress to create a larger directory structure with a mix of files
# Test for regression caused by
# c7cb51d xfs: fix error handling at xfs_inumbers
#
seqfull=$0
seq=`basename $0`
seqres=$RESULT_DIR/$seq
echo "QA output created by $seq"
here=`pwd`
tmp=/tmp/$$
status=0 # success is the default!
trap "_cleanup; exit \$status" 0 1 2 3 15
_cleanup()
{
_cleanup_dump
cd /
rm -f $tmp.*
}
. ./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
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