Commit Graph

149 Commits

Author SHA1 Message Date
Dmitry Monakhov b3db6021fc xfstests: add fio requirement V2
FIO is very flexible io generator, I would call it IO swiss knife.
Currently we have tons of hardcoded application which reproduces
some predefined scenario. This approach has obvious disadvantages
1) Lack of flexibility: one written it is hard to modify it in future
2) Code base is large, many routines written again and again

At the same time add new fio based test, just add simple INI file.
This greatly simplifies code review. I do believe that some day we will
replace most of hardcoded io binaries with fio.

One who is planning to run $FIO_PROG should first check that system
contains appropriate version which is able to handle jobfile
for example:  _require_fio 286-job.fio

Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
Reviewed-by: Rich Johnston <rjohnston@sgi.com>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
2013-03-01 10:09:07 -06:00
Tomas Racek 03b0089e9b xfstests: Provide dumpe2fs via standard common.config interface
dumpe2fs can be now accessed via $DUMPE2FS_PROG, tests that require it
can check for its availability by _require_dumpe2fs function.

Signed-off-by: Tomas Racek <tracek@redhat.com>
Reviewed-by: Ben Myers <bpm@sgi.com>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
2013-02-26 09:22:24 -06:00
Rich Johnston 7b2806e2e8 Revert "xfstests: resolve symlinked devices to real paths"
This reverts commit d5ea873fcb which overrode
0a818862bb xfstests: support post-udev device
mapper node.

Signed-off-by: Rich Johnston <rjohnston@sgi.com>
Reviewed-by: Rich Johnston <rjohnston@sgi.com>
2012-11-28 09:02:10 -06:00
Rich Johnston 024b1c0a71 Revert "xfstests: fix to build src/realpath and the correct the existence of target devices"
This reverts commit b03c662399 which overrode
the 0a818862bb xfstests: support post-udev
device mapper node.

Signed-off-by: Rich Johnston <rjohnston@sgi.com>
Reviewed-by: Rich Johnston <rjohnston@sgi.com>
2012-11-28 08:46:39 -06:00
sat b03c662399 xfstests: fix to build src/realpath and the correct the existence of target devices
Hi Rich, Eric

(2012/10/27 1:46), Rich Johnston wrote:
> On 06/08/2010 03:03 PM, Eric Sandeen wrote:
>> If you try running xfstests on lvm volumes which are symlinks,
>> it'll fail to run several tests because our _require_scratch
>> framework ultimately uses lstat not stat, and does not think
>> the lvm device (which is usually a symlink to a dm-X device)
>> is a block device.  Sigh.
>>
>> Last try at this - just resolve any symlinked devicenames
>> into their realpath(3) in common.config.
>>
>> This actually seems to work.
>>
>> Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
>>
>> ---
>>
>>
>> diff --git a/common.config b/common.config
>> index 926846b..e5b2483 100644
>> --- a/common.config
>> +++ b/common.config
> 
> Looks good
> 
> Reviewed-by: Rich Johnston <rjohnston@sgi.com>
> 
> Eric,
> 
> This patch has been committed to git://oss.sgi.com/xfs/cmds/xfstests, master branch, commit ID d5ea873f.

From: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com>

Commit d5ea873f is not the same as the the following original Eric's patch.

http://oss.sgi.com/archives/xfs/2010-06/msg00080.html

It does not modify src/Makefile and realpath is never compiled.

In addition, `[ -L $TEST_DEV ]' and `[ -L $SCRATCH_DEV ]' always returns 0
if $TEST_DEV or $SCRATCH_DEV are not defined.

Cc: Eric Sandeen <sandeen@sandeen.net>
Cc: Rich Johnston <rjohnston@sgi.com>
Signed-off-by: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com>
Reviewed-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Rich Johnston <rjohnston@sgi.com>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
2012-11-21 08:18:53 -06:00
Eric Sandeen d5ea873fcb xfstests: resolve symlinked devices to real paths
If you try running xfstests on lvm volumes which are symlinks,
it'll fail to run several tests because our _require_scratch 
framework ultimately uses lstat not stat, and does not think 
the lvm device (which is usually a symlink to a dm-X device) 
is a block device.  Sigh.

