On 2024/6/18 21:54, Kent Overstreet wrote:
On Tue, Jun 18, 2024 at 09:00:53AM +0800, Hongbo Li wrote:
What's about xfstest local.config?

just run L(*G#F$&* ktest, you shouldn't need me to debug this...

Apologize for this.

Thanks,
Hongbo

#!/bin/bash
# xfstests wrapper:

. $(dirname $(readlink -e "${BASH_SOURCE[0]}"))/test-libs.sh

require-git https://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git xfstests

# disable io_uring - io_uring is currently broken w.r.t. unmounting, we get
# spurious umount failures with -EBUSY
export ac_cv_header_liburing_h=no

require-kernel-config BSD_PROCESS_ACCT
require-kernel-config FAULT_INJECTION,FAULT_INJECTION_DEBUG_FS,FAIL_MAKE_REQUEST
require-kernel-config MD,BLK_DEV_DM,DM_FLAKEY,DM_SNAPSHOT,DM_LOG_WRITES
require-kernel-config DM_THIN_PROVISIONING
require-kernel-config DM_ZERO
require-kernel-config BLK_DEV,BLK_DEV_LOOP
require-kernel-config SCSI_DEBUG=m
require-kernel-config USER_NS
require-kernel-config OVERLAY_FS

# 038,048,312 require > 10G
config-scratch-devs 14G
config-scratch-devs 14G
config-scratch-devs 14G

# swap
config-scratch-devs 2G

config-timeout 7200

list_tests()
{
     pushd $(dirname $(readlink -e "${BASH_SOURCE[0]}"))/xfstests > /dev/null

     for i in tests/*; do
        if [[ -d $i ]]; then
            pushd $i > /dev/null
            ../../tools/mkgroupfile group.list
            popd > /dev/null
        fi
     done

     for g in generic shared "$FSTYP"; do
        [[ ! -f tests/$g/group.list ]] && continue
        grep -hE '[0-9][0-9][0-9] .*(auto|dangerous)' tests/$g/group.list|
            sed -e "s/ .*//" -e "s/^/$g\//"
     done

     popd > /dev/null
}

run_xfstests()
{
     if [[ ! -f /xfstests-init-done ]]; then
        mkswap ${ktest_scratch_dev[3]}
        swapon ${ktest_scratch_dev[3]}

        useradd -m fsgqa
        useradd fsgqa2
        useradd 123456-fsgqa

        mkdir -p /mnt/test /mnt/scratch

        run_quiet "building $(basename $i)" make -j $ktest_cpus -C 
"$ktest_dir/tests/xfstests"

        rm -rf /ktest-out/xfstests

        wipefs -af ${ktest_scratch_dev[0]}
        mkfs.$FSTYP $MKFS_OPTIONS -q ${ktest_scratch_dev[0]}

        touch /xfstests-init-done
     fi

     # mkfs.xfs 5.19 requires these variables to be exported into its
     # environment to allow sub-300MB filesystems for fstests.
     export TEST_DEV=${ktest_scratch_dev[0]}
     export TEST_DIR=/mnt/test
     cat << EOF > /ktest/tests/xfstests/local.config
TEST_DEV=${ktest_scratch_dev[0]}
TEST_DIR=$TEST_DIR
SCRATCH_DEV=${ktest_scratch_dev[1]}
SCRATCH_MNT=/mnt/scratch
LOGWRITES_DEV=${ktest_scratch_dev[2]}
RESULT_BASE=/ktest-out/xfstests
LOGGER_PROG=true
EOF

     export MKFS_OPTIONS
     mount -t $FSTYP ${ktest_scratch_dev[0]} /mnt/test

     cd "$ktest_dir/tests/xfstests"
     ./check "$@"
}

Reply via email to