2e2060a0cec65fd6d79bea81783b53e28f114ecb
[xfstests-dev.git] / doc / auxiliary-programs.txt
1                         ==============================
2                         AUXILIARY PROGRAMS FOR TESTING
3                         ==============================
4
5 Not everything a test script can do is easily done within a test script;
6 sometimes it makes a lot more sense to write auxiliary program in C and have
7 the test script call them.  Auxiliary commands can be found in the src/
8 directory and in other packages.
9
10 Tests wanting to use an auxiliary program found in the src/ directory should
11 note the dependency with:
12
13         _require_test_program "<program-name>"
14
15
16 Contents:
17
18  - af_unix              -- Create an AF_UNIX socket
19  - open_by_handle       -- open_by_handle_at syscall exercise
20  - stat_test            -- statx syscall exercise
21  - xfs_io               -- General I/O operation exercise
22
23
24 ==================
25 QUICK DESCRIPTIONS
26 ==================
27
28 af_unix
29
30         The af_unix program creates an AF_UNIX socket at the given location.
31
32 open_by_handle
33
34         The open_by_handle program exercises the open_by_handle_at() system
35         call.  It can check if file handles are valid or stale after certain
36         filesystem operations.
37
38         See also:
39                 _require_exportfs
40
41 stat_test
42
43         The stat_test program is primarily designed to exercise the statx()
44         system call.  It can check statx() against fstatat() and it can
45         compare and check various file attributes.
46
47         See also:
48                 _require_statx
49
50
51 xfs_io
52
53         The xfs_io program can be found in the xfsprogs package and can be used
54         to perform sequences of I/O commands, though it is limited to what it
55         can do on open files.
56
57         xfs_io is a debugging tool that is aimed at examining regular file I/O
58         paths rather than a raw XFS volume itself.  These code paths include
59         not only the obvious read/write/mmap interfaces for manipulating files,
60         but also cover all of the XFS extensions (such as space preallocation,
61         additional inode flags, etc).
62
63         Most of its commands can also be used with other filesystems.
64
65         See also:
66                 _require_xfs_io_command