Home | History | Annotate | Download | only in common
History log of /src/tests/fs/common/h_fsmacros.h
RevisionDateAuthorComments
 1.45  15-Aug-2025  perseant Rework the optional building of ZFS tests to make it easier to add other
optional filesystems in future. Verified to produce identical binaries.
 1.44  15-Mar-2020  martin branches: 1.44.8;
Skip tests when we know there is not enough space available
 1.43  15-Mar-2020  martin Hardcode a check for ZFS and too little free space in workdir to skip
ZFS tests if the atf working directory is size restricted (ZFS has a
hardcoded minimal size of 64MB for a storage pool and 128 MB disk size).
 1.42  19-Jun-2018  gson branches: 1.42.2;
No semicolon after macro do ... while (0) wrapper.
 1.41  13-Jan-2017  christos branches: 1.41.12;
Don't play with "../.." in includes for h_macros.h; deal with it centrally.
Minor fixes.
 1.40  29-Aug-2015  dholland branches: 1.40.2;
Fix glaringly wrong indent.
 1.39  24-Mar-2015  riastradh zfs tests don't actually need privileges.
 1.38  26-Jun-2013  reinoud Add UDF as one of the filesytems to test. Might help understand why rump is
misbehaving on it.
 1.37  16-Mar-2013  jmmv Mark the zfs tests as requiring root.

This is wrong. The zfs tests already use rump so they should not require
root. However, I've already spent much more time than I wanted trying to
figure out why that's the case without much luck. If you can find why,
just remove this hack.
 1.36  20-Aug-2012  pooka branches: 1.36.2;
Add a vfstest zfs attachment. This is a compile-time option,
default off, due the large numbers of failing tests (some of them
look like quite trivial failures).
 1.35  11-Aug-2011  uch branches: 1.35.2;
add ATF tests for v7fs. patch by njoly@. thank you.
 1.34  22-Mar-2011  jmmv Remove unnecessary (and broken) cleanup routines.

The cleanup routines were being used to kill the rump process and to delete
the temporary image file. These are things automatically done by atf-run,
but it looks like this code was added here to workaround a previous bug in
the atf-run code.

Note that, in the existing form, the cleanup routines segfault (haven't
spent the time to track down why). atf-run does not care about this
(although it should), buy Kyua does.

As a side effect, this has a teeny-tiny performance speedup in the execution
of the tests including this file.

OKed by njoly@.
 1.33  05-Mar-2011  pooka Put p2k_ffs back there -- i can't repeat any problems in my qemu/anita
runs.
 1.32  07-Jan-2011  pooka Apparently the atf in the qemu runs doesn't like p2k_ffs and hangs
completely. Remove it for until I have a chance to debug what's
going on.
 1.31  07-Jan-2011  pooka Adjust atf_check_type() to make it work again.
Do we need tests for the tests? ;)
 1.30  07-Jan-2011  pooka Set an extra xvar indicating MOUNT_FOO
 1.29  07-Jan-2011  pooka antipasto
 1.28  07-Jan-2011  pooka add another fstype for ffs -o log
 1.27  07-Jan-2011  pooka adjust another place where X-fs.type is set
 1.26  07-Jan-2011  pooka Use our internal name instead of MOUNT_FOO to identify file system
since otherwise we now run into dupes (e.g. nfs and nfsro, puffs
and p2k_ffs).
 1.25  07-Jan-2011  pooka Add a puffs-p2k-ffs file system type to automated tests. Inspired
by the file handle problem in p2k.
 1.24  31-Dec-2010  pooka Introduce r/o tests. They do two mounts: the first one is r/w and
runs a generator which primes the fs. The second one is r/o and
does the actual testing. Also, introduce a nfsro fstype which does
a clientside r/w mount for a r/o server export.

requested by yamt

(one nfsro test currently fails with EROFS vs. EACCES. Hopefully
someone else can debate the correct errno)
 1.23  31-Dec-2010  pooka Sprinkle some KNF. No functional change.
 1.22  11-Nov-2010  pooka Add rumpfs to list of file systems to be autotested.
 1.21  07-Nov-2010  jmmv Adjusts tests after import of atf-0.12:

- The use.fs property is gone.
- Mark the tests/fs/t_create:attrs test as broken when using the default
unprivileged-user:_atf setting. This probably deserves a fix somehow
but I'm not sure at this point.
 1.20  26-Aug-2010  pooka include some necessary headers to fix build
 1.19  25-Aug-2010  pooka * fail with errnos
* in case unmount fails, call rump_pub_vfs_mount_print() to print
mountpoint status and dump active vnodes.
 1.18  09-Aug-2010  pooka allow overriding of defaults
 1.17  30-Jul-2010  pooka Fold the puffs private and vfs tests mount/unmount routines together.
