Commit Graph

136 Commits

Author SHA1 Message Date
pgoyette 7e70dfdc14 Remove a left-over debugging variable. Fix the build. 2015-12-27 08:21:44 +00:00
pgoyette 738ca054ba When MODULAR kernels grew a MODULAR_DEFAULT_AUTOLOAD option, (in rev 1.98
of src/sys/kern/kern_module.c), the default was "off" for all kernels
including rump kernels.  While many (most?) kernel config files were
updated to include the new option, rump kernels weren't so lucky.  Thus,
rump kernels still had autoload disabled.

This commit uses rump_sysctl to change the module_autoload_on value to
true (ie, enabled) before trying to test if autoloading actually works.

For now, I am _not_ changing the default for all rump kernels.  I'll
leave that for another day, after all appropriate discussion has occurred.
2015-12-27 06:36:36 +00:00
pooka fff8d9a1f5 call previous with the correct args too 2015-01-21 15:19:01 +00:00
pooka d08959252d check that setuid() works for procs with >1 lwp 2015-01-21 15:00:50 +00:00
pooka 0397f3a735 Move sysproxy support into a separate component, rumpkern_sysproxy,
instead of it being always provided by the rump kernel base.  This
move accomplishes two things:

1) it is no longer necessary to provide sysproxy hypercall stubs for
   platforms which do not want to use sysproxy
2) it is easier to reason about the security aspects, since configurations
   not linking the sysproxy component simply do not support remote
   system calls

discussed on rumpkernel-users
2015-01-07 22:24:03 +00:00
gson 56e22ea3cf On systems that have only 32M of memory, the stress_short and
stress_long tests thrash a lot, and the stress_long test sometimes
times out, so skip them if we don't have at least 64M.
2014-08-30 12:14:17 +00:00
he f693807fd8 Fix static linking for the tests: -lrump is also used by -lrumpuser,
so we also need -lrump after -lrumpuser.  Fixes build for sun2.
2014-06-10 04:28:39 +00:00
christos 639c8a82b3 CID 978337: Fix resource leak 2014-05-12 15:33:12 +00:00
dholland c93eb026cf remove sys/simplelock.h (straggler) 2014-03-21 22:18:57 +00:00
pooka 495782ee0e Move the "is arch capable of loading native kernel modules into
rump kernel" clauses from bsd.own.mk to Makefile.rump.  Also,
add a rump_nativeabi_p() call to determine if rump kernel is
compiled with native ABI support.
2014-03-10 22:38:53 +00:00
hannken 97834f7ba0 Change vnode operation lookup to return the resulting vnode *vpp unlocked.
Change cache_lookup() to return an unlocked vnode.

Discussed on tech-kern@

Welcome to 6.99.31
2014-02-07 15:29:20 +00:00
pooka 8b99c7c824 Use 8 TCP/IP stacks instead of 16. That still gives us plenty crossping
testing for 1/4th of the cost.
2013-09-09 19:27:49 +00:00
njoly 17b707526d New testcase which checks that rump copyin/copyout/copyinstr/copyoutstr
version return EFAULT for special NULL "user" address.
ok pooka@.
2013-07-26 16:09:48 +00:00
hannken 0207daf65f Starting with Rev. 1.191 of kern/subr_pool.c a pool has to be inactive
for at least 10 seconds before it can be reclaimed.

