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@.
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)
- 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.
need our shovel threads bound to proc1 instead of proc0 in order
to have access to the same set of descriptors as the implicit thread
which opens the fd in the rump kernel.
Also, sprinkle some printfs and make failure more dramatic.
fixes the puffs tests. pointed out by pgoyette.
link-time errors caused by conflicts with normal user-space libraries
when we link statically.
The tests still pass for i386 after this set of changes, and this now
builds for sun2 (after a few more changes).
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.