summaryrefslogtreecommitdiff
path: root/tests/xfstests.sh
blob: ffa968508af5af584b485ff6c1e57bd9af5f2480 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# xfstests wrapper:

require-lib test-libs.sh

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

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 BLK_DEV,BLK_DEV_LOOP
require-kernel-config SCSI_DEBUG=m
require-kernel-config USER_NS

# 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()
{
    (cd "$ktest_dir/tests/xfstests/tests"; echo generic/???)
}

hook_xfstests()
{
    mkswap /dev/sde
    swapon /dev/sde

    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"
}

run_xfstests()
{
    export FSTYP="$1"
    shift

    cat << EOF > /ktest/tests/xfstests/local.config
TEST_DEV=/dev/sdb
TEST_DIR=/mnt/test
SCRATCH_DEV=/dev/sdc
SCRATCH_MNT=/mnt/scratch
LOGWRITES_DEV=/dev/sdd
RESULT_BASE=/ktest-out/xfstests
LOGGER_PROG=true
EOF

    export MKFS_OPTIONS

    rm -rf /ktest-out/xfstests

    wipefs -af /dev/sdb
    mkfs.$FSTYP $MKFS_OPTIONS -q /dev/sdb
    mount /dev/sdb /mnt/test

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