Commit Graph

475 Commits

Author SHA1 Message Date
uch 154297fd6a add ATF tests for v7fs. patch by njoly@. thank you. 2011-08-11 10:52:12 +00:00
hannken b80057eeb2 For devices, sockets and fifos ignore setting the file size to zero to make
open(..., O_TRUNC) happy and allow them to write through the lower layer.

Fixes PR #43560 (writing to null device in unionfs fails)
2011-08-10 06:27:02 +00:00
hannken 342315ffad Change union rmdir semantics to fail directory removal for
non-empty directories like all other file systems do.

Change test accordingly.
2011-08-07 06:01:51 +00:00
hannken efc3d2ec25 When union_lookup() creates a shadow directory and nameiop is not LOOKUP
it has to restart the lookup to get the componentname right.

Fixes PR #44383 (an endless stream of whiteout and opaque dir problems ...)
2011-08-05 08:17:47 +00:00
hannken e8c9988bef Make whiteouts work on journaling ffs file system by adding the missing
UFS_WAPBL_BEGIN() / UFS_WAPBL_END() around CREATE and DELETE ops.

Fixes PR #44377 (union whiteouts don't work on ffs -o log)
2011-08-03 10:03:51 +00:00
alnsn f60611afcd Don't assume that "first lock that blocks" is a lock with the lowest
start offset and change the test to work when F_GETLK returns any
lock that blocks.
2011-07-23 09:59:14 +00:00
hannken 9f9c02f1cd Even though msdosfs never truncates file names it advertises _PC_NO_TRUNC
as zero.  Make it advertise one (no_trunc == true).

Names longer than NAME_MAX (255) will never pass namei() btw.

Fixes PR #43670 (msdosfs claims support for filenames longer than {NAME_MAX},
                 but fails)
2011-07-20 11:52:00 +00:00
dholland 0d0aaf26a0 Remove nonexistent include directory from CPPFLAGS.
PR 45068 from Henning Petersen.
2011-07-19 03:30:46 +00:00
dholland 5b854a1a07 ffs and ffslog are no longer xfail. 2011-07-18 06:47:08 +00:00
mrg 8f5647d330 apply some -fno-strict-aliasing
XXX -- someone please fix this properly.
2011-06-29 02:36:13 +00:00
christos 360b33ff11 more fallout from rump_syscallargs.h including <signal.h> 2011-06-26 13:08:08 +00:00
christos 01c7e2ef5b ggr, how many of those I will need to fix. Fallout from the bogus inclusion
of <signal.h> in rump_syscallargs.h.
2011-06-26 13:06:00 +00:00
joerg afc8527716 Use proper format strings. 2011-06-16 15:33:24 +00:00
christos 2a18cea9f4 Turn warns on for all tests and fix all the bugs. 2011-06-11 18:03:17 +00:00
joerg 28050549eb Ignore warnings when building with clang for now. 2011-05-30 14:41:26 +00:00
martin 56a416ee80 Remove "expected failure" for tmpfs PRs that are now fixed. 2011-05-30 13:10:38 +00:00
haad 3c44b4003a Workaround problem with qemu where jot 100 produce garbage otput like this
93
94
:+
:,
:-
:.
:/
100

This can't be used as name of file, change jot cmd to work in all cases.
2011-04-21 22:26:46 +00:00
hannken fff1c84c3d Msdosfs on-disk meta data is not sufficient to create or validate file handles.
Maintain a tree of file handles, create nodes from msdosfs_vptofh() and keep
them until either the file gets unlinked or the file system gets unmounted.

Fixes the msdosfs part of PR #43745 (fhopen of an unlinked file causes problems
on multiple file systems)
2011-04-04 19:16:58 +00:00
plunky 370326ddcb reinstate #ifdef PUFFSDUMP around otherwise unused function
which requires symbols from -lpuffs, not linked
2011-04-04 15:42:42 +00:00
hannken 032b3dee5f Fix file handle operations for tmpfs by removing a now bogus test and
fixing the return value of tmpfs_fhtovp() in the not-found case.

