SDB:XFStests

跳转到:导航搜索


在 openSUSE 上测试

推荐文章

相关文章

Icon-help.png


如何在 openSUSE 上运行 xfstests。

情况

XFS 团队在 2000 年代初期从 SGI 带入了 xfstests。

从那时起,它得到了增强,包括针对许多 Linux 文件系统的文件系统测试,但它保留了原始名称。

它没有为 openSUSE 打包,但它肯定可以轻松下载、安装和运行。


流程

xfstests 新测试人员说明

这些说明是为 openSUSE 定制的,但最初来自以下 2 个来源

http://xfs.org/index.php/Getting_the_latest_source_code
http://www.how2forge.org/comment/reply/4443

首先你需要运行 xfstests

首先确保你拥有基本工具和软件包(对于 SLE 你需要 SDK 仓库)

$ zypper install git gcc libtool automake gettext-tools libattr-devel libacl-devel libuuid-devel libblkid-devel btrfsprogs

然后安装基本的 xfs 源

$ mkdir xfs_playground; cd xfs_playground
$ git clone git://oss.sgi.com/xfs/cmds/xfsprogs
$ git clone git://oss.sgi.com/xfs/cmds/xfstests

(你可以使用 git clone https://github.com/adityadani/xfstests 获取包含快照测试实用程序的版本)

(如果你正在跟踪当前版本,请不时使用 git pull 获取最新工作)

$ cd xfsprogs
$ make
$ sudo make install-qa # try 'make install-dev' if this fails, it installs xfs header files
$ cd ../xfstests
$ make

一旦“make”成功,你需要设置某些环境变量。你的机器上需要有两个不同的分区:1] 一个作为测试设备。2] 一个作为暂存设备。(暂存设备不是强制性的。但是某些测试需要暂存设备。)设置环境变量

export TEST_DEV=test_device-name
export TEST_DIR=test_device-mount-point
export SCRATCH_DEV=scratch_device-name
export SCRATCH_MNT=scratch_device-mount-point
export FSTYP=btrfs

(是的,变量名不一致。并假设你正在测试 btrfs。)

xfstests 至少支持 btrfs、xfs 和 ext4。

运行测试

$ cd xfstests
$ ./check -g auto

上述命令默认运行 xfs 测试套件中的许多测试。如果你省略 -g 参数,它将尝试运行所有测试。还有一个快速组(-g quick),应该在 5 分钟内运行。请参阅 xfstests 目录中的“group”文件,了解哪些测试属于哪个组。


为了运行特定测试,例如测试编号:102,那么,

$ ./check 102
$ ./check 001 002 003 ….

(check 脚本测试每个“测试脚本”的返回值并将其

值与预期输出进行比较。如果测试失败,它会在 .out.bad 文件中生成差异)

运行快照测试

目前只有一个测试 256。你需要直接从 next4 团队获取测试 256,因为它仍在开发中,或者使用以下链接 https://github.com/adityadani/xfstests

为了运行测试:要运行测试,两个设备/分区都需要挂载。

目前 btrfs 和 ext4dev 都受支持,但 ext4dev 需要未记录的调整才能工作。因此,请先尝试 btrfs

1] 首先设置如上所述的环境变量。

2] 将设备挂载到指定的挂载点。

mkfs.btrfs $TEST_DEV
mkfs.btrfs $SCRATCH_DEV

mount $TEST_DEV $TEST_DIR
mount $SCRATCH_DEV $SCRATCH_MNT

3] 运行测试编号 256

$ ./check 256

请注意,上述测试仍在开发中,因此存在某些错误。

参见

相关文章

外部链接