/null/dev: we're interested in /dev/pts and nullfs doesn't traverse
underlying mountpoints.
(I had code for nullfs mountpoint traversal in the tree i used to
test this originally... but I assume the rest of the world doesn't.
Before this change the test would still fail, but fail in the wrong
place and due to the wrong reason.)
* 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
in non-routed setups b) avoid the dubious security implications.
Also, to make the test actually do what it claims to do, call
getsockname() and verify we got a low port.
Note: I'm not adding these to the build yet, since they depend on
some other other cleanup I might get done only after the weekend.
Even so, t_nullpts serves a simple example of how to repeat the
crash described in PR kern/43456 (just remove "rump_sys_" from the
calls and it should compile and you should get a host kernel panic
instead of a coredump).
such as the one used by "anita test".
This has also the added benefit of decoupling the tests from whataver
is in "words", should that file ever be updated.
/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.
going to whitewash the test failures, we should at least keep track of
what the "real" correct behavior/output is. Especially since a large
portion of the tests in here were added specifically to illuminate
points at issue in prior discussions.
their work directory. The purpose is to be able to know which tests intend
to touch the file system and to allow a minor optimization in atf-run.
Define use.fs=true for all those tests requiring it. (This highlights that
some tests currently require modifying the file system but conceptually
they shouldn't be... which leaves room for further improvements/cleanups
later :-)
the ffs test because msdosfs doesn't support VFS_SNAPSHOT, only
VFS_SUSPEND, i.e. we need external storage for the snapshot instead
of internal storage.
I really wish all our fs tests were like this (in principle, that
is. I'm not talking about this hacky implementation). I've been
wishing this for quite a few years now. Seems like my wishes don't
come true.
same as with the kernel module (and hence MOUNT_NULL).
I added the old name to the obsolete list, but given that it was
in-tree for only a bit over a week, I'll remove the entries in a
few weeks.
XXX: the reverse mapping case (last subsubtest in t_basic) does
not make any sense, but apparently that how umapfs works. I'm not
familiar enough with the code to determine if this is a wanted
feature or a pure and simple bug.
subcommands and the optional argument passing to them from the command
line.
Triggered by the modification of the run_rc_command function in rc.subr
to allow passing in extra parameters to the commands defined in rc.d
scripts.
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.
gnulib, the implementation goes back to the AMD Software Optimizer
guide. A number of platforms will want to replace the C version with
assembler code using native instructions.
The algorithm used is the Jenkins hash. The name (mi_vector_hash)
reflects the nature of the hash function.
Add glue for libc ATF tests and include a test case to make sure that
(mis)alignment and endianess are handled correctly.
Bump libc minor to 169.
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.
with the ffs kernel module and follows the trend of retiring ufs.
It also allows to get rid of a special case kludge in runtime module
loading, since ufs was not really a module. librumpfs_ufs is now
obsoleted and ffs consumers should be linked solely against
librumpfs_ffs.
GSoC 2008 project. These were originally inside the kernel subdirectory
but I think they belong in their own top-level directory because ipf
consists of more components than just the kernel-level packet filter.
first time.
share/mk/bsd.kmodule.mk: only set _INST_DIRS if KMODULEDIR is not
set. That we we avoid installing some bogus directories in
the DESTDIR and in $DESTDIR/METALOG.
tests/modules/k_helper/Makefile: add missing .include <bsd.own.mk>,
and set the KMODULEDIR that the author seems to have intended.
nonexistent programs on $PATH and nonexistent programs with an absolute
pathname, so we ought to test both.
If anyone creates a program called nonexistent-program-on-path and
thereby breaks this test for themselves, they deserve it. ;-)
Also prune a no-longer-used shell variable.
being restricted to the #!/bin/sh used to run atf; (2) you can tell what
happened when it fails, since it does currently fail; (3) it runs all the
cases even when some of them don't work, and fails only at the end.
test module after the introduction of bsd.kmodule.mk. The files list was
inconsistent with the new module structure and the Makefile did not use the
correct variable to specify the installation of the module. Hi ad@!
framework. At the moment, this just tests for plain load (i.e. no arguments
passed to load) and later unload of the module through the modctl(2) system
call. The tools are not tested yet.
instead of the source file, because we need to set strict permissions on it.
Otherwise sshd refuses to start.
Note that we cannot set the permissions of the installed ssh_config_key file
to 400 because unprivileged users could then be unable to run the tests.
reason the parser does not accept its contents... You know, one should
always test even trivial changes!
Will review this in more depth tomorrow to find the real root cause of the
problem and rule out a fix for ATF.
be used alongside -D, but as this was not documented I thought it was a bug
and "fixed" -e's behavior locally (so I got the correct output before, but
nobody else).
Also, fix a race condition that could cause the SSH server to not be killed
if the pid file was not written before the kill, which might happen on very
fast machines. There still may be a problem when trying to do the connection
if the server has not yet finished initialization...
support shared libraries). Reported by he@.
This was an attempt to test the exact same id binary in the system but
using fake library calls to provide fictitious but stable user/group
entries. Instead, build a helper id binary linked against our fake
functions. This is what we already do in, e.g. the tests for util/df.
check for the command's syntax, but while doing so, I'm adding tests for
all (or almost) possible executions of these commands.
I'm not too happy with the "libfake" directory because there must be some
simpler way to do this, but it will do the trick for now hopefully.
This change converts all the existing regression tests in regress/games
to the new framework provided by atf. As a side effect, this also moves
all the tests programs in regress/games to tests/games.
This change converts all the existing regression tests in
regress/sys/fs/tmpfs to the new framework provided by atf. As a side
effect, this also moves all the tests programs in regress/sys/fs/tmpfs to
tests/fs/tmpfs.
This change converts all the existing regression tests in regress/bin to
the new framework provided by atf. As a side effect, this also moves all
the tests programs in regress/bin to tests/util, as they all belong to
utilities installed by the base-util-root package.
This adds a new tests.tgz set to releases which includes all the tests
for the system. It is important to note that this set does not rely on
comp.tgz: a user of the system can run the tests without having the
development tools installed, which can be useful in a production machine.