When vmlocking2 was merged to head (Jan 2008 !!) the inode numbering was
changed.  Before inodes were numbered 2..tm_nodes_max-1 and after the
merge the numbers are derived from the nodes memory address.

Fixes PR #43605 (tmpfs file handles are broken)
2011-04-02 14:24:53 +00:00
hannken 5515232cfd Make zero length symlinks work on tmpfs.
Fixes PR #43843 (tmpfs dies with kassert panic for 0 length symlink target)
2011-04-01 17:40:54 +00:00
pooka 471b2e43aa Make sure test doesn't pass if file system could not be read at all. 2011-03-31 12:56:03 +00:00
jmmv 27486724f4 Prevent failures from cleanup routines. Do so by only attempting to do the
cleanup if the test case did not succeed (as, when it succeeds, the cleanup
has already happened).
2011-03-24 21:52:51 +00:00
jmmv 9a17a325dd 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@.
2011-03-22 16:50:16 +00:00
hannken d8c44cec40 Remove a vnode reference leak from msdosfs_rename. Release tdvp if either
doscheckpath() or relookup() fails.

Adjust test fs/vfs/t_vnops.c and remove the link count test for msdos.

Fixes PR #44661
2011-03-19 20:05:21 +00:00
jmmv cfadf0aa6e Remove hack introduced in revision 1.6 to workaround a bug in atf-run that
would cause it to lock up while waiting for the p2k_ffs_fillfs test case
to complete (in some cases only).

This has been fixed by the upstream revision
3dd2481ec97b2fde76521939b6451d03ce989745 which I have just pulled into
our copy of atf.
2011-03-17 19:48:37 +00:00
pooka bc1269c4f5 Apparently this way of triggering the msdosfs rename vnode leak
does not bite every time (most commonly observed on the amd64/qemu
runs), so add a race condition catcher.
2011-03-14 19:05:19 +00:00
bouyer fa4ca53da4 Add a test for rpc.rquotad(8) 2011-03-12 14:03:38 +00:00
bouyer 577c32edc7 Add support for multiple rump servers in shutdown and cleanup 2011-03-12 13:43:58 +00:00
pooka 2385406381 Add one simple test case which checks that zpool create results in
a mounted file system.  Then run away as quickly as possible.
2011-03-10 20:02:26 +00:00
tron 4339a30cbc Don't descend into non-existing subdirectory "clients". 2011-03-09 20:13:47 +00:00
bouyer 37628c8c74 Use librumphijack for quota commands instead of rumpifed versions. 2011-03-09 19:04:57 +00:00
enami 08376a9153 Fix link error. 2011-03-07 03:29:26 +00:00
bouyer 063f96f3c2 merge the bouyer-quota2 branch. This adds a new on-disk format
to store disk quota usage and limits, integrated with ffs
metadata. Usage is checked by fsck_ffs (no more quotacheck)
and is covered by the WAPBL journal. Enabled with kernel
option QUOTA2 (added where QUOTA was enabled in kernel config files),
turned on with tunefs(8) on a per-filesystem
basis. mount_mfs(8) can also turn quotas on.

See http://mail-index.netbsd.org/tech-kern/2011/02/19/msg010025.html
for details.
2011-03-06 17:08:10 +00:00
pooka 951e801a6b Add a race catcher for p2k_ffs renamerace -- it seems like the
problem doesn't trigger always especially in a qemu env (but triggers
100% of the time on my desktop).
2011-03-06 16:00:16 +00:00
pooka 172587ab09 Add a kludge to prevent a test run from completely hanging.
Some analysis:

1) p2k_ffs test program opens a socketpair and forks off rump_ffs
2) after mounting the file system, test program decides it
   wants to skip the test and exits
3) somehow, the puffs event thread of rump_ffs stays in kqueue
   waiting for activity.  fstat+gdb suggests it's waiting for the
   now-orphaned socketpair (but I didn't fully verify.  is there
   an easy way to dump the state of a kqueue descriptor?).
4) test program is a zombie
5) atf-run waits forever

Note: this doesn't trigger always.

