Commit Graph

258 Commits

Author SHA1 Message Date
Hartmut Brandt
012a8b3f81 Repo-copy tools/regression/usr.bin/make to tools/build/make_check
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.
2005-03-02 12:33:23 +00:00
Doug Ambrisko
2f53b7ce03 This will not compile without:
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
2005-03-02 04:00:55 +00:00
Doug Ambrisko
5a199d9799 Add an AIO & kqueue regression test. It is a good idea to run this
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
2005-03-02 03:32:01 +00:00
David Schultz
2eb5318e94 - Split tests into three rough categories.
- 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.  :-(
2005-03-01 01:43:20 +00:00
David Schultz
73961b3d51 - Split the printfloat test into 11 individually wrapped and packaged
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.
2005-03-01 01:43:05 +00:00
Robert Watson
9d62322505 Add a simple regression test for stream UNIX domain sockets and the
bind()/connect() system calls, which is intended to confirm that the
right successes and errors occur when rendezvousing via the file system
name space.
2005-02-20 22:21:53 +00:00
Ruslan Ermilov
1042be684d Add to CFLAGS. 2005-02-12 18:09:20 +00:00
Nik Clayton
8948ad6b58 Add to CFLAGS, rather than overriding it. Use LDFLAGS for the -L option,
and LDLIBS to specify -ltap.

Submitted by:	ru
2005-02-01 09:26:34 +00:00
Nik Clayton
818287703d Link against libtap (ports/devel/libtap). Replace the calls to assert()
with calls to libtap::ok1(), and make sure the correct number of tests is
planned for, and that the exit code is correct.
2005-02-01 01:53:35 +00:00
Marcel Moolenaar
ad284e38a3 Wrap calls to memcpy(3) in a function called block_copy(). This way,
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.
2005-01-28 02:58:32 +00:00
Marcel Moolenaar
c0604e27a8 Skip the register based postinc stores here and don't count them
in the number of tests. This way we avoid skipped tests for non-
existent memory access combinations. The number of tests dropped
from 60 to 48.
2005-01-27 23:15:58 +00:00
Marcel Moolenaar
ced1bf58df Make the local variables global so that the compiler cannot assume
too much about them. This prevents certain peephole optimizations
at -O that invalidate the tests.
2005-01-27 23:11:55 +00:00
Marcel Moolenaar
0335d35b09 Fix the unaligned store with post increment test: The misaligned pointer
stopped pointing to the value the moment we wrote it due to the post
increment. So, grab the value for comparison out of the data structure
directly.
2005-01-27 22:46:15 +00:00
Marcel Moolenaar
b3efc9018f The unit test for unaligned loads/stores can be found under ../ia64. 2005-01-27 06:51:45 +00:00
Marcel Moolenaar
baacc4acdf Add tests for post increment. This bumps the number of tests up to
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.
2005-01-27 06:50:05 +00:00
Robert Watson
20ef44d423 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
Mike Silbersack
cc73784391 Add two more pipe regression tests. Not yet hooked into the test framework. 2005-01-21 06:46:18 +00:00
Robert Watson
2d7142bf0d 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
Robert Watson
81cfeee7bf 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
Maxim Sobolev
c520d61bc3 Add test which excersises problem with unability to change association of
already associated datagram unix domain socket by issuing connect() system
call.
2005-01-12 09:57:18 +00:00
David Schultz
b33f870fba Regression tests for [l]lrint[f]() and [l]lround[f](). 2005-01-11 23:13:36 +00:00
Pawel Jakub Dawidek
080361d6b8 Introduce a new GEOM class - SHSEC. It provides sharing secret between
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
2005-01-11 18:06:44 +00:00
Pawel Jakub Dawidek
79f717591c Fix incorrect comment.
MFC after:	3 days
2005-01-11 14:11:14 +00:00
Robert Watson
b2345210d0 Add a simple regression test for mlock()/munlock() to make sure they
work on a single page as root, and fails on a single page as nobody.
Intended to help diagnose reports regarding insecure memory use with
gnupg.
2005-01-03 19:56:20 +00:00
Marcel Moolenaar
938e27a7e5 Replace a mention of the ia64_unaligned directory with one of the
ia64 subdirectory. All ia64 specific regression tests live under
the ia64 directory.
2005-01-02 21:40:36 +00:00
Marcel Moolenaar
c5b5bf81c9 Regression test for unaligned loads and stores for short, int, long,
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.
2005-01-02 21:33:40 +00:00
Pawel Jakub Dawidek
ad51776c88 Wait a bit after creating device. 2004-12-21 19:03:10 +00:00
Pawel Jakub Dawidek
ee7051f9f7 When RAID3 device is configured in "verify" mode, synchronization of the
parity component is now force on creation.
Change regression test which check "verify" mode to work properly after
this change.
2004-12-21 18:48:59 +00:00
Ruslan Ermilov
e653b48c80 Start the dreaded NOFOO -> NO_FOO conversion.
OK'ed by:	core
2004-12-21 08:47:35 +00:00
Sam Leffler
2efe996b98 Loadable modules that run test vectors for net80211 crypto plugins. 2004-12-08 17:45:53 +00:00
Hartmut Brandt
89f087e8dd Fix builds with a read-only directory and a make upgrade. This is done
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
2004-12-07 14:41:16 +00:00
Robert Watson
b1954f17a8 Print a warning if running as !root for aio_md_test rather than failing
the test.  Privilege is required in order to allocate an md device.
2004-12-06 13:15:23 +00:00
Robert Watson
5cb0b08e40 Add a basic aio functionality regression test, which simply writes and
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
2004-12-06 12:56:38 +00:00
Ruslan Ermilov
d29cf9e2f3 Make this work under debugging, e.g., "make -dl". 2004-12-06 08:51:30 +00:00
Hartmut Brandt
9c1f3ca3cf Make the tests runnable on a read-only src. To do this you must make sure
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
2004-12-02 17:00:58 +00:00
Nik Clayton
2ba5c2107e 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
Hartmut Brandt
60f801ee87 Chmod the shell testscript to be executable if it isn't already. According
to the CVS-Meisters x-mode just happens to work, but is not guaranteed to
do so. Try to be on the safe side.
2004-11-30 15:33:18 +00:00
Hartmut Brandt
7b54cdda4e Add some regression tests for the .SHELL target. I'm not sure that the
output of shell_2j is actually correct - it just tests what make currently
does. Make should switch on echoing for the second line, shouldn't it?
2004-11-25 10:03:29 +00:00
Tim J. Robbins
c2089f05ef Remove regression tests for the obsolete rune interface. 2004-11-21 03:21:22 +00:00
Nik Clayton
00e13b1d67 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
Robert Watson
c6eea89879 Add a small regression test that opens a TCP socket, listens on it,
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.
2004-11-02 17:59:12 +00:00
Ruslan Ermilov
a35d88931c For variables that are only checked with defined(), don't provide
any fake value.
2004-10-24 15:33:08 +00:00
Robert Watson
09745181fd Use errx() instead of fprintf()/exit() for conciseness.
Suggested by:	ru (some time ago)
2004-10-23 22:18:37 +00:00
Robert Watson
a09c60ffeb Use errx() instead of perror()/exit() for conciseness.
Suggested by:	ru (some time ago)
2004-10-23 22:11:35 +00:00
Ruslan Ermilov
9a5cf32635 Add a regression test for the alternate shell specification. 2004-10-23 21:38:58 +00:00
Ruslan Ermilov
30f4920b76 Fixed a typo.
Submitted by:	Pawel Worach
2004-10-17 11:07:03 +00:00
Giorgos Keramidas
5b9c5efc57 Add a regression test for floating-point output in the Greek locale.
See revision 1.3 of src/share/numericdef/el_GR.ISO8859-7.src

Reviewed by:	das (a while ago)
2004-10-13 22:32:12 +00:00
Robert Watson
a1626faabe 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
Robert Watson
cdeeed7a38 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
Stefan Farfeleder
c904266eac Add regression tests for ilogb{,f,l}(). 2004-10-11 18:40:45 +00:00