Commit Graph

165 Commits

Author SHA1 Message Date
pooka
5656c31054 * apparently operations can also fail with EIO and EOPNOTSUPP while
mountd hup is in progress.  strange, since I can't remember seeing
  those a few days ago when i ran this quite a lot.  anyway, don't
  make those errnos fatal failures.
* also in the "apparently" sector, although this test fails 100%
  reliably on my development host, it does not always trigger in the
  anita run.  so apply the current "race condition test" idiom
2010-08-01 15:38:27 +00:00
mlelstv
5a5f088539 The erroneous error codes described in kern/43616 have been fixed. 2010-08-01 14:50:54 +00:00
pooka
aec11d355a nfs now has tests in it, so need to convert from SUBDIR to
TESTS_SUBDIR.  Once again I failed to see that one coming.
2010-08-01 08:32:17 +00:00
pooka
9cf29ab3ea Fuzztest puffs mount. There are n different levels of testing:
each one pours more and more sane garbage into the args to that
the mount progresses further and further.  Level 8 (at least when
writing this comment) should be the one where mounting actually
succeeds.

Our metric of success is crash / no crash.
2010-07-31 17:11:45 +00:00
pooka
9749b7715b Revert macroization, as the default mountpath doesn't match the
default export path.
2010-07-30 21:10:44 +00:00
pooka
272fb16e97 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
2010-07-30 16:15:05 +00:00
pooka
89211c7274 Wait for child (rumpnfsd) to die before declaring unmount successful.
(yes, should be in delfs, but delfs doesn't work due to the cleanup hassle)
2010-07-30 10:23:26 +00:00
pooka
4f870da128 whitespace 2010-07-29 14:50:32 +00:00
pooka
a963742ef4 Include & use lfs megamaid. 2010-07-29 14:47:44 +00:00
pooka
34eddb8c10 Rename xfs.c to fstest_xfs.c to avoid collisions with other
source files with the name xfs.c

ok njoly
2010-07-29 14:15:46 +00:00
pooka
862a7ebf2c install to right place. from pgoyette 2010-07-28 19:23:01 +00:00
pooka
6d749c2c28 Add test for service interruption while mountd handles SIGHUP.
This is an xfail test for the problem described in PR kern/5844

per highly surreptitious nudge from mrg
2010-07-28 15:24:54 +00:00
pooka
0f9324ee3d Move nfstestargs to header "because I need them". A more sweeping
action would be good here.
2010-07-28 15:16:50 +00:00
pooka
ce798b3d87 Defer definitely-nonreentrant signal handler to thread context.
This protects from rump kernel reentry and makes things not
crash && burn.
2010-07-28 15:15:22 +00:00
pooka
0d8d8d2b19 Make sure we are not executed in non-debug mode (which forks). 2010-07-28 15:12:17 +00:00
pooka
1411ba67f8 Don't ignore SIGHUP here since mountd uses it. The mountd signal
handler is installed later, so technically this is unnecessary,
but try to be complete.
2010-07-28 15:11:30 +00:00
pooka
5781e02fa3 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).
2010-07-28 14:23:02 +00:00
macallan
7a5d0aeabe initialize a few variables to shut up compiler warnings 2010-07-27 14:04:47 +00:00
pooka
3dd552295f comment out lp64-offensive line (the syslog() calls are not used currently) 2010-07-26 19:24:35 +00:00
pooka
f64ec08558 Install the exports file too so that the server can find it. 2010-07-26 19:17:37 +00:00
pooka
4c4a775b33 Add for-fun cast ... no, not really. casting is never fun.
But now this code builds both on 5.0 and -current.
2010-07-26 18:51:02 +00:00
pooka
13a893ded4 retire unwieldy casts 2010-07-26 18:47:36 +00:00
pooka
2823460ad3 make unsignedness match 2010-07-26 17:53:21 +00:00
pooka
ee762b35da need to link in nfs client bits 2010-07-26 16:25:19 +00:00
pooka
fd87d4c523 fix TESTSDIR 2010-07-26 16:17:21 +00:00
pooka
82233993ff 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.
2010-07-26 16:15:49 +00:00
pooka
e0ac41f174 Add libc rpc bits modified to be suitable for testing the nfs
server & client.
2010-07-26 15:56:45 +00:00
pooka
25f5a6a3a9 Add NFS service suitable for use in testing. 2010-07-26 15:53:00 +00:00
pooka
522a0d0c47 catch "child died" 2010-07-26 14:53:52 +00:00
njoly
dccf0d483f Add create and rename testcases to exercize filenames longer than
{NAME_MAX}.
2010-07-26 13:37:48 +00:00
pooka
3ccd6a8fda support pathconf (more or less copypasted from ufs). for njoly's tests. 2010-07-21 06:58:25 +00:00
njoly
898bc4f345 Update ATF_TC_FSADD macro use ATF cleanup function. And call
xx_fstest_delfs() from here instead of test body.
2010-07-20 17:44:01 +00:00
pooka
58f45c4ce6 common cannot be a TESTS_SUBDIR, since one of those without a test
behind it confuses atf-run.  change to SUBDIR as hinted by jmmv.
2010-07-20 15:09:32 +00:00
pooka
7d8af8c741 Need to use the ${PRINTOBJDIR} trick for LIBISPRIVATE ... 2010-07-19 16:32:01 +00:00
pooka
cca4b54ef7 Include h_fsmacros instead of ffs.c and link in test lib. 2010-07-19 16:22:05 +00:00
pooka
1901d7bfe1 * namespace some macros under FSTEST
* inline atf_check_tc() since this is a header
2010-07-19 16:21:22 +00:00
pooka
370c9ab597 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.
2010-07-19 16:09:07 +00:00
pooka
95cbf37326 add missing headers 2010-07-19 16:00:45 +00:00
pooka
55cb844525 convert to newstyle automagic rump compat syscalls 2010-07-19 15:35:38 +00:00
pooka
3023bfbdf9 Some of the msdosfs tests are killed by SSP due to stack limit
being exceeded.  I cannot figure out what is going on by code
reading, nor repeat this either on my desktop or in qemu, so skip
those tests for msdosfs until I can get to the bottom of it.
2010-07-16 19:16:41 +00:00
njoly
139189167c Add some sanity checks for statvfs values. 2010-07-16 17:49:38 +00:00
pooka
978c8480cc skip directory test on sysvbfs 2010-07-16 14:14:27 +00:00
pooka
b7d235f4da Fix typo in comment. comment tested by wizd. 2010-07-16 13:07:23 +00:00
pooka
16c5b04bd3 Fill in PR kern/43626 now that it exists. 2010-07-16 11:46:31 +00:00
pooka
8206e1e692 Do the famous renamerace test using directories. Uh oh, bad idea.
PR coming soon.
2010-07-16 11:33:45 +00:00
pooka
b006a8b60d This test does not always fail for LFS, so apply same kludge as
elsewhere while waiting for atf to grow support for these cases.
2010-07-16 10:50:55 +00:00
pooka
6314ba47ee xfail test on lfs. It goes badaboom faster than you can find your
multipass.  Borrow PR kern/43582 used earlier for rmdirrace, as it
looks pretty much like the same problem.
2010-07-14 21:44:40 +00:00
pooka
3b5bc723d2 Convert "The Original" rename race test from to vfs and retire the
ffs/tmpfs versions.  The only difference is that the origamical
one mounted ffs with MNT_LOG (and therein actually lay the bug).
2010-07-14 21:39:31 +00:00
pooka
5aa789e743 Check that nobody raced us into the source dir while it was unlocked
in preparation for rename.
2010-07-14 21:24:40 +00:00
pooka
ae0b9ccec6 Add an assortment of rename tests. Not complete, but at least tests
something.

This contains the tests for PR kern/43616 and PR kern/43617.
2010-07-14 20:45:48 +00:00