So, it seems there are at least two bugs: 1) test case doesn't
timeout 2) the kevent call in rump_ffs never returns even though
the sockerpair is orphaned

So, explicitly unmount the file system before skipping the test.
Obviously the above bugs needs to be properly fixed, since other
skipping test cases can unbeknowingly trigger the issue.
2011-03-06 10:33:40 +00:00
pooka f8a62255a4 Put p2k_ffs back there -- i can't repeat any problems in my qemu/anita
runs.
2011-03-05 20:56:28 +00:00
pooka 4adfadb23c chown the workdir to unpriv user instead of chmod 711. Otherwise,
if your (root's) login shell is {t,}csh, su -m gets outoutsmarted.
2011-03-05 07:41:11 +00:00
pooka 814186ded7 The re-enabled renamerace test also triggers the recent msdosfs
vnode leak.  xfail this under the blanket of PR kern/44661.
2011-03-03 11:01:27 +00:00
pooka 61dcfafee6 Apparently my last commit to msdosfs_vnops.c fixed the (harmless?)
buffer overrun in rename (>15 years old bug), so re-enable other
msdosfs rename tests too.
2011-03-03 10:57:30 +00:00
pooka 1939d9d97e msdosfs xfail for PR kern/44661 2011-03-01 20:16:33 +00:00
pooka bb225c94f3 xfail dir_rmdirdotdot for tmpfs (PR kern/44657) 2011-03-01 15:33:35 +00:00
pooka da0742f9b8 Reset node's parent pointer when it's removed. Technically the
parent still exists, but allows us to avoid complicated g/c algorithms
if the parent *is* removed.
2011-03-01 15:14:35 +00:00
pooka 878d41e6e9 Rmdir the dir you're in and its parent and try to cd ..
Fails on tmpfs (crash), puffs (cd .. succeeds) and rumpfs (cd .. succeeds).

another testcase derived from the bugfinding genious of Taylor R Campbell
2011-03-01 15:04:47 +00:00
pooka 8a3bb78f03 Comment out msdosfs skip -- i'm not sure if it will still fail with
the "stack size" problem, but at least it fails due to yet another
refcounting snafu in the msdosfs rename method.
2011-03-01 14:27:32 +00:00
pooka 1157445be6 augment rename test case with the failure from PR kern/44288 2011-03-01 14:21:46 +00:00
pooka c87fb89aa0 make netcfg produce sensible results in a non-atf env 2011-02-28 21:21:14 +00:00
pooka ab076a3e59 g/c use of unused variable too 2011-02-28 21:08:46 +00:00
pooka cb7e71e280 g/c unused variable 2011-02-28 21:08:13 +00:00
pooka d7421024b5 bump nfdsargv[] size belatedly (and add a few extra for needs of future bugs) 2011-02-28 21:03:15 +00:00
pooka 6ae16092a5 Add simple test case for access(2), including panicky scenario from
PR kern/44648.
2011-02-28 03:40:45 +00:00
njoly 3b61a87b12 Add a small testcase that shrink a file using 2 consecutive ftruncate
calls.
2011-02-27 15:16:31 +00:00
martin 0d52446307 Remove xfail for sparc64, alignement issues have been fixed 2011-02-25 20:54:18 +00:00
pooka 899e147859 adjust location of xfail in previous for more accuracy 2011-02-24 17:29:48 +00:00
pooka 66864f8999 xfail PR kern/44631 on sparc64 2011-02-24 17:26:46 +00:00
yamt 0aabb9242a add some tests 2011-02-22 21:23:19 +00:00
pooka 02b6060dda make the timeouts a bit more generous for really slow systems 2011-02-22 18:41:04 +00:00
pooka 91971b5261 Skip instead of fail test if tmpfs cannot be mounted and the
error is "Operation not supported".

makes the tmpfs tests produce a sensible result on platforms where
tmpfs is not available (such as the hpc* test runs)
2011-02-21 10:14:29 +00:00
pooka 7e9c3f5ca7 Add test case for /->: conversion from PR kern/44523 by
Taylor R Campbell.

I adjusted the test to uudecode + bunzip2 the supplied image, and
removed the "null-finder" from the dirent code, since it had an
off-by-one which made the test fail.
2011-02-18 13:07:54 +00:00
bouyer c6bd32e710 Test the right fd after rump_sys_open(). 2011-02-12 18:13:46 +00:00
pooka bec0b44f57 Use sshd's pidfile instead of $! and wait for the pidfile to appear.
This plugs a race condition where sshd did not have a chance to
open a sucket before we attempted to connect to it.
2011-02-11 13:19:46 +00:00
pooka 9285c5cc41 update /dev/null rump minor to make test pass again 2011-02-10 20:10:54 +00:00
njoly 96506c0e2a Do initialise allocated file system args structures for puffs and nfs
(fix some puffs tests failures with MALLOC_OPTIONS=J).
While here, detect and report args allocation failure.

ok from pooka.
2011-02-10 16:35:01 +00:00
pooka 6ebb7d5324 add a few overwrite-related tests 2011-02-02 14:42:15 +00:00
njoly 9634a49aaa Now that PR/44302 is fixed, fs/vfs/t_ro:sysvbfs_rmfile should not fail
anymore.
2011-01-31 18:53:29 +00:00
pooka e8bcfa54fd Add test case for F_GETLK pid-oddness from PR kern/44494.
I found the test case a little difficult to understand (because of
many indices), so I added a few more comments after I think I
figured out what was going on.
2011-01-31 10:01:26 +00:00
martin 2f62f26a09 Fix off by one that made most of these tests die with a bus error in the
sparc64 runs.
2011-01-15 20:16:57 +00:00
pooka e05c64d657 wrap system() in SIG_DFL so that child-bearing fs tests (puffs,
nfs) don't go cuckoo when the process executed by system() takes a
backstage left.
2011-01-13 12:55:19 +00:00
pooka d83ec60314 xfail PR kern/44383: whiteouts are generally speaking kaput 2011-01-13 11:00:19 +00:00
pooka 43c818f719 Add a test case for a r/o lower layer which attempts to create some
whiteouts and opaque dirs in the upper layer.  The sad news is this
simple test fails across the board.  It's pretty hard to figure
out how unionfs should work in $fs given that even the simplest
things don't work with ffs.
2011-01-13 10:33:01 +00:00
pooka 76c771d82c xfail for PR kern/44377 2011-01-12 22:42:24 +00:00
pooka 65d8e9cc2d Instead of hardcoding fs list just try to mount union and skip all
file systems which return EOPNOTSUPP.
2011-01-12 21:45:39 +00:00
pooka b23eef386e Move basic unionfs test from fs/union to fs/vfs and make it test
all whiteout-supporting file systems with the file system in question
as the upper layer.  Also, add an unlink to the test to see if
whiteouts are really working.

ffslog_basic is the test case for PR kern/44377
2011-01-12 21:13:26 +00:00
pooka afb452e673 Simplify test: there's no reason to mount 2x ffs. 2011-01-12 17:16:24 +00:00
kefren eea5c39883 add test for kern/43321, blessed by pooka@ 2011-01-11 14:03:38 +00:00
pooka 4665e3c895 need unrace-catcher for ffslog 2011-01-11 09:32:50 +00:00
hannken b89d0815aa Add layer_revoke() that adjusts the lower vnode use count to be at least as
high as the upper vnode count before passing down the VOP_REVOKE().

This way vclean() check for active (vp->v_usecount > 1) vnodes gets it right.

Should fix PR kern/43456.
2011-01-10 11:11:03 +00:00
pooka dac028c1ff 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.
2011-01-07 19:54:48 +00:00
pooka 409447038e xfail PR kern/44336 2011-01-07 12:18:25 +00:00
pooka 4ba41bccb2 Adjust atf_check_type() to make it work again.
Do we need tests for the tests? ;)
2011-01-07 12:16:17 +00:00
pooka 6bafd757e5 use X-fs.mntname for f_fstypename. ignore p2k_ffs there. 2011-01-07 12:01:11 +00:00
pooka 71074032ea Set an extra xvar indicating MOUNT_FOO 2011-01-07 12:00:34 +00:00
pooka 604e46b650 antipasto 2011-01-07 11:58:21 +00:00
pooka 20bc861ad1 ffs -o log dies in renamerace_dirs just like the rest. 2011-01-07 11:53:23 +00:00
pooka c63717e4a5 add another fstype for ffs -o log 2011-01-07 11:52:59 +00:00
pooka 1c9b2b7d1e Don't panic if "unnecessary" dir already exists.
(helpful when running the test without atf-run)
2011-01-07 11:50:37 +00:00
pooka 4de0f96672 P2K_FFS uses puffs and therefore does not GOP_ALLOC either 2011-01-07 11:41:54 +00:00
pooka dbc0117ffb adjust another place where X-fs.type is set 2011-01-07 11:41:40 +00:00
pooka 6869f180f8 expect correct errno in nfsro case. from yamt 2011-01-07 11:39:27 +00:00
pooka 6939ec24b6 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).
2011-01-07 11:36:27 +00:00
pooka 764f692eba Add a puffs-p2k-ffs file system type to automated tests. Inspired
by the file handle problem in p2k.
2011-01-07 10:45:45 +00:00
njoly 96b2d8096a Start unprivileged filesystem tests. For now, only chown/chmod owner
checks.
2011-01-06 15:19:09 +00:00
pooka edeb44ccb3 Add a test for ls, which is just a lazy scheme to have some testing
for puffs_cc(3).
2011-01-06 07:28:32 +00:00
pooka dfdd51ae19 win wunused 2011-01-04 18:46:21 +00:00
pooka 620f20e9e9 Remove arch check now that rump smp is available on all host archs. 2011-01-04 16:25:20 +00:00
pooka 45bfa2defe Check that file attributes can be changed (where applicable). 2011-01-04 11:17:22 +00:00
pooka 3f6d82acd0 Give this a chance of working on non-4kB pagesize.
from martin's sparc64 test run
2011-01-03 09:35:33 +00:00
pooka 5c3365ce93 + rump_lwproc_newproc -> rump_lwproc_rfork()
+ add a tess for rump_lwproc_rfork()
2011-01-02 12:58:17 +00:00
pooka 7dce29201f Guess-fix a signed vs. unsigned compiler warning report by pgoyette
(it doesn't trigger in my src working copy for whatever reason).
2011-01-01 20:43:01 +00:00
pooka 4a54a2b61f fill in number of PR kern/44307 2011-01-01 20:30:56 +00:00
pooka 69eba09f50 Check that extending a file grows its size (with and without O_APPEND). 2011-01-01 20:26:22 +00:00
pooka 04cb16e7f3 fill in PR kern/44302 2010-12-31 18:26:25 +00:00
pooka 6574800027 Add some elementary tests for r/o file systems. More in 2011! 2010-12-31 18:20:32 +00:00
pooka 1b60b72463 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)
2010-12-31 18:16:41 +00:00
pooka 02c3d76e8b Sprinkle some KNF. No functional change. 2010-12-31 18:12:51 +00:00
pooka 9dec851430 Configure two network addresses for the nfs server. One exports
/myexport r/w to the client in the same subnet and the other one
exports /myexport r/o to the client in the same subnet.
2010-12-31 18:11:27 +00:00
pooka 6198422889 Don't broadcast unmntall with SIGTERM -- it just makes the atf default
cleanup kill hang for a while.
2010-12-31 17:59:24 +00:00
yamt 9b72a3c9c6 don't assume atomic read/write on socketpair. puffs_kargs at least is
too large to assume atomic read/write.  this makes some tests including
fs/puffs/t_basic pass on my environment.
2010-12-29 22:56:59 +00:00
christos 4b1b5b119c remove NOGCCERROR, WARNS?=5 2010-12-18 15:02:06 +00:00
joerg 16062ee68b Don't force debug build. 2010-12-18 04:31:41 +00:00
joerg fac9a6645d Don't force debug build. XXX Why does this have NOGCCERROR=1 set? 2010-12-18 04:31:22 +00:00
pooka ec85f68cbf Convert skipped tests into proper xfails (a lazy bum is me).
prompted by pgoyette
2010-11-19 17:46:02 +00:00
pooka b98ccd4da5 test snapshots on ffsv2 too 2010-11-19 12:36:49 +00:00
pooka a77ca5ecfc double the timeout for slow hosts (from 1 to 2 seconds) 2010-11-15 21:29:39 +00:00
pooka 7bdde1ba6d Add test case for PR kern/44093 (fixed already, but tested to fail
without fix applied).
2010-11-15 20:39:00 +00:00
pooka 8c5fe271ac Remove accidentally committed part (which I need to run these tests
for a -current rump kernel on NetBSD 5.1)
2010-11-12 17:35:34 +00:00
pooka 284f30f020 Add test case for problem described by yamt in PR kern/44086.
"large writes with PUFFS_KFLAG_NOCACHE_PAGE ends up with EIO"
2010-11-12 17:33:28 +00:00
pooka 88b6bdf19d skip tests which use features which rumpfs does not support
(namely: vop_rename and a file system size limit)
2010-11-11 17:44:44 +00:00
pooka e60986a223 Add rumpfs to list of file systems to be autotested. 2010-11-11 17:39:29 +00:00
pooka 1a160862e8 use atf interfaces for error reportage 2010-11-11 16:03:55 +00:00
jmmv 97a78f11fc Remove ugly workaround to skip this if unprivileged-user=_atf and just use
'su -m' as pooka@ did in t_mkdir.sh.  As he says this may still fail if
root's shell is csh; we need a better solution.
2010-11-09 13:01:33 +00:00
pooka 617f136424 Use su -m since _atf has nologin as its shell.
XXX: this will still fail if root's shell is csh
2010-11-08 15:25:50 +00:00
jmmv decf2b5e0f 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.
2010-11-07 17:51:16 +00:00
pooka 948c1978f6 test fss with underlying fs mounted with MNT_LOG 2010-11-05 11:32:09 +00:00
pooka 36445fc1a8 remove newline from error 2010-11-05 11:31:15 +00:00
christos 0f10aa9dce add Makefile.inc everywhere so that we can set WARNS=4 by default. Amazing
how many bugs this found :-)
2010-11-03 16:10:19 +00:00
pooka dd96c7dab8 Make the shovel threads resilient to file server exit. 2010-11-01 16:27:07 +00:00
pooka 110455ef9e Create the process we use later in the test. Otherwise cwd doesn't
go right and the test fails because of attempting to create files
in the wrong directory.
2010-11-01 14:04:02 +00:00
pgoyette 4b71a48296 Fix format strings so it builds on amd64 2010-10-31 22:33:16 +00:00
pooka bc79809067 Since rump implicit threads now bind to proc1 instead of proc0, we
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.
2010-10-31 22:05:35 +00:00
he 0549224c7a Reorder the library specifications, so that we don't depend on the
library dependencies recorded in shared libraries, allowing these
to be linked statically as well.
2010-09-23 09:39:14 +00:00
he 16b74f200d Do symbol renaming for these bits as well, so that we don't get
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).
2010-09-23 09:38:14 +00:00
njoly 7601b30df9 s/dirs/symlinks/ in USES_SYMLINKS message. 2010-09-09 11:42:52 +00:00
pooka 192b53ec54 fill in PR number: kern/43843 2010-09-06 15:27:18 +00:00
pooka b28267edb9 symlink to a zero-len target (and watch tmpfs go kabloom) 2010-09-06 15:21:34 +00:00
pooka a3acbf5ec9 Actually use the imagename parameter. Also, fail with err instead
of atf_tc_fail since we are not directly under the control of atf.
2010-09-02 15:13:55 +00:00
pooka 2a47331e63 update to new rump lwp/proc interfaces 2010-09-01 19:41:27 +00:00
wiz 903fc89bbb Use explanation for GOP_ALLOC in message from version 1.1.
Ok pooka@.
2010-08-28 10:56:11 +00:00
pooka 27e297079d poll the putter fd instead of doing a blocking read. Long story
short:  we don't have to wait for the fs syncer to run for the
close to succeed.
2010-08-27 12:42:21 +00:00
pooka ad209aacd5 Skip the full test for puffs now that we can (yes, atf issue #53) 2010-08-27 08:15:30 +00:00
pooka d3df95fde3 Now that atf issue #53 has been fixed, remove the
child-must-dies-before-parent kludge.
2010-08-27 05:34:46 +00:00
pooka 1457068cd6 chdir() once per process is enough, no need to do it for every
thread (and doing so would cause occasional failures when some
thread would cd out of the test mountpoint while another thread
was still running in there).
2010-08-26 18:06:44 +00:00
pooka 26f689f095 Put the workaround for PR kern/43799 into the common nfs unmount routine. 2010-08-26 15:07:16 +00:00
pooka 478209477d include some necessary headers to fix build 2010-08-26 08:19:18 +00:00
pooka 6ec601c384 * fail with errnos
* in case unmount fails, call rump_pub_vfs_mount_print() to print
  mountpoint status and dump active vnodes.
2010-08-25 18:16:06 +00:00
pooka 4541e13321 Start many more threads for the renamerace since it seems to catch
more errors.

Add a sleepkludge to deal with NFS's sillyrename brokenness.
2010-08-25 18:11:20 +00:00
pooka 909673cfa9 Start adding some I/O tests. This one does a sparse write to the
second page on a file, then writes the first, and finally checks
it can read something expected.  Adapted the from program supplied
by yamt in PR kern/36429.
2010-08-19 02:36:02 +00:00
pooka 4439733de4 Add test which fills up the file system and expects ENOSPC. 2010-08-17 11:46:16 +00:00
pooka d8a94b7513 Add a test case which tries to fhopen() a file handle filled with
random garbage.
2010-08-16 10:47:16 +00:00
pooka 19a6309ac7 Make random garbage more widely available. 2010-08-16 10:46:19 +00:00
pooka 5e33baaf50 Fill in PR kern/43745 now that it exists.
lfs_tfhremove: Expected failure: fhopen() for removed file succeeds (PR kern/43745): t_vfsops.c:161: Expected true value in rump_sys_fhopen(fhp, fhsize, O_RDONLY) == -1
    msdosfs_tfhremove: Expected failure: fhopen() for removed file succeeds (PR kern/43745): t_vfsops.c:161: Expected true value in rump_sys_fhopen(fhp, fhsize, O_RDONLY) == -1
2010-08-12 09:42:53 +00:00
pooka d66cb1b117 Add test case for fhopenining a removed file. This fails on msdosfs
and lfs and causes a kernel panic on nfs.  I'll fix nfs soon and
file a PR for the other two.

Also panicked ffs a few hours ago, but was fixed by hannken.
Needless to say, this test was inspired by his fix.
2010-08-12 09:34:16 +00:00
pooka 7751445fe7 return correct errno 2010-08-12 09:22:14 +00:00
pooka 7a2fe155ef add comment saying why the other test doesn't use fstest 2010-08-09 19:36:30 +00:00
pooka 471d3742de * convert 48k fs image test to FSTEST_CON/DESTRO
* make sure hugeblocksize doesn't accidentally succeed
2010-08-09 19:34:59 +00:00
pooka 721949c6da allow overriding of defaults 2010-08-09 19:32:26 +00:00
pooka 2fc19132b3 Check that mounting a file system with blocksize > MAXPHYS returns an error. 2010-08-09 17:42:26 +00:00
pooka 2bb4b66566 remove leftover debug printf 2010-08-05 16:47:59 +00:00
drochner 55e1e4c9f3 .PARSEDIR doesn't work. at least not for me. Use .CURDIR instead
which makes a build with objdir succeed.
2010-08-03 17:24:45 +00:00
pooka 1a22a69ce5 the old thread which does not return not returning a value
undetectable to all but the sh3 compiler trick
2010-08-02 09:44:23 +00:00
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