Commit Graph

825 Commits

Author SHA1 Message Date
joerg aad599979d Add TLS support infrastructure. For dynamic binaries, ld.elf_so exports
_rtld_tls_allocate and _rtld_tls_free. libpthread uses this functions to
setup the thread private area of all new threads. ld.elf_so is
responsible for setting up the private area for the initial thread.
Similar functions are called from _libc_init for static binaries, using
dl_iterate_phdr to access the ELF Program Header.

Add test cases to exercise the different TLS storage models. Test cases
are compiled and installed on all platforms, but are skipped on
platforms not marked for TLS support.

This material is based upon work partially supported by
The NetBSD Foundation under a contract with Joerg Sonnenberger.

It is inspired by the TLS support in FreeBSD by Doug Rabson and the
clean ups of the DragonFly port of the original FreeBSD modifications.
2011-03-09 23:10:05 +00:00
pooka 1bafe88e56 nfsd + mount_nfs test with stock system binaries 2011-03-09 21:25:59 +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
pooka 7e4239caf4 some blanket tests 2011-03-08 22:21:52 +00:00
pooka 5ec619238a test case for runon prefixes 2011-03-08 21:36:25 +00:00
pooka a495c82c5f Enable the "send a lot of syscall requests before exec" code, since
it works now.  (or at least works in my tests)
2011-03-08 15:35:28 +00:00
pooka fe92fa8193 print out the unexpected rv too 2011-03-08 14:53:03 +00:00
pooka 46dfa511bc add test case for multithreaded client calling exec 2011-03-08 12:40:25 +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
pgoyette 107fdb641e Add tests for verifying the recent changes to ps_strings
From joerg@ with atf-ification from myself.
2011-03-05 18:14:33 +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
riz c9ff785918 Back out previous; it's causing intermittent problems which I don't
fully understand yet.
2011-03-04 17:56:53 +00:00
riz 1242e4fa63 Switch from using "rump_ffs" to mount the file system image to
using a rump_server to mount it in a rump kernel, and librumphijack.so
to enable accessing it from the test program.  Among other things,
this allows the tests to run as an unprivileged user.
2011-03-03 16:25:15 +00:00
pooka 771df007e3 add tests for hijacked /bin/sh (mostly redirection now) 2011-03-03 11:54: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
riz 1680d3ca61 Skip the sigfpe_flt and sigfpe_int tests on powerpc; powerpc does
not fault on divide-by-zero.  As discussed on tech-userlevel.
2011-03-02 03:42:56 +00:00
riz 736d6f3deb PR#44239 is now fixed, remove the xfail from the test. 2011-03-01 22:52:54 +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 866d358b14 Attempt further qemu heuristics to avoid failures due to non-working FPU 2011-03-01 12:47:43 +00:00
pooka e71885fb04 Create a pipe on which to select. selecting on STDIN_FILENO seems
to be succesful *sometimes* on some archs (i'm suspecting this is
in some way related to lib/libc/ttyio/t_ttyio failing).
2011-03-01 08:54:18 +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
pgoyette bb1ec3c88c The ssp/raw test is useless. Remove it. 2011-02-26 02:41:33 +00:00
martin 0d52446307 Remove xfail for sparc64, alignement issues have been fixed 2011-02-25 20:54:18 +00:00
pgoyette 08b100965c Disable the "raw" test case. The test is bogus, and did not work before
conversion from src/regress/ to atf
2011-02-25 18:11:53 +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
pooka ca626b1df7 Add tests to check "cc" can compile a working hello world.
(this test fails at least on riz's macppc)
2011-02-24 10:24:23 +00:00
pooka c97bdaa639 in reconnect, ignore any all reconnect messages 2011-02-24 08:40:06 +00:00
pooka 2486194718 some tests for mv(1) 2011-02-23 16:38:08 +00:00
pooka 9f3340d97a simple vfs tests (mount ffs, cp/pax files there, un/remount,
check with diff)
2011-02-23 13:01:57 +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 6ac867388f One more lseek test case: in case of an error, check rv == -1
(so that it's not e.g UINT_MAX).
2011-02-22 13:25:18 +00:00
pooka 9107903fbe test lseek return value (off_t, might be >register_t) 2011-02-22 10:36:13 +00:00
riz 9613b94f2f mutex2/mutex3 are expected to fail on powerpc because of
PR port-powerpc/44387.

XXX the ugly sleep at the end is because ATF will mark an un-triggered
race condition (ie, the test passes unexpectedly) as a test failure otherwise.
2011-02-21 21:43:41 +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 f8da5a9891 check that poll on an invalid fd doesn't hang in the dual poll case 2011-02-20 23:45:46 +00:00
jmmv 15a3581f5e Adjust tests now that the values of atf_arch and atf_machine have been
reversed to carry their real intended meanings.

This is part of PR bin/44305.
2011-02-20 20:57:46 +00:00
pooka d9795c60c4 explicitly set the signal model 2011-02-20 19:45:45 +00:00
jmmv 0553513a0e The mutex3 test is supposed to use a static initializer so that it differs
to the mutex2 test.  This detail was lost during the atfification of these
tests.

Spotted by pooka@ and riz@.
2011-02-20 14:37:44 +00:00
pooka a7b761c335 Add a test that checks that the client receives SIGIO for an O_ASYNC
socket.
2011-02-20 13:27:46 +00:00
pooka 91a9bf9486 more test cases:
* // prefix
  * fchdir
  * cd-via-symlink
2011-02-19 19:57:28 +00:00
pooka 44ff4bdcb3 a basic getcwd() test 2011-02-19 13:19:52 +00:00
pooka 828eb9131f Run sockstat with -n so that difference in /etc/services don't
affect the test outcome.
2011-02-19 09:59:12 +00:00
pooka 362dcd5366 set reconnect property now that it's off by default 2011-02-19 09:56:45 +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
pooka 5b509bbede Test the -d type parameter of rump_server(1).
XXX: these tests only work with a dynamic userland, dunno how to
specify a "skip" clause for that
2011-02-17 16:08:48 +00:00
pooka 5c6cde8ab3 RUMPHIJACK_RETRY -> RUMPHIJACK_RETRYCONNECT 2011-02-16 19:31:31 +00:00
pooka 1a01113004 test rumpclient_vfork() 2011-02-16 17:57:44 +00:00
pooka daf96a009b no need to create a hardlinked name for the helper, just fake argv[] 2011-02-16 16:02:52 +00:00
pooka 9f22773c99 Don't use hijack here since exec is now easy in pure rump clients. 2011-02-16 15:34:18 +00:00
pooka 3f47eb3b3b remove unnecessary debug printf 2011-02-15 15:57:33 +00:00
pooka 36823968f7 test FD_CLOEXEC 2011-02-15 15:54:56 +00:00
pooka fd59a0e429 add some exec() tests 2011-02-15 15:16:46 +00:00
pooka 3e3af76e8c explicitly set BLOCKSIZE so that we don't get fooled again 2011-02-14 19:56:30 +00:00
pooka c754a0ea3b -debugging crud 2011-02-14 19:54:29 +00:00
pooka e7ac403943 Test that hijacked ssh/sshd work.
Copypastes jmmv's sshd magic from fs/psshfs.
(dunno if it's worth sharing the code, or even what the
best practice for doing so would be)
2011-02-14 15:14:00 +00:00
uebayasi fd945b5131 Typo. 2011-02-13 12:47:27 +00:00
bouyer c6bd32e710 Test the right fd after rump_sys_open(). 2011-02-12 18:13:46 +00:00
pooka e43200f113 Add test case from PR lib/44552 by Alexander Nasonov. I also lobbed
in a test for select(0, NULL, NULL, NULL, &tv) in there.
2011-02-12 10:28:08 +00:00
pooka f9f796a4cf add test for fix in rev 1.36 of librumphijack/hijack.c 2011-02-11 15:38:14 +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 58a824fcb1 explicitly zero-fill the initial md backend 2011-02-10 13:29:02 +00:00
kefren 233a38c913 Problem was fixed, don't expect to fail anymore 2011-02-10 07:47:50 +00:00
pooka dab4b449d7 Add test which checks rumpclient does not use fds 0-2 for its
internal purposes.
2011-02-09 14:32:45 +00:00
pooka 5e6b266d97 Time to start adding tests for the routing code to make that part
of the kernel more approachable.

Begin the task with an xfail test for PR kern/40455.
2011-02-08 10:11:28 +00:00
pooka 6296f7395c Limit test duration based on wall time instead of loops
(took a long time on slow platforms).
2011-02-07 20:05:09 +00:00
matt e538011342 This is no longer broken for macppc. 2011-02-07 09:40:52 +00:00
pooka fbc821a08c Add a simple test for the purpose of making sure rumphijack works
on -current in addition to 5.x.  The test serves a simple index.html
on a hijacked bozohttpd and checks the file can be retrieved.
2011-02-06 18:44:29 +00:00
pooka 5cae2aa40c test case for PR kern/44515 2011-02-04 19:58:10 +00:00
pooka bcbc24966e convert tests from oldstyle dd rif/rof to newstyle dd | rump.dd 2011-02-04 19:44:00 +00:00
pooka 34e15b860b commit works better when you cvs add first 2011-02-03 17:21:17 +00:00
pooka f43ab2f10c add tests for the -d functionality of rump_server(1) 2011-02-03 15:38:18 +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
pooka 7605725b2b test for rumpclient reconnect feature 2011-01-24 17:51:29 +00:00
pooka 4fec18bfb3 Represent test data as bytes to make it "endian-independent".
from martin
2011-01-24 08:26:23 +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 1a076ae981 test remove signal delivery 2011-01-14 13:23:15 +00:00
pooka 054b6364bc elementary tests for rump sigmodels 2011-01-14 13:08:00 +00:00
pgoyette 7a60df3213 Moving t_hsearch - belongs in stdlib/ 2011-01-13 14:32:35 +00:00