40 Commits

Author SHA1 Message Date
bms
310f11e8ad Nuke ipblock. A more complete multicast regression test suite is on the way. 2007-04-12 11:46:30 +00:00
bms
59fa11dff6 Fix a bug whereby group addresses were incorrectly computed in the test.
[Since the change to strict refcounting for in_multi objects, this test
 began to fail; formerly the refcount was a count of the number of requests
 for a given address, NOT a count of pointers to the object.]
2007-04-09 19:44:08 +00:00
bms
4350c29221 Add a small test program for the additional socket options which
RFC 3678 (Source-specific Multicast API) brings to FreeBSD.
2007-04-06 23:39:17 +00:00
bms
02af88335e Add raw IP support (protocol 114) to ipbroadcast regression test. 2007-03-13 23:36:48 +00:00
bms
0d80e5c272 Add -A to specify local address for bind(). 2007-03-08 14:37:00 +00:00
bms
d292337f1f Support IP_SENDIF in -CURRENT. 2007-03-08 14:27:24 +00:00
bms
b22fc5713d Add -t to set IP TTL. 2007-03-01 18:36:16 +00:00
bms
fb0fb9de79 Introduce a test program for IPv4 broadcast datagram send. 2007-03-01 13:26:13 +00:00
bms
1dae4a628c For the IPv4 multicast membership socket regression test:
Add command line flags to increase the number of test iterations.
 Be deterministic by default, for automated operation.
 Better document assumptions.
2007-02-02 21:10:37 +00:00
maxim
cb40ca01c8 o style.Makefile(5): WARNS= -> WARNS?=. 2006-07-09 11:51:14 +00:00
maxim
dca74a4f08 o Convert to Test::Harness testing infratructure. 2006-05-20 19:18:24 +00:00
maxim
a84ea57ca6 o A tiny regression test exposes bug in rip_disconnect(). 2006-05-14 22:03:00 +00:00
bms
c850937c46 Add multicast group join/leave functionality to IPv4 regression
test suite.
2006-05-14 14:11:54 +00:00
rwatson
57fde1acd9 Add a second pass to the close-before-accept test using a call to the
tcp drop sysctl.  This should exercise the ECONNABORTED accept case.
2006-04-03 11:57:41 +00:00
rwatson
89f9606562 Add regression test for tcpdrop sysctl. 2006-04-03 11:34:36 +00:00
rwatson
f07835403d Add a regression test to exercise the case where accept() is called and
the next waiting socket has had a close on the remote endpoint already.
2006-04-03 10:08:35 +00:00
rwatson
19f9c1efe4 When running the second part of the test, kill off the server process from
the first part before starting, or the TCP port we want to bind may be in
use still.  Sleep for a short period between tests.

Use SIGTERM instead of SIGKILL.
2006-04-02 11:09:37 +00:00
rwatson
02d5fc2644 Pass the right pid into the parent and child tasks so that when a test
fails, we kill the right partner process.
2006-04-02 11:03:05 +00:00
rwatson
628ed75adb Add makefile for tcpsocktimewait missed in previous commit. 2006-04-02 10:50:46 +00:00
rwatson
85222c8750 Add a short regression test that triggers a TCP socket to enter time wait
while the socket is still open; one variant closes the socket while in
time wait, and a second lets time wait expire while the socket is open.
2006-04-02 00:07:38 +00:00
ru
30cc3ea988 Style: NO_MAN doesn't need any value. 2006-03-15 10:46:38 +00:00
rwatson
61c98b99f2 Add a regression test to test two variations on the same bug: joining a
multicast group using a raw socket, then removing the interface on which
the group is found, and joining a multicast group using a udp socket,
then removing the interface on which the group is found.  An if_disc
interface is used as the interface on which to attach.

NB: A panic currently results from running this regression test, so do
so with caution.

PR:		77665
Reported by:	Gavin Atkinson <gavin dot atkinson at ury dot york dot ac dot uk>
Reported by:	Brooks Davis <brooks at FreeBSD dot org>
2005-09-05 13:23:01 +00:00
pjd
4138f701c8 Change jail IP from 1.0.0.127 to 127.0.0.1, which shows, that this test
doesn't examine the real issue as it pass without problems.
2005-07-23 05:40:17 +00:00
rwatson
c45e23d039 Add a simple multicast socket regression test set:
- 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
2005-07-22 19:36:29 +00:00
rwatson
449a09d7f4 Add an #ifdef'd non-blocking version of the test.
Update copyright.
2005-05-16 00:54:47 +00:00
rwatson
96960d4e34 Use WARNS?= instead of WARNS= in Makefiles so that global warning
settings can override local ones.

Pointed out by:	ru
2005-01-22 22:42:39 +00:00
rwatson
ea812ffcf7 In refactoring the test before committing, a pointer was passed instead
of a structure for the sockaddr_in.  Pass the pointer to connect()
instead of the pointer to the pointer.

Specify a port number to connect to.
2005-01-16 15:01:28 +00:00
rwatson
69eae68c08 Add udpconnectjail, a simple regression test to exercise an (as yet)
unfixed bug in the jail() implementation relating to using the connect()
system call on UDP sockets.

PR:	26506
2005-01-16 13:05:32 +00:00
ru
cec60429bb Start the dreaded NOFOO -> NO_FOO conversion.
OK'ed by:	core
2004-12-21 08:47:35 +00:00
nik
a138ae34c4 The following code sets up two connected TCP sockets that send data to each
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
2004-12-01 12:12:12 +00:00
nik
3e959a33f9 Switch over to a different, more flexible test output protocol that's
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.
2004-11-11 19:47:55 +00:00
ru
5db2b9d5b3 For variables that are only checked with defined(), don't provide
any fake value.
2004-10-24 15:33:08 +00:00
rwatson
e5417785bf Use errx() instead of perror()/exit() for conciseness.
Suggested by:	ru (some time ago)
2004-10-23 22:11:35 +00:00
ru
d399f4ecf4 Fixed a typo.
Submitted by:	Pawel Worach
2004-10-17 11:07:03 +00:00
rwatson
bcc7e348ba Resort unprivileged uid with privileged socket after unprivileged uid
with privileged socket in test runs.

If running unprivileged and instructed to use unprivileged sockets,
don't try and use raw sockets.
2004-10-11 19:12:40 +00:00
rwatson
4040b36fa7 A number of improvements to the IP socket option API regression test:
- 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.
2004-10-11 19:03:53 +00:00
rwatson
8e1f60d994 Add a simple exercise suite for IP-level socket options. The suite
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.
2004-10-11 16:09:45 +00:00
rwatson
e6a8dc9c17 Add a simple C-based TCP connection generator, which generates and
closes the specified number of TCP connections sequentially and
synchronously.  Useful for trying to trigger races in the accept
code.
2004-10-09 20:58:28 +00:00
rwatson
a18be84c1f Add a very basic README for tcpstream. 2004-09-13 16:53:40 +00:00
rwatson
ed6044d475 Add tcpstream, a simple TCP stream generator that uses a pseudo-random
sequence to detect data corruption visible to an application.
2004-09-13 03:17:22 +00:00