The overall idea is to get a single build script which will not need
editing, but instead overrides and changes happen by config files passed
as arguments.
size-scheme. Also add commented NO_BIND_FOO options for people who want named
but not all of the bloat it likes to include by default.
While here, make a comment about BOOT_COMCONSOLE_SPEED.
most of the hardcoding of device names in installed convenience scripts.
Provide a new script (root/updatep) to easily update the ALTROOTSLICE. It
does the same as updatep1/updatep2 without hardcoded device names. If noone
protests, I'd like to get rid of updatep1/updatep2 at some point.
As an extra bonus: turn on the error led while updating (on hardware with a
led).
- Test that the basic socket options have the right defaults, that we can
change them, read them back, etc.
- Add and remove some multicast addresses.
- Send a loopback multicast address and make sure it arrives intact.
There's more that could be done here, but it's a start.
MFC after: 3 days
avg/median/stddev bars onto separate lines for readability if the
ranges overlapped. In 2005, ministat was extended to support more than
2 datasets, but the -s code was not updated. It will coredump if run
with -s and >2 sets.
PR: 82909
Submitted by: Dan Nelson <dnelson@allantgroup.com>
using my own script to handle it. I wrote my own partially because
of all the quoting-issues involved with testing what I wanted to test,
and partially because this lets me commit one script and one data file,
instead of one-file-per-regression-test.
This suite was good enough for my initial testing (and it did help me
find a few bugs that would have otherwise been missed). I'm not sure
how well it will work in general use, but I figured I might as well
commit it. It won't *hurt* to have it available. At the worst, people
can just ignore it.
Approved by: re (blanket `env')
o getsockopt(SO_ACCEPTFILTER) always returns success on listen socket
even we didn't install accept filter on the socket.
o Fix these bugs and add regression tests for them.
Submitted by: Igor Sysoev [1]
Reviewed by: alfred
MFC after: 2 weeks
so that make(1) will run in an almost clean environment and enhance the
description of the test infrastructure.
Add the ability to have multiple tests carried out per test script.
Give some tests more meaningful names.
Fix the usage message from the test scripts.
Make it possible to pass several commands to the test scripts like:
'sh test.t setup run compare clean'.
shell meta characters it is not passed to the shell, but the command
is executed directly (given that the line is not a shell builtin) and
that the line with a meta character is passed to the shell.
Currently only performs basic tests against the library string routines,
and queries less important kernel state.
Obtained from: TrustedBSD Project
Sponsored by: SPAWAR, SPARTA
MFC after: 3 days
order. Put some strategic comments in about how much storage is
necessary and a longer explanation on the top.
It is now pretty trivial to put nanoBSD on as little as a 64MB CF card.
Sponsored by: Soekris Engineering.
the limit is only the number of meaningful graph symbols available.
Statistical comparison is performed between the first dataset and
any further datasets.
No objection by: phk
intended to verify that SIGPIPE is delivered to a process writing or
sending on a socket that has been shut down for write. If available,
SO_NOSIGPIPE is also tested.
This regression test is currently passed by RELENG_4, but not by HEAD or
RELENG_5, due to a bug in the write() code for sockets. SO_NOSIGPIPE is not
present in RELENG_4, however, so is not tested there.
Reported by: Mikko Tyolajarvi <mbsd at pacbell dot net>
PR: 78478
native and foreign architectures and comparing products).
They eliminate most of the differences caused by different
object directory paths, timestamping, and identification.
(Note WORLDTMP was renamed to ${OBJTREE}${.CURDIR}/tmp.)
and adjust the path in the Makefile for the upgrade_checks target.
These checks are really feature upgrade checks that should be fast
and just find out whether we need to build a new make before
proceeding with other targets like buildworld. This makes the
place free for a real regression test suite in the old place.
http://www.ambrisko.com/doug/listio_kqueue/listio_kqueue.patch
Note: it is a good idea to run this against a physical drive to
exercise the physio fast path (ie. lio_kqueue /dev/<something safe>)
This will ensure op's counting per LIO request is correct. It is
currently broken the above patch fixes it.
Sponsored by: IronPort
against a disk as the argument. If you don't it will use a temp file.
The raw disk will use the kernel physio fast path method until the
max number of pending op's is reached then it will queue them. File
system op's are always queued. This is more important with LIO since
operation can get split across and accounting of op's is broken with LIO.
Note that this was broken when locking was added to kqueue (ie. 5.3)
My fix needs to be better integrated with FreeBSD.
Next is an LIO test and implementation.
Sponsored by: IronPort
modules to rip out the available sysctls. It will then produce a manual
page which may be installed with 'make install'. Currently typing 'make'
in the directory uses the default /boot/kernel files. To use a specific
directory, run sysdoc -k [location].
- Use fesetround() instead of fpsetround(), and add tests for
various rounding modes.
- Test that all NaNs generated are quiet.
Some of these tests won't pass until problems in vendor sources
(gdtoa and gcc) are fixed and new versions imported, but I
want to get these changes into the tree before I accidentally
blow them away again. :-(
tests. (Buy 10, get one free!) The separate categories were
already there; they just weren't labeled.
- Use fesetround() instead of fpsetround(), since the former is
standard and implemented on all supported architectures. Add
tests for each rounding mode.
- Add additional tests for subnormals.
Some of these tests won't pass until problems in vendor sources
(gdtoa and gcc) are fixed and new versions imported, but I
want to get these changes into the tree before I accidentally
blow them away.
introducing the disk formats for _RuneLocale and friends.
The disk formats do not have (useless) pointers and have 32-bit
quantities instead of rune_t and long. (htonl(3) only works
with 32-bit quantities, so there's no loss).
Bootstrap mklocale(1) when necessary. (Bootstrapping from 4.x
would be trivial (verified), but we no longer provide pre-5.3
source upgrades and this is the first commit to actually break
it.)
bind()/connect() system calls, which is intended to confirm that the
right successes and errors occur when rendezvousing via the file system
name space.
and as long as we're not compiling with IPA, gcc(1) won't optimize
the call away. The whole purpose of using memcpy(3) is to avoid
misaligned loads and stores when we need to read or write the value
in the unaligned memory location. But if gcc(1) optimizes the call
to memcpy(3) away, it will typically introduce misaligned loads and
stores. In this context that's not a good idea.
60. The postinc store tests currently fail (value mismatch). Hence
the score as of this commit is 48 out of 60. Either the kernel or
the tests need to be fixed.
the given providers. Without even one of the configured components there
should be no way to get the secret.
Supported by: WHEEL Sp. z o.o.
http://www.wheel.pl
cleaned up; just wanted to make a place holder. The biggest issue is
that it is an incomplete revamp; that is... the inconsistent naming
table generation is not done yet ... will be added soon with the clean
up. The purpose of this script is to handle the vop_vector changes that
phk@ did over the recent weeks.
float, double and long double types. No post-increment tests yet.
All tests are skipped if the debug.unaligned_test sysctl variable
cannot be set to 1.
as they are the setrunqueue() and sched_add() calls. Since they happen
immediately before the thread is placed on a run queue they would normally
dwarf the more informative preemption or yield event and it is implicitly
understood that a thread is back on the run queue as part of these events.
python and tkinter. Schedgraph takes input from files produces by
ktrdump -ct when KTR_SCHED is compiled into the kernel. The output
represents the states of each thread with colored line segments as well
as colored points for non-state scheduler events. Each line segment and
point is clickable to obtain extra detail.
- Removed kttcp_sosend() and kttcp_soreceive() in favor of using
sosend() / soreceive() with UIO_NOCOPY. The locking changes in the
socket layer make merging the kttcp_so* and the so* routines a real
pain. It was a lot easier to just use the integrated routines.
- Eliminated KTTCP_MAX_XMIT restrictions on send and receive sizes
because I encountered no problems with streams larger than MAX_INT.
MAX_INT bytes is only good for a few seconds at 4Gb/sec ;)
- Removed Giant from send / recv routines.
- Fixed character device protos, cdevsw init, etc, to work in 5.x /
6.x
Reviewed by: sam
MFC after: 1 week
by forcing the creation of an object directory for the make regression
tests. Let make handle the tracking of the dependency and installation
of test_shell script.
Submitted by: ru
then reads from a fairly broad range of object types: regular file,
fifo, UNIX socketpair, pty, UNIX pipe, and an md device. Not a deep
test of functionality, just a basic test that aio_write followed by
aio_read returns the correct data in a relatively timely manner.
Requested by: phk
that you create one of the object directories make knows (see make(1)).
This uses the -C flag, so add a test that checks that make actually accepts
-C. Also fix the test that selects csh via the .SHELL target to work for
tcsh users too.
This commit renames shell_test to shell_test.sh. There is no history
to preserve so go without a repo-copy.
Reviewed by: ru
other until the window is closed. Then one of the sockets is closed, which
will generate a RST once the TCP at the other socket does a window probe.
All versions of FreeBSD prior to 11/26/2004 will ignore this RST into a 0
window, causing the connection (and application) to hang indefinitely.
On patched versions of FreeBSD (and other operating systems), the RST
will be accepted and the program will exit in a few seconds.
Submitted by: Michiel Boland
Reviewed by: silby
If turned on no NIS support and related programs will be built.
Lost parts rediscovered by: Danny Braniss <danny at cs.huji.ac.il>
PR: bin/68303
No objections: des, gshapiro, nectar
Reviewed by: ru
Approved by: rwatson (mentor)
MFC after: 2 weeks
understood by Perl's Test::Harness module and prove(1) commands.
Update README to describe the new protocol. The work's broken down into
two main sets of changes.
First, update the existing test programs (shell scripts and C programs)
to produce output in the ok/not ok format, and to, where possible, also
produce a header describing the number of tests that are expected to be
run.
Second, provide the .t files that actually run the tests. In some cases
these are copies of, or very similar too, scripts that already existed.
I've kept the old scripts around so that it's possible to verify that
behaviour under this new system (in terms of whether or not a test fails)
is identical to the behaviour under the old system.
Add a TODO file.
performs a non-blocking connect from another socket, and then closes
the listen socket rather than accepting. This is intended to
exercise the close path in which connections are aborted due to a
close on the listen socket while the connection is in the listen
queue.
- Consistently use err/errx/warnx throughout, rather than using perror()
and exit().
- Teach the tests how to better manage (and therefore test) privilege:
in particular, how to create sockes with root credentials but exercise
the privileges with non-root credentials, etc.
- Teach the test suite to apply each of the non-IP_HDRINCL options across
each of SOCK_DGRAM, SOCK_STREAM, and SOCK_RAW.
atempts to read and write various IP-level socket options as root and
nobody, making sure the initial values are as expected, that they can
be changed to valid values and take effect, etc. No attempt is made
to check for the correct implementation of side effects (such as
changes in packet headers) as yet.
The IP options section is currently broken but will be fixed shortly.
Not all multicast options are currently tested.
explicit clock reads to set an overall duration to the send, and
blasts rather than trying to clock output. The goal of netblast,
unlike netsend, is to send as many UDP packets as possible; the
cost is that there's no ability to control the rate, and there's
less accuracy in the timing as the interval timer granularity is
relatively low.
1M blocks and optionally write the read data to a file or disk.
If a read error happens, the 1M block gets put on the end of the worklist
and will be retried with 64k blocksize.
If a read error happens again, the 64k block gets put at the end of the
worklist and will be retried with single sector reads.
The program keeps trying until you stop it.
You can refresh a disk:
recoverdisk /dev/ad1 /dev/ad1
or salvage a floppy:
recoverdisk /dev/fd0 myfloppy.flp
and generates the proper (hopefully) update -j lines + commit line to do
the MFC... This has saved me a lot of time doing recent MFC's...
You still should use diff to verify the changes before doing the commit..
- Centralize time comparison.
- Check clock resolution to make sure it has enough granularity to
implement the desired wait interval.
- Keep track of how many times the timing loop has to spin waiting
for the next send time; report statistics.
- Add commented out warning about deadlines being missed when
spinning.
- Improve statistics reporting generally to provide a more useful
summary of sender condition after a run.
elementary exercising of kqueues on datagram and stream sockets. Note
that the datagram write kqueue case is left untested due to potentially
confusing behavior for the developer (me) that might require attention.