pjdfstest是什么?
从源代码的README看介绍:
============
Introduction
============
pjdfstest is a test suite that helps exercise POSIX system calls.
pjdfstest supports the following operating systems/filesystems:
- Supported Operating Systems: FreeBSD, Linux, Solaris
- Supported Filesystems: ext4, UFS, ZFS
它就是一个POSIX系统接口的测试套。
什么叫POSIX接口?
参考这个:https://pubs.opengroup.org/onlinepubs/9699919799/functions/contents.html
从github.com看代码。
GitHub - pjd/pjdfstest: File system test suite.
最近的一次更新是八个月以前。
Git stats 114 commits Files Type Name Latest commit message Commit time tests Add a missing ACL in the granular/03.t test
源代码的组成概况:主要是shell脚本。C语言部分就一个文件,pjdfstest.c,是一个解析参数然后调用POSIX系统接口的程序,编译的出来的二进制可执行文件名是pjdfdtest。
脚本tests/misc.sh调用pjdfstest,解析参数执行系统调用。
根据POSIX接口按目录组织的*.t也是shell脚本,里面调用tests/misc.sh的接口,完成具体的测试用例。
当前该版本总测试用例8832个。
文件目录树如下:
├── aclocal.m4
├── AUTHORS
├── autom4te.cache
│ ├── output.0
│ ├── output.1
│ ├── requests
│ ├── traces.0
│ └── traces.1
├── ChangeLog
├── config.guess -> /usr/share/automake-1.13/config.guess
├── config.h
├── config.h.in
├── config.log
├── config.status
├── config.sub -> /usr/share/automake-1.13/config.sub
├── configure
├── configure.ac
├── COPYING
├── depcomp -> /usr/share/automake-1.13/depcomp
├── INSTALL -> /usr/share/automake-1.13/INSTALL
├── install-sh -> /usr/share/automake-1.13/install-sh
├── Makefile
├── Makefile.am
├── Makefile.in
├── missing -> /usr/share/automake-1.13/missing
├── NEWS
├── pjdfstest
├── pjdfstest.c
├── pjdfstest.o
├── README
├── stamp-h1
├── tests
│ ├── chflags
│ │ ├── 00.t
│ │ ├── 01.t
│ │ ├── 02.t
│ │ ├── 03.t
│ │ ├── 04.t
│ │ ├── 05.t
│ │ ├── 06.t
│ │ ├── 07.t
│ │ ├── 08.t
│ │ ├── 09.t
│ │ ├── 10.t
│ │ ├── 11.t
│ │ ├── 12.t
│ │ └── 13.t
│ ├── chmod
│ │ ├── 00.t
│ │ ├── 01.t
│ │ ├── 02.t
│ │ ├── 03.t
│ │ ├── 04.t
│ │ ├── 05.t
│ │ ├── 06.t
│ │ ├── 07.t
│ │ ├── 08.t
│ │ ├── 09.t
│ │ ├── 10.t
│ │ ├── 11.t
│ │ ├── 12.t
│ │ └── foo
│ ├── chown
│ │ ├── 00.t
│ │ ├── 01.t
│ │ ├── 02.t
│ │ ├── 03.t
│ │ ├── 04.t
│ │ ├── 05.t
│ │ ├── 06.t
│ │ ├── 07.t
│ │ ├── 08.t
│ │ ├── 09.t
│ │ └── 10.t
│ ├── conf
│ ├── ftruncate
│ │ ├── 00.t
│ │ ├── 01.t
│ │ ├── 02.t
│ │ ├── 03.t
│ │ ├── 04.t
│ │ ├── 05.t
│ │ ├── 06.t
│ │ ├── 07.t
│ │ ├── 08.t
│ │ ├── 09.t
│ │ ├── 10.t
│ │ ├── 11.t
│ │ ├── 12.t
│ │ ├── 13.t
│ │ └── 14.t
│ ├── granular
│ │ ├── 00.t
│ │ ├── 01.t
│ │ ├── 02.t
│ │ ├── 03.t
│ │ ├── 04.t
│ │ ├── 05.t
│ │ └── 06.t
│ ├── link
│ │ ├── 00.t
│ │ ├── 01.t
│ │ ├── 02.t
│ │ ├── 03.t
│ │ ├── 04.t
│ │ ├── 05.t
│ │ ├── 06.t
│ │ ├── 07.t
│ │ ├── 08.t
│ │ ├── 09.t
│ │ ├── 10.t
│ │ ├── 11.t
│ │ ├── 12.t
│ │ ├── 13.t
│ │ ├── 14.t
│ │ ├── 15.t
│ │ ├── 16.t
│ │ └── 17.t
│ ├── misc.sh
│ ├── mkdir
│ │ ├── 00.t
│ │ ├── 01.t
│ │ ├── 02.t
│ │ ├── 03.t
│ │ ├── 04.t
│ │ ├── 05.t
│ │ ├── 06.t
│ │ ├── 07.t
│ │ ├── 08.t
│ │ ├── 09.t
│ │ ├── 10.t
│ │ ├── 11.t
│ │ └── 12.t
│ ├── mkfifo
│ │ ├── 00.t
│ │ ├── 01.t
│ │ ├── 02.t
│ │ ├── 03.t
│ │ ├── 04.t
│ │ ├── 05.t
│ │ ├── 06.t
│ │ ├── 07.t
│ │ ├── 08.t
│ │ ├── 09.t
│ │ ├── 10.t
│ │ ├── 11.t
│ │ └── 12.t
│ ├── mknod
│ │ ├── 00.t
│ │ ├── 01.t
│ │ ├── 02.t
│ │ ├── 03.t
│ │ ├── 04.t
│ │ ├── 05.t
│ │ ├── 06.t
│ │ ├── 07.t
│ │ ├── 08.t
│ │ ├── 09.t
│ │ ├── 10.t
│ │ └── 11.t
│ ├── open
│ │ ├── 00.t
│ │ ├── 01.t
│ │ ├── 02.t
│ │ ├── 03.t
│ │ ├── 04.t
│ │ ├── 05.t
│ │ ├── 06.t
│ │ ├── 07.t
│ │ ├── 08.t
│ │ ├── 09.t
│ │ ├── 10.t
│ │ ├── 11.t
│ │ ├── 12.t
│ │ ├── 13.t
│ │ ├── 14.t
│ │ ├── 15.t
│ │ ├── 16.t
│ │ ├── 17.t
│ │ ├── 18.t
│ │ ├── 19.t
│ │ ├── 20.t
│ │ ├── 21.t
│ │ ├── 22.t
│ │ ├── 23.t
│ │ ├── 24.t
│ │ └── 25.t
│ ├── posix_fallocate
│ │ └── 00.t
│ ├── rename
│ │ ├── 00.t
│ │ ├── 01.t
│ │ ├── 02.t
│ │ ├── 03.t
│ │ ├── 04.t
│ │ ├── 05.t
│ │ ├── 06.t
│ │ ├── 07.t
│ │ ├── 08.t
│ │ ├── 09.t
│ │ ├── 10.t
│ │ ├── 11.t
│ │ ├── 12.t
│ │ ├── 13.t
│ │ ├── 14.t
│ │ ├── 15.t
│ │ ├── 16.t
│ │ ├── 17.t
│ │ ├── 18.t
│ │ ├── 19.t
│ │ ├── 20.t
│ │ ├── 21.t
│ │ ├── 22.t
│ │ ├── 23.t
│ │ └── 24.t
│ ├── rmdir
│ │ ├── 00.t
│ │ ├── 01.t
│ │ ├── 02.t
│ │ ├── 03.t
│ │ ├── 04.t
│ │ ├── 05.t
│ │ ├── 06.t
│ │ ├── 07.t
│ │ ├── 08.t
│ │ ├── 09.t
│ │ ├── 10.t
│ │ ├── 11.t
│ │ ├── 12.t
│ │ ├── 13.t
│ │ ├── 14.t
│ │ └── 15.t
│ ├── symlink
│ │ ├── 00.t
│ │ ├── 01.t
│ │ ├── 02.t
│ │ ├── 03.t
│ │ ├── 04.t
│ │ ├── 05.t
│ │ ├── 06.t
│ │ ├── 07.t
│ │ ├── 08.t
│ │ ├── 09.t
│ │ ├── 10.t
│ │ ├── 11.t
│ │ └── 12.t
│ ├── truncate
│ │ ├── 00.t
│ │ ├── 01.t
│ │ ├── 02.t
│ │ ├── 03.t
│ │ ├── 04.t
│ │ ├── 05.t
│ │ ├── 06.t
│ │ ├── 07.t
│ │ ├── 08.t
│ │ ├── 09.t
│ │ ├── 10.t
│ │ ├── 11.t
│ │ ├── 12.t
│ │ ├── 13.t
│ │ └── 14.t
│ ├── unlink
│ │ ├── 00.t
│ │ ├── 01.t
│ │ ├── 02.t
│ │ ├── 03.t
│ │ ├── 04.t
│ │ ├── 05.t
│ │ ├── 06.t
│ │ ├── 07.t
│ │ ├── 08.t
│ │ ├── 09.t
│ │ ├── 10.t
│ │ ├── 11.t
│ │ ├── 12.t
│ │ ├── 13.t
│ │ └── 14.t
│ └── utimensat
│ ├── 00.t
│ ├── 01.t
│ ├── 02.t
│ ├── 03.t
│ ├── 04.t
│ ├── 05.t
│ ├── 06.t
│ ├── 07.t
│ ├── 08.t
│ └── 09.t
└── travis
├── build.sh
└── test.sh
20 directories, 272 files
标签:02,03,00,01,04,05,学习,pjdfstest From: https://www.cnblogs.com/wenxiaohai/p/17404115.html