Last try at this - just resolve any symlinked devicenames
into their realpath(3) in common.config.

This actually seems to work.

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Rich Johnston <rjohnston@sgi.com>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
2012-10-26 10:38:30 -05:00
Tomas Racek 8ddf4d1a1e Use upstream version of fstrim instead of the local one
Local version of fstrim was dropped so that we depend on upstream
version which is now available via FSTRIM_PROG. _require_fstrim was
added to check if fstrim is available in the system and
_test_batched_discard to check if we can run fstrim on certain
mountpoint.

Also tests 251 and 260 were modified to reflect this change.

Signed-off-by: Tomas Racek <tracek@redhat.com>
Reviewed-by: Lukas Czerner <lczerner@redhat.com>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
2012-10-24 12:18:11 -05:00
Jan Schmidt bd8ee45cf7 xfstests: 276: new test to ensure btrfs backref integrity
This is a btrfs specific scratch test checking the backref walker. It
creates a file system with compressed and uncompressed data extents, picks
files randomly and uses filefrag to get their extents. It then asks the
btrfs utility (inspect-internal) to do the backref resolving from fs-logical
address (the one filefrag calls "physical") back to the inode number and
file-logical offset, verifying the result.

Signed-off-by: Jan Schmidt <list.btrfs@jan-o-sch.net>
Signed-off-by: Christoph Hellwig <hch@lst.de>
2011-12-08 17:11:38 +00:00
Anand Jain 27a067a7ca Added SCRATCH_DEV_POOL to specify multiple disks for the btrfs RAID
SCRATCH_DEV takes single disk as the scratch place for testing. New
SCRATCH_DEV_POOL can used to specify multiple disks for the scratch
btrfs filesystem.

Using SCRATCH_DEV and or SCRATCH_DEV_POOL will follow the following logic.
  btrfs FS OR any FS
    SCRATCH_DEV_POOL is unset and SCRATCH_DEV is set
     . test-case with _require_scratch_dev_pool will not run
     . test-case without _require_scratch_dev_pool will run

    SCRATCH_DEV_POOL is set and SCRATCH_DEV is unset
     . test-case with _require_scratch_dev_pool
         - runs only if FSTYP=btrfs
     . test-case without _require_scratch_dev_pool will run using first
       dev in the SCRATCH_DEV_POOL as a SCRATCH_DEV
         - if FSTYP=btrfs it includes SCRATCH_DEV_POOL disks to the FS
         - if FSTYP=non-btrfs SCRATCH_DEV_POOL is ignored

    SCRATCH_DEV_POOL is set and SCRATCH_DEV is set
     . reports error in the config

    SCRATCH_DEV_POOL is unset and SCRATCH_DEV is unset
     . no change

Signed-off-by: Anand Jain <Anand.Jain@oracle.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
2011-11-02 21:04:41 +00:00
David Sterba 314b221201 xfstests: setup and run non-generic mkfs for btrfs
Signed-off-by: David Sterba <dsterba@suse.cz>
Signed-off-by: Christoph Hellwig <hch@lst.de>
2011-08-25 07:06:10 +02:00
Arkadiusz Miśkiewicz 903b50fad9 Don't hardcode paths to many binaries.
Stop hardcoding paths to getfattr, setfattr, attr, quota, xfs_quota,
killall, indent and xfs_copy binaries.

Signed-off-by: Arkadiusz Miśkiewicz <arekm@maven.pl>

- new
Signed-off-by: Christoph Hellwig <hch@lst.de>
2010-09-11 19:34:47 -03:00
Eric Sandeen d3942f5a09 xfstests 241: run parallel dbench
ext4 was corrupting inode table bitmaps due to a mishmash of
atomic & nonatomic bitops.  This got broken twice and fixed
twice; let's add a test.

