Linux内核之blktests简单介绍
Linux内核之blktests简单介绍
blktests
最近遇到了个补丁引起的blktests
测试问题,顺便了解了下blktests
。
blktests
是Linux内核块设备和存储堆栈的一个测试框架。它的灵感来自于xfstests
文件系统测试框架。
blktests is a test framework for the Linux kernel block layer and storage stack. It is inspired by the xfstests filesystem testing framework. It was originally written by Omar Sandoval and announced in 2017.
简单使用
安装依赖
确保安装相关依赖:
- bash (>= 4.2)
- GNU coreutils
- GNU awk
- util-linux
- fio
- gcc
- make
有些测试可能要求更多组件:
- e2fsprogs and xfsprogs
- multipath-tools (Debian, openSUSE, Arch Linux) or device-mapper-multipath (Fedora)
- dmsetup (Debian) or device-mapper (Fedora, openSUSE, Arch Linux)
- rublk (
cargo install --version=^0.1 rublk
) for ublk test
编译安装
编译安装比较简单,和一般的程序一样,直接make
,如需安装就make install
,默认安装路径为/usr/local/blktests
,如果需要修改安装路径可通过DESTDIR
或 prefix
。
运行测试
- 指定测试的块设备,在
config
文件里面添加需要测试的块设备列表:TEST_DEVS=(/dev/nvme0n1 /dev/sdb) #也可以直接使用环境变量: export TEST_DEVS=/dev/nvme0n1p5
- 切换为
root
用户,默认运行所有的测试项:./check
,也可以只运行某一项,如:./check block/022
特别注意:这些测试具有潜在的破坏性!!!千万不要将保存有自己资料的设备指定为测试设备!!!
更多测试相关的信息(包括配置及运行测试等)可以看官方源码里的文档:Documentation/running-tests.md
增加新的测试项
这里就不再详述,看参考官方文档。
参考
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 DD'Notes!
评论