Change the uvmwait test timeout from 10 to 30 seconds so it has a chance
to reclaim memory and succeed.
2012-03-17 18:00:28 +00:00
njoly dc7e929d73 Adjust MEMFREE expected output to recent kmem(9) changes. 2012-01-30 13:05:52 +00:00
rmind b82e29ffe8 tsleep(9) no more. 2012-01-28 12:23:56 +00:00
rmind a0ffc02ab8 Rename slightly misleading KTHREAD_JOINABLE to KTHREAD_MUSTJOIN. 2011-08-07 14:03:15 +00:00
christos 88d695edac fix fallout from including signal.h in rump_syscallargs.h 2011-06-26 13:17:36 +00:00
mrg d78c2159a8 vmobjlock is now a pointer to kmutex_t. use it as one. 2011-06-12 06:38:14 +00:00
pooka bbc7636114 Add a test checks that 16 rump kernels on one shmif bus can ping
each other.
2011-03-10 14:09:46 +00:00
pooka c97bdaa639 in reconnect, ignore any all reconnect messages 2011-02-24 08:40:06 +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
pooka d9795c60c4 explicitly set the signal model 2011-02-20 19:45:45 +00:00
pooka 362dcd5366 set reconnect property now that it's off by default 2011-02-19 09:56:45 +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
pooka 7605725b2b test for rumpclient reconnect feature 2011-01-24 17:51:29 +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
pooka d086663369 Execute a variety of syscalls in the stress test, including opening
files and sockets.
2011-01-12 12:32:53 +00:00
pooka 0ba14b52f9 * run the killer stress test
* reduce default runtime to 5s
2011-01-12 11:39:20 +00:00
pooka 147af0c4be Give the stress queen two modes: one which nicely suggests an exit
and another one which keeps moet et chandon in her pretty cabinet.
2011-01-12 11:37:45 +00:00
pooka 8a712a9c10 Establish signal handler already in parent. Otherwise the child
might be killed before it has a chance to run.
2011-01-12 11:12:25 +00:00
pooka cc362f9900 Print some more info in an attempt to try to understand why the
test fails in automated test runs but not my desktop.
2011-01-11 11:26:28 +00:00
pooka 617df94e9c Make sure stressclient worker threads complete their operation
instead of hanging.
2011-01-10 19:51:37 +00:00
pooka e95a17b9a5 check that we actually go into the signal handler 2011-01-10 19:30:21 +00:00
pooka 58236b1f89 Don't use printf in a signal handler.
XXX: it would be nice if the deadlock with malloc were a little
more obvious, especially since gdb doesn't provide any clues unless
you compile libpthread with -g
2011-01-10 14:05:03 +00:00
pooka 964d204966 In case of LOCKDEBUG, expect certain text in the kernel output. 2011-01-06 13:42:45 +00:00
pooka 051cd8569e Add some tests for lock errors. Notably, some of them fare nicely
with just the pthread consistency checks (which are enabled by
default in rumpuser), but others require real LOCKDEBUG.
2011-01-06 13:12:52 +00:00
pooka b2d5a8ae6c test rumpclient syscalls from a signal handler 2011-01-06 07:00:28 +00:00
pooka d69edd9332 check that child exits with an expected status 2011-01-06 06:59:25 +00:00
pooka 8759cb8fa5 Some tests for rumpclient fork. 2011-01-05 17:19:09 +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 1d9fa0a3f8 Use a larger array to avoid overflow.
from Piotr Meyer
2010-12-14 20:09:43 +00:00
pooka 73b0b48907 Retire h_simpleserver and use rump_server instead. 2010-12-13 13:39:42 +00:00
pooka d59692159a h_reboot has been superceded by rump.halt 2010-12-12 12:53:35 +00:00
pooka b15e66a6c2 use rump.halt in cleanup 2010-12-12 12:51:19 +00:00
pooka c2681d795d Add a simple and stress test cases for the rump remote syscall code.
Fun fact: since the server daemonizes into its own process group,
it's not in atf's pgrp.  Use rump_sys_reboot() in atf cleanup to
kill the server after the test.
2010-11-30 22:09:15 +00:00
pooka cc18af6c52 one more test 2010-11-30 18:19:47 +00:00
pooka fb6b034dfb check etfs key rules 2010-11-30 18:14:38 +00:00
pooka 74861a965c test makecn/freecn 2010-11-30 16:16:33 +00:00
pooka ff2758a541 Test copystr/copyinstr/copyoutstr focusing on the off-by-one cases.
As a notable caveat, this does not test the remote RPC paths of
those routines, which are arguably a little more complex.
2010-11-09 15:25:19 +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
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 a745e32571 implicit pid is 1 instead of 0 now 2010-10-29 15:32:51 +00:00
pooka 0e59fd4080 hold object lock across page unbusy 2010-09-09 09:59:48 +00:00
pooka 6a3566f5c8 vm object must be locked during page allocation. 2010-09-08 20:40:24 +00:00
pooka d85e9c34b1 +tc (turns out the bug was elsewhere, but a test is always a test) 2010-09-07 17:09:28 +00:00
pooka 5297756997 check that curlwp for an implicit context is NULL 2010-09-02 09:57:34 +00:00
pooka 52e6ad15e6 tests for rump_lwproc 2010-09-01 21:18:14 +00:00
jmmv 9d0b4b5bb8 Get rid of static Atffiles and let bsd.test.mk generate them on the fly. 2010-07-13 21:13:21 +00:00
pooka 2f312a0c44 check etfs mappings with offsets 2010-06-21 14:39:35 +00:00
pooka ec25c2dafe Check that etfs block mapping works for >2TB devices. 2010-06-20 17:43:33 +00:00
pooka 18f65594ec ... and remove the not-supposed-to-be-committed call to rump_sys_reboot() 2010-06-19 13:44:11 +00:00
pooka b7c691f4b9 fix pasto, sprinkle ATF_REQUIRE_EQ()
ATF_REQUIRE_ERRNO, oh ATF_REQUIRE_ERRNO, wherefore art thou ATF_REQUIRE_ERRNO?
2010-06-19 13:43:29 +00:00
pooka 6457f5fabe add test for block device support 2010-06-19 13:40:09 +00:00
pooka c6b3a389bf tp_glob -> tp-glob (i.e. better use correct keywords ..) 2010-06-17 08:31:20 +00:00
pooka 1647962cb4 Add simple etfs test which almost tests for bug fixed yesterday
(the yesterday bug was against an emulated block device, so slighlty
different).  But at least this test uncovered a few bugs already.
2010-06-16 19:29:33 +00:00
pooka e094e235ab add a vm allocator test which tests that:
* RUMP_MEMLIMIT works
* allocating memory with PR_NOWAIT will fail immediately if no memory
  is available and PR_WAITOK will wait for memory to be available
