pjd-fstest
Pjd-fstest是一个posix接口兼容性测试工具。
当前有几千个测试用例,覆盖chmod, chown, link, mkdir, mkfifo, open, rename, rmdir, symlink, truncate, unlink。
下载:GitHub - pjd/pjdfstest: File system test suite.
参考帮助文档编译安装即可。
测试用例在目录pjdfstest-master/tests:
执行测试:切换到root用户,进入被测试目录,然后执行prove -rv <测试用例目录>
举例,进入被测目录/data/mytest,执行prove -rv pjdfstest-master/tests
执行过程会实时打印结果,执行完成后,打印汇总的结果,可以看到哪些用例失败:
这里可以看到总共执行了8832个用例,有2个失败,失败的是tests/symlink/03.t中的1-2号用例。
再往上看执行过程,可以看到详细的失败原因:
第1个失败用例是创建symlink失败,原因是got ENAMETOOLONG,应该是名字过长;
第2个失败用例是unlink失败,原因是got ENOENT (Error No Entry),应该是因为上一个用例symlink失败了,所以这里unlink失败。
除了执行全量的测试,也可以执行某一类测试,只需要指定具体的测试用例目录就行了,
比如执行rename相关用例,运行:
prove -rv pjdfstest-master/tests/rename