To achieve this, add a file system private parameter to the newfs
method (which will obviously not be used by vfs tests).

njoly ok
 1.16  28-Jul-2010  pooka Move nfstestargs to header "because I need them". A more sweeping
action would be good here.
 1.15  28-Jul-2010  pooka Add FSTEST_CONSTRUCTOR/FSTEST_DESTRUCTOR which create/mount the
file system with default params. Make ATF_FS_APPLY use the
constructor (can't use the destructor due to the (useless) cleanup).
 1.14  26-Jul-2010  pooka Add NFS to the list of file systems exercised by the "vfs" tests.

How it works:
NFS tests fork and exec the nfs service from fs/nfs/nfsservice.
The child then:
a) creates a FFS file system
b) mounts it
c) starts rpcbind
d) starts mountd
e) starts nfsd
f) handles requests

The client, as expected, does the standard RPC regotiation and
calls mount(MOUNT_NFS). It then proceeds to execute the test.

An individual test which executes everything described above and
does a few file operations on the NFS mount takes 0.16s wall time
on my laptop from start to finish. This means it is feasible to
run hundreds of tests while still getting results in a timely
fashion.

Like in other networked tests, the two processes are connected via
the rump shmif which uses mmapped files as ethernet busses. The
entire test suite can be executed by an unprivileged account.

As a side effect, these tests exercise also the kernel NFS server
in addition to the kernel NFS client.

While everything is currently targetted at executing the vfs tests,
there is no reason this could not be extended to exercise features
specific to NFS. For example, the server can run through all
exportable file system types, permissions can be tested, etc.
 1.13  20-Jul-2010  njoly Update ATF_TC_FSADD macro use ATF cleanup function. And call
xx_fstest_delfs() from here instead of test body.
 1.12  19-Jul-2010  pooka * namespace some macros under FSTEST
* inline atf_check_tc() since this is a header
 1.11  19-Jul-2010  pooka Convert the file system test common routines into a library to
facilitate more complex user-side stuff (like the lfs cleaner and
nfs rpc code), which are non-trivial to do by #include.
 1.10  13-Jul-2010  pooka Run puffs/dtfs as part of the vfs tests.
 1.9  13-Jul-2010  njoly Add testcase data argument to all fstest helper functions.
Needed by pooka for puffs fstest support.
 1.8  13-Jul-2010  pooka Make the FSTYPE macros take tc instead of derivative type "type".

ok njoly
 1.7  12-Jul-2010  njoly Update filesystem helper functions namespace (from XXX_mount to
XXX_fstest_mount) to avoid conflicts with existing functions such as
puffs_mount.
 1.6  12-Jul-2010  njoly Pass down the test case data to the test function, to be able to use
meta-data informations such as srcdir. Requested by pooka.

While here remove fstype argument, and define it as a custom meta-data
(X-fs.type) instead.
 1.5  09-Jul-2010  njoly Get rid of home made filesystem type strings and use MOUNT_xxx ones
instead. While here provide some macros which do test for a specific
type.
 1.4  09-Jul-2010  njoly Pass down the filesystem type to the test funtion to allow fs-specific
callpoints.

Adjust t_rmdirrace by moving LFS test specific code from common/lfs.c,
and do skip sysvbfs which does not support rmdir(2).

from pooka.
 1.3  08-Jul-2010  pooka Add LFS to vfs test list. TODO: start cleanerd too.

It fails in a number of different ways. Some of them seem to appear
as a function of the file system size (i'm not sure if it's because
the lack of the cleaner or not. i'm guessing ``no'', though).

ok njoly
 1.2  05-Jul-2010  njoly Fix more copyrights, where i forgot to add my name.
 1.1  30-Jun-2010  njoly Add helper code and macros to ease writing filesystem tests with rump.
Support currently limited to ext2fs, ffs, msdos, sysvbfs and tmpfs.
 1.35.2.2  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.35.2.1  30-Oct-2012  yamt sync with head
 1.36.2.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.36.2.1  23-Jun-2013  tls resync from head
 1.40.2.1  20-Mar-2017  pgoyette Sync with HEAD
 1.41.12.1  25-Jun-2018  pgoyette Sync with HEAD
 1.42.2.1  08-Apr-2020  martin Merge changes from current as of 20200406
 1.44.8.2  15-Aug-2025  perseant Update to match the change just committed to HEAD.
 1.44.8.1  12-Aug-2024  perseant Rewrite ZFS test macros into a more scalable form; add a parallel set of
macros for exFATfs.

RSS XML Feed