BUILDING THE FSQA SUITE
_______________________
-Building Linux:
- - cd into the xfstests directory
- - install prerequisite packages
- For example, for Ubuntu:
- sudo apt-get install xfslibs-dev uuid-dev libtool-bin \
- e2fsprogs automake gcc libuuid1 quota attr libattr1-dev make \
- libacl1-dev libaio-dev xfsprogs libgdbm-dev gawk fio dbench \
- uuid-runtime
- For Fedora, RHEL, or CentOS:
- yum install acl attr automake bc dbench dump e2fsprogs fio \
- gawk gcc indent libtool lvm2 make psmisc quota sed \
- xfsdump xfsprogs \
- libacl-devel libattr-devel libaio-devel libuuid-devel \
- openssl-devel xfsprogs-devel btrfs-progs-devel
- (Older distributions may require xfsprogs-qa-devel as well.)
- (Note that for RHEL and CentOS, you may need the EPEL repo.)
- - run make
- - run make install
- - create fsgqa test user ("sudo useradd fsgqa")
- - create 123456-fsgqa test user ("sudo useradd 123456-fsgqa")
+- cd into the xfstests directory
+- install prerequisite packages
+ For example, for Ubuntu:
+ sudo apt-get install xfslibs-dev uuid-dev libtool-bin \
+ e2fsprogs automake gcc libuuid1 quota attr libattr1-dev make \
+ libacl1-dev libaio-dev xfsprogs libgdbm-dev gawk fio dbench \
+ uuid-runtime python sqlite3
+ For Fedora, RHEL, or CentOS:
+ yum install acl attr automake bc dbench dump e2fsprogs fio \
+ gawk gcc indent libtool lvm2 make psmisc quota sed \
+ xfsdump xfsprogs \
+ libacl-devel libattr-devel libaio-devel libuuid-devel \
+ xfsprogs-devel btrfs-progs-devel python sqlite
+ (Older distributions may require xfsprogs-qa-devel as well.)
+ (Note that for RHEL and CentOS, you may need the EPEL repo.)
+- run make
+- run make install
+- create fsgqa test user ("sudo useradd fsgqa")
+- create 123456-fsgqa test user ("sudo useradd 123456-fsgqa")
-Building IRIX:
- - cd into the xfstests directory
- - set the ROOT and TOOLROOT env variables for IRIX appropriately
- - run ./make_irix
-
______________________
USING THE FSQA SUITE
______________________
-Preparing system for tests (IRIX and Linux):
+Preparing system for tests:
- compile XFS into your kernel or load XFS modules
- install administrative tools specific to the filesystem you wish to test
- If you wish to run the udf components of the suite install
- mkfs_udf and udf_db for IRIX and mkudffs for Linux. Also download and
- build the Philips UDF Verification Software from
- http://www.extra.research.philips.com/udf/, then copy the udf_test
+ mkudffs. Also download and build the Philips UDF Verification Software
+ from http://www.extra.research.philips.com/udf/, then copy the udf_test
binary to xfstests/src/. If you wish to disable UDF verification test
set the environment variable DISABLE_UDF_TEST to 1.
run xfs_repair -n to check the filesystem; xfs_repair to rebuild
metadata indexes; and xfs_repair -n (a third time) to check the
results of the rebuilding.
- - set TEST_XFS_SCRUB=1 to have _check_xfs_filesystem run
- xfs_scrub -vd to scrub the filesystem metadata online before
- unmounting to run the offline check.
+ - xfs_scrub, if present, will always check the test and scratch
+ filesystems if they are still online at the end of the test.
+ It is no longer necessary to set TEST_XFS_SCRUB.
+ - setenv LOGWRITES_DEV to a block device to use for power fail
+ testing.
+ - setenv PERF_CONFIGNAME to a arbitrary string to be used for
+ identifying the test setup for running perf tests. This should
+ be different for each type of performance test you wish to run so
+ that relevant results are compared. For example 'spinningrust'
+ for configurations that use spinning disks and 'nvme' for tests
+ using nvme drives.
- or add a case to the switch in common/config assigning
these variables based on the hostname of your test
- Groups of tests maybe ran by: ./check -g [group(s)]
See the 'group' file for details on groups
- To randomize test order: ./check -r [test(s)]
- - You can explicitly specify NFS/CIFS/UDF/OVERLAY, otherwise
+ - You can explicitly specify NFS/CIFS/OVERLAY, otherwise
the filesystem type will be autodetected from $TEST_DEV:
- for running nfs tests: ./check -nfs [test(s)]
- for running cifs/smb3 tests: ./check -cifs [test(s)]
- - for udf tests: ./check -udf [test(s)]
- Running all the udf tests: ./check -udf -g udf
- for overlay tests: ./check -overlay [test(s)]
The TEST and SCRATCH partitions should be pre-formatted
with another base fs, where the overlay dirs will be created