2010-06-14 21:06:09 +00:00
pooka 5c21ec6fa6 Add a test which checks autoloading modules from the host's
/stand/arch/vers/kmods works in rump (and that the result is usable ;).

On i386 this "just works".  For amd64, due to -mcmodel=kernel,
things are a little more complicated.  We must have the entire rump
kernel loaded in the lower 2GB.  Currently, this can be done either
by using the non-PIC version for the rump kernel compiled with
-mcmodel=small, or, as njoly pointed out, using netbsd32, which
causes vm_default_addr() to give something in the lower 2GB and
therefore shared libs "magically" getting loaded there.  I guess
it would be possible to put a suggested vaddr into the rump kernel
libs and make ld.elf_so map memory from the suggested address if
present ... but that's another show.

Also thanks to tron for access to an amd64 so that I could verify
the test works.
2010-06-09 12:35:45 +00:00
pooka 999c22b60a need bsd.own.mk to avoid the "NETBSDSRCDIR is nothing" syndrome 2010-05-31 23:53:02 +00:00
pooka 0854573c60 hmm, using unifdef for the previous might have been a good idea ... 2010-05-31 23:51:28 +00:00
pooka 104b695ac0 Now that atf gdb/coredump conflicts have been solved (thanks jmmv!),
remove USE_ATF ifdefs.
2010-05-31 23:44:54 +00:00
pooka 9b9ff1afec add tests for:
* threading
 * tsleep variants
 * uvm page busying and wanting
2010-05-31 23:36:12 +00:00
pooka 9a7330494a Add some kernel namespace (i.e. _KERNEL) helpers for regression tests. 2010-05-31 23:32:50 +00:00
pooka 90512ff195 convert to ifdef USE_ATF 2010-05-01 12:11:53 +00:00
pooka cdf297bb01 Disable module autoload so that it won't foil our module unload test. 2010-05-01 11:20:21 +00:00
pooka 05e0f1dba9 Update to use newstyle rump_module interfaces. 2010-03-05 18:49:30 +00:00
pooka da8d545fb8 msdosfs depends on disk devices now 2010-01-25 19:27:24 +00:00
he dcac85a1b9 It seems that LDADD.file gets added to the linker invocation after
the LDADD variable expansion.  To support static linking, ensure
that the common libraries gets tacked on at the end as well (order
matters for static linking), by using a convenience variable and
add it to the end of LDADD.t_modlinkset, as well as when doing the
general LDADD+= setting.
2009-11-28 22:20:38 +00:00
pooka aebec17a03 WARNS=4 2009-11-06 15:26:54 +00:00
pooka 5ffd8be0f2 rump_module -> rump_pub_module 2009-11-06 15:25:52 +00:00
pooka 7d89931c36 Add regression test to verify that linksets work correctly with rump. 2009-09-24 21:36:42 +00:00
he bcb5a47bca Apparently, there's not a clear dependency ordering for the libraries,
this becomes apparent when linking statically (e.g. as for sun2).
Add an extra instance of -lrump to the library list so that it can be
linked statically as well.
2009-06-09 11:18:50 +00:00
pooka 863335f97b don't hardcode /usr/lib path 2009-05-02 16:18:13 +00:00
pooka 80be26da9a add regression test for module init/fini in rump 2009-05-02 16:02:18 +00:00