On a 4-way box this reliably ends up with a corrupted filesystem
if we get it wrong (upstream as of 2.6.35 at least is fine again)
    
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Dave Chinner <david@fromorbit.com>
2010-08-20 14:15:50 -05:00
Eric Sandeen 64f2b6a153 xfstests: drop readlink of test devices
Comments say it's for devfs; it's actually breaking lvm devices, now.
I think we can just drop it.

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2010-03-24 11:12:32 -05:00
Dave Chinner 771e69de67 xfstests: Convert all tests to use /bin/bash
While most tests use /bin/sh, they are dependent on /bin/sh being a
bash shell.  Convert all the tests to execute via /bin/bash as it is
much, much simpler than trying to debug and remove all the bashisms
throughout the test code.

Signed-off-by: Dave Chinner <david@fromorbit.com>
Reviewed-by: Eric Sandeen <sandeen@sandeen.net>
2010-01-20 10:27:08 +11:00
Christian Kujau 3ba1b10a87 don't fail if nslookup is not found
When nslookup is not available, execution would stop. This patch moves the
check for nslookup and the _get_fqdn function into the ./new script (since
this is the only place where it's used) and we don't fail any more but try
to find out our FQDN without nslookup.

Signed-off-by: Christian Kujau <lists@nerdbynature.de>
Signed-off-by: Christoph Hellwig <hch@lst.de>
2009-07-20 11:31:39 +02:00
Christoph Hellwig 270317db89 small common.config cleanup
Don't list various non-mandatory options near the check for the
mandatory ones, and make the test for the mandatory ones a proper if
statements.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Eric Sandeen <sandeen@sandeen.net>
2009-07-07 16:22:36 +02:00
Theodore Ts'o 83f15ee79b fix common.config to allow SCRATCH_DEV and SCRATCH_MNT to be optional
Commit 3ae9f2f8 purports to allow SCRATCH_DEV and SCRATCH_MNT to be
optional, but tests in common.config will cause check to exit with an
error if these environment variables are not defined.  Fix this problem.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Christoph Hellwig <hch@lst.de>
2009-06-20 19:14:14 +02:00
Felix Blyakher 491d467f3c Add GPL license plate to SGI's files.
Signed-off-by: Felix Blyakher <felixb@sgi.com>
Reviewed-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Felix Blyakher <felixb@sgi.com>
2009-06-05 15:41:14 -05:00
Eric Sandeen 7c75dff3dd Revert "patch more_set_prog_path"
This reverts commit b2fcff900d.

This snuck in unintentionally due to my weak git-fu,
and was breaking things.
2009-04-23 12:42:32 -05:00
Eric Sandeen b2fcff900d patch more_set_prog_path 2009-04-19 15:48:48 -05:00
Dave Chinner 80b2c990d0 xfsqa 165 - fails if environment LANG != C
Merge of master-melb:xfs-cmds:30992a by kenmcd.

  export the language that all tests will run under to prevent
  language settings from affecting test output and giving
  spurious failures when comparing against golden output.
2008-04-28 06:25:22 +00:00
Tim Shimmin 89c6e8060f add dump/restore paths to xfstests/common.dump and set up path for bc
Merge of master-melb:xfs-cmds:30712a by kenmcd.

  add dump/restore paths to xfstests/common.dump and set up path for bc
2008-03-26 03:28:24 +00:00
Barry Naujok 1d368392c1 Add xfsprogs version number as environment variable for QA
Merge of master-melb:xfs-cmds:30672a by kenmcd.

  Add xfsprogs version number as environment variable for QA
2008-03-14 03:18:10 +00:00
Niv Sardi ca74d86f8f source /etc/xfsqa.config
This is used by uml.sh script to generate proper per-generic machine configs for xfsqa
Merge of master-melb:xfs-cmds:30294a by kenmcd.
2008-01-03 05:16:17 +00:00
Niv Sardi 5968a7eaad XFSQA cleanup, add per host config files.
This patche adds a new file in ./configs for each host that was
    in the monolithic (ugly) common.config file.

    the files have been auto-generated and might contain some quircks.

    The in-source documentation has been updated as well.
Merge of master-melb:xfs-cmds:30293a by kenmcd.
2008-01-03 05:15:27 +00:00