_______________________
Building Linux:
- - cd into the xfstests directory and run make.
+ - cd into the xfstests directory
+ - run make
+ - run make install
Building IRIX:
- cd into the xfstests directory
- leave empty and expect this partition to be clobbered
by some tests. If this is not provided, many tests will
not be run.
-
- (these must be two DIFFERENT partitions)
+ (SCRATCH and TEST must be two DIFFERENT partitions)
+ OR
+ - for btrfs only: some btrfs test cases will need 3 or more independent
+ SCRATCH disks which should be set using SCRATCH_DEV_POOL (for eg:
+ SCRATCH_DEV_POOL="/dev/sda /dev/sdb /dev/sdc") with which
+ SCRATCH_DEV should be unused by the tester, and for the legacy
+ support SCRATCH_DEV will be set to the first disk of the
+ SCRATCH_DEV_POOL by xfstests script.
- setup your environment
- setenv TEST_DEV "device containing TEST PARTITION"
- setenv TEST_DIR "mount point of TEST PARTITION"
- optionally:
- - setenv SCRATCH_DEV "device containing SCRATCH PARTITION"
+ - setenv SCRATCH_DEV "device containing SCRATCH PARTITION" OR
+ (btrfs only) setenv SCRATCH_DEV_POOL "to 3 or more SCRATCH disks for
+ testing btrfs raid concepts"
- setenv SCRATCH_MNT "mount point for SCRATCH PARTITION"
- setenv TAPE_DEV "tape device for testing xfsdump"
- setenv RMT_TAPE_DEV "remote tape device for testing xfsdump"
- if TEST_LOGDEV and/or TEST_RTDEV, these will always be used.
- if SCRATCH_LOGDEV and/or SCRATCH_RTDEV, the USE_EXTERNAL
environment variable set to "yes" will enable their use.
- - or add a case to the switch in common.config assigning
+ - setenv DIFF_LENGTH "number of diff lines to print from a failed test",
+ by default 10, set to 0 to print the full diff
+ - setenv FSTYP "the filesystem you want to test", the filesystem
+ type is devised from the TEST_DEV device, but you may want to
+ override it; if unset, the default is 'xfs'
+ - or add a case to the switch in common/config assigning
these variables based on the hostname of your test
machine
- or add these variables to a file called local.config and keep that
tape which can be overwritten.
- make sure $TEST_DEV is a mounted XFS partition
- - make sure that $SCRATCH_DEV contains nothing useful
+ - make sure that $SCRATCH_DEV or $SCRATCH_DEV_POOL contains nothing useful
Running tests:
- cd xfstests
- By default the tests suite will run xfs tests:
- - ./check 001 002 003 ... or you can explicitly run a filesystem:
- ./check -xfs [test(s)]
- - You can run a range of tests: ./check 067-078
+ - ./check '*/001' '*/002' '*/003'
+ - ./check '*/06?'
+ - You can explicitly specify NFS, otherwise the filesystem type will be
+ autodetected from $TEST_DEV:
+ ./check -nfs [test(s)]
- Groups of tests maybe ran by: ./check -g [group(s)]
See the 'group' file for details on groups
- for udf tests: ./check -udf [test(s)]
When developing a new test script keep the following things in
mind. All of the environment variables and shell procedures are
- available to the script once the "common.rc" file has been
+ available to the script once the "common/rc" file has been
sourced.
1. The tests are run from an arbitrary directory. If you want to
_within_tolerance - fancy numerical "close enough is good
enough" filter for deterministic
output ... see comments in
- common.filter for an explanation
+ common/filter for an explanation
_filter_date - turn ctime(3) format dates into the
string DATE for deterministic
and the content of the NIS database
if it is likely to be present)
- 4. General recommendations, usage conventions, etc.:
+ 5. General recommendations, usage conventions, etc.:
- When the content of the password or group file is
required, get it using the _cat_passwd and _cat_group
functions, to ensure NIS information is included if NIS
- variable directory contents
- imprecise numbers, especially sizes and times
- Use the "remake" script to recreate the verified output for one
- or more tests.
-
Pass/failure:
The script "check" may be used to run one or more tests.