Commit Graph

456 Commits

Author SHA1 Message Date
Pawel Jakub Dawidek
0608d9863a Add regression tests for 'geli configure' subcommand.
MFC after:	1 week
2006-09-16 10:44:33 +00:00
Pawel Jakub Dawidek
b88743e637 Regression tests for read-only option (attach -r).
MFC after:	1 week
2006-09-16 09:30:24 +00:00
Robert Watson
9fa5f6b4b9 dd a series of regression tests to validate that privilege requirements are
implemented properly for a number of kernel subsystems.  In general, they
try to exercise the privilege first as the root user, then as a test user,
in order to determine when privilege is being checked.

Currently, these tests do not compare inside/outside jail, and probably
should be enhanced to do that.

Sponsored by:	nCircle Network Security, Inc.
Obtained from:	TrustedBSD Project
2006-09-13 09:05:39 +00:00
Ruslan Ermilov
2b46c64c9c Remove alpha left-overs. 2006-08-22 08:03:01 +00:00
John Birrell
ffc48c2814 Fix for architectures where sizeof(void *) > sizeof(int). 2006-08-04 21:45:08 +00:00
Simon L. B. Nielsen
6e0d070709 Add a test program which performs some very basic tests of libmp(3).
It is by no means expected to perform a complete test of the library
for correctness, but is meant to test the API to make sure libmp (or
libcrypto) updates don't totally break the library.
2006-07-28 16:00:59 +00:00
Robert Watson
13496464e5 Add a test case for closing a UDPv6 socket that has been connected to
the IPv6 loopback address.

Warns ?= 2.
2006-07-19 12:54:14 +00:00
Robert Watson
9b498b31a9 Add very basic regression test for netinet6: create and close raw,
UDP, and TCP IPv6 sockets.
2006-07-19 12:10:33 +00:00
Marcel Moolenaar
f2f0337e84 Add regression tests of the emulation of the long branch conditional form.
These tests can obviously only be run on Merced processors, as they don't
implement the long branch.
2006-07-17 00:27:12 +00:00
Maxim Konovalov
8847579c57 o style.Makefile(5): WARNS= -> WARNS?=. 2006-07-09 11:51:14 +00:00
Robert Watson
b0388d6b91 When extending a file with truncate, check that newly added bytes have
a value of 0 in the extended region.

Make sure that we get EINVAL back if we try to truncate a read-only
file descriptor.
2006-07-09 10:56:36 +00:00
Robert Watson
17d6f0e53b Add regression tests to make sure that attempting to call ftruncate() on
various non-file objects fails.
2006-07-09 10:43:31 +00:00
Robert Watson
cead9b1c1c Add very basic ftruncate() regression test, with a comment rather more
thorough than the tests regarding what should be tested.
2006-07-09 10:19:07 +00:00
Pawel Jakub Dawidek
8091e0f54b Add regression tests for geli(8) authentication feature.
Supported by:	Wheel Sp. z o.o. (http://www.wheel.pl)
2006-06-06 06:46:51 +00:00
Pawel Jakub Dawidek
43b48559c5 - Update regression tests after recent changes.
- Verify various sector sizes.
2006-06-06 06:44:19 +00:00
Pawel Jakub Dawidek
cb852b474a Add regression tests for IPsec. 2006-06-04 22:06:17 +00:00
Maxim Konovalov
326c421e09 Output directory has gone, remove it from Makefile. 2006-05-31 11:22:15 +00:00
Maxim Konovalov
884fb9ccdd Fix test for empty interpreter. 2006-05-31 11:15:16 +00:00
Maxim Konovalov
393e6ede9e o Add various regression tests for execve(2) syscall.
Obtained from:	NetBSD
2006-05-31 11:13:10 +00:00
Maxim Konovalov
fd447da171 o Let getopt(3) report errors in command line arguments.
o If something is wrong with options, then output short usage help message.
o Output errstr returned from strtonum(3).

PR:		bin/98141
Submitted by:	Andrey Simonenko
2006-05-31 08:10:34 +00:00
Maxim Konovalov
5368db2726 o Add a collection of regression tests for ancillary (control)
data passing for unix domain sockets, stream and datagram.

There are 15 tests:

Test/Type of socket					STREAM	DGRAM
----------------------------------------------------------------------
Sending, receiving cmsgcred				   1      6
Receiving sockcred (listening socket has LOCAL_CREDS)	   2      n/a
Receiving sockcred (accepted socket has LOCAL_CREDS)	   3      n/a
Receiving sockcred					   n/a    7
Sending cmsgcred, receiving sockcred			   4      8
Sending, receiving timestamp				   5      9
Sending, receiving cmsgcred (no control data)		   10     13
Sending cmsgcred, receiving sockcred (no control data)	   11     14
Sending, receiving timestamp (no control data)		   12     15

Currently we pass 8 tests.  All the rest marked as TODO.

PR:		kern/90800
Submitted by:	Andrey Simonenko
2006-05-29 18:40:55 +00:00
Maxim Konovalov
f1746dbc9c o Test truncate(2) on fifo: it should ignore the request and
return success.

PR:		kern/98064
Submitted by:	Kirk Russell
2006-05-29 10:56:27 +00:00
Robert Watson
64ccf56136 Use WARNS and rely on rules rather than an explicit target for the
test binary.

Reported by:	maxim
2006-05-25 10:46:43 +00:00
Robert Watson
0fb57f87a3 Add a basic regression test for sendfile() over TCP, which sends varying
lengths of headers and data and makes sure it receives about the right
number of bytes.
2006-05-25 09:50:14 +00:00
Maxim Konovalov
90967a95ce o Convert to Test::Harness testing infratructure. 2006-05-20 19:18:24 +00:00
Maxim Konovalov
cd915ab751 o A tiny regression test exposes bug in rip_disconnect(). 2006-05-14 22:03:00 +00:00
Bruce M Simpson
9b5b26f66f Add multicast group join/leave functionality to IPv4 regression
test suite.
2006-05-14 14:11:54 +00:00
Pawel Jakub Dawidek
16bde23e84 For some time now, -i and -P options are mutually exclusive, there's even
a regression test init-i-P.t which asserts this, but it looks I forgot to
update nokey.t regression test.

MFC after:	1 day
2006-05-01 09:12:52 +00:00
David Malone
89ddbd45e5 Add some new options to mac_bsdestended. We can now match on:
subject: ranges of uid, ranges of gid, jail id
	objects: ranges of uid, ranges of gid, filesystem,
		object is suid, object is sgid, object matches subject uid/gid
		object type

We can also negate individual conditions. The ruleset language is
a superset of the previous language, so old rules should continue
to work.

These changes require a change to the API between libugidfw and the
mac_bsdextended module. Add a version number, so we can tell if
we're running mismatched versions.

Update man pages to reflect changes, add extra test cases to
test_ugidfw.c and add a shell script that checks that the the
module seems to do what we expect.

Suggestions from: rwatson, trhodes
Reviewed by: trhodes
MFC after: 2 months
2006-04-23 17:06:18 +00:00
Marcel Moolenaar
e717c486b3 MFp4:
o  Add mount and umount actions so that partitions can be in use.
o  Extend the testing of the add verb to include overlapping
   partitions.
o  Add tests for the remove verb. this includes tests to remove
   a partition when in use (i.e. is mounted).
o  Add a MD5 checksum to the output of the conf action so that
   it can be tested. Make sure the MD5 doesn't vary based on
   certain dynamic behaviour that is irrelevant to the output.
o  Add MD5 checksums to the expected result of conf actions.
2006-04-10 04:13:44 +00:00
Marcel Moolenaar
728f00f8c9 MFp4:
Add support for read-write parameters. Allow an optional initializer
for read-write parameters. Print the value of those parameters on
success following the PASS.
2006-04-10 04:07:20 +00:00
Robert Watson
582954da16 Add a simple regression test that creates and tears down route sockets,
and confirms that only SOCK_RAW works with socket(), and nothing works
with socketpair().
2006-04-09 14:48:38 +00:00
Robert Watson
3d11b6c8f0 Add simple regression tests that creates UNIX domain sockets using
socket() and socketpair() of SOCK_STREAM and SOCK_DGRAM types.  It
also confirms that SOCK_RAW fails.
2006-04-09 14:30:11 +00:00
Stefan Farfeleder
8af87209e3 Test that variable assignments preceding special built-ins affect the current
shell environment, eg after "VAR=val eval" VAR remains set.  Currently fails
but will be implemented soon.
2006-04-09 09:38:29 +00:00
Robert Watson
fc19db6c7b 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
Robert Watson
1b2c980983 Add regression test for tcpdrop sysctl. 2006-04-03 11:34:36 +00:00
Robert Watson
4f29da19bd 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
Stefan Farfeleder
b333fbe98d Add test cases that check utility syntax errors and redirection errors. For
special built-in utilities they must terminate the shell, for other
utilities only a error message shall be written.  We currently fail both
tests.
2006-04-02 19:02:49 +00:00
Robert Watson
876f7f842a 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
Robert Watson
dfe0ec64aa 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
Robert Watson
8c4d74c408 Add makefile for tcpsocktimewait missed in previous commit. 2006-04-02 10:50:46 +00:00
Robert Watson
b4c2aeb1c4 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
Robert Watson
416c476c47 Add spxabort, a simple netipx/spx regression test that triggers
pru_abort() by closing a listen socket while completed connections are
presenting in its listen queue.  Unfortunately, it's difficult to
trigger the other two pru_abort() cases using user APIs, so they are
not covered by this test.
2006-03-27 00:03:37 +00:00
Robert Watson
d70f997e49 Add simple regression test to ping pong a data packet over SPX in stream
mode.  Support both connection via connect() and sendto(), but don't
compile in sendto() for now, since netipx doesn't appear to actually
implement that (doh).
2006-03-26 19:10:27 +00:00
Robert Watson
c0bb7e6a97 Add a simple IPX datagram regression test, which opens two IPX datagram
sockets, binds a local port, sends a datagram, and confirms that it is
received.
2006-03-26 18:25:53 +00:00
Robert Watson
8403b3d7cc Add a short README with configuration hints to get the netipx regression
tests up and running.  This is likely a message to myself in six months
when I've completely forgotten how.
2006-03-26 17:42:04 +00:00
Robert Watson
94fdcc2ee8 Modify ipxsocket regression test to create and close sockets several
times, with variable length sleeps between socket() and close().  This
will help to ensure that IPX/SPX timers fire while the sockets are
open, and hence have PCB's on the IPX pcb list, so that if timers are
going to stumble over PCB types they don't expect, it will happen as
part of this test.
2006-03-26 15:49:35 +00:00
Robert Watson
f4cda13bed Add simple ipxsocket regression test: open, and close, various IPX socket
types supported by the FreeBSD netipx implementation.
2006-03-26 01:58:39 +00:00
Robert Watson
87569f75a9 Merge Perforce change 93572 from TrustedBSD audit3 branch:
Simple audit pipe ioctl regression test.

Obtained from:	TrustedBSD Project
2006-03-19 15:47:53 +00:00
Robert Watson
f2c40a5119 Change s_net to s_node when printing the destination address. 2006-03-17 20:14:25 +00:00
Ruslan Ermilov
d1e9def254 NO_MAN is not needed here. 2006-03-16 15:18:17 +00:00
Ruslan Ermilov
6aebd02aa8 Style: NO_MAN doesn't need any value. 2006-03-15 10:46:38 +00:00
Hajimu UMEMOTO
9bbad495a3 NOMAN --> NO_MAN 2006-03-07 14:26:17 +00:00
Pawel Jakub Dawidek
49fa8b70c6 Add regression test which verifies that options -P and -i cannot be used
together.

MFC after:	3 days
2006-02-12 02:07:56 +00:00
Pawel Jakub Dawidek
2867c5c8b0 Add regression tests which will verify that giving no key components for
init/attach/setkey subcommands is really impossible.

MFC after:	3 days
2006-02-01 15:17:45 +00:00
Pawel Jakub Dawidek
551fdafaf4 Add simple tests which verify that redzone(9) works properly. 2006-01-31 11:20:13 +00:00
David Xu
77efa49867 s/sigval/sival/g 2006-01-22 03:46:03 +00:00
Tai-hwa Liang
1f3fbd6cba Adding another multi-byte characters related regression test for recent
nmount(2) adoption.
2006-01-01 01:28:31 +00:00
Pawel Jakub Dawidek
5612eab744 Convert gstripe(8) regression tests to the new framework. 2005-12-07 01:30:44 +00:00
Pawel Jakub Dawidek
54cd653136 Convert gshsec(8) regression tests to the new framework. 2005-12-07 01:29:50 +00:00
Pawel Jakub Dawidek
3c6d62f3c4 Convert graid3(8) regression tests to the new framework. 2005-12-07 01:28:59 +00:00
Pawel Jakub Dawidek
b0f4c56e21 - Make use of geom_subr.sh to improve regression tests.
- Keep class-specific data in conf.sh file.
2005-12-07 01:27:23 +00:00
Pawel Jakub Dawidek
db5f9b8b22 Finish conversion of gconcat(8) regression tests to the new framework. 2005-12-07 01:24:25 +00:00
Pawel Jakub Dawidek
6d3e81df97 Add file with helper functions for geom tools regression tests. 2005-12-07 01:20:18 +00:00
Pawel Jakub Dawidek
028f760b81 Convert gnop(8) regression tests to the new framework. 2005-12-07 00:37:14 +00:00
Pawel Jakub Dawidek
7d4ec059d3 Convert gmirror(8) regression tests to the new framework. 2005-12-07 00:34:27 +00:00
David Xu
98fd65daa5 Add code to test POSIX message queue. 2005-11-26 13:19:09 +00:00
Marcel Moolenaar
735592906b Update to match geom_gpt:1.35
o  Change the result of gctl(001) now that a bogus verb still requires
   a valid geom,
o  Insert gctl(024) to test for an appropriate error when a bogus verb
   is given that does have a proper geom parameter.
2005-11-13 22:02:04 +00:00
Marcel Moolenaar
d453d31b41 Instead of saving the unit number of the md(4) device name, save the
whole name. This does not unnecessarily close the door that in some
future we want to test on something other than md(4) devices.

Also add a "conf" action so that we can check whether a gctl actually
did the right thing or not. It's one thing to check that the result
strings are as expected, but it doesn't tell us if the end result is
correct. This needs a bit more fleshing out, but for now a visual
(i.e. manual) check suffices.
2005-11-12 20:17:08 +00:00
Robert Watson
794bf8edc7 Add unix_passfd, a simple set of regression tests for UNIX domain socket
file descriptor passing.  These tests are not all currently passed.
2005-11-09 21:41:20 +00:00
David Xu
14b7815fcb Add code to test queued SIGCHLD. 2005-11-08 09:19:44 +00:00
Pawel Jakub Dawidek
d56da50ae8 Add tests for -t option with short tty name - pkill(1) should accept both
(eg. "ttyv0" and "v0").
2005-11-07 16:56:16 +00:00
David Xu
60d3d21057 Add sigqueue test code. 2005-11-07 14:10:33 +00:00
Stefan Farfeleder
94cfb3d24c Add test cases for the command built-in, including its -v and -V options which
I'll commit real soon.

Count the number of found test cases instead of hard-coding them.  Allow an
arbitrary exit status.
2005-10-28 14:02:42 +00:00
Hartmut Brandt
8cc2581b3d Add first tests for semicolon handling. The first test fails. This is
probably a bug in the parser.
2005-10-18 07:28:09 +00:00
Hartmut Brandt
70ebfd0e40 Add more tests for escaped newline handling and fix a test that currently
should fail because of a bug in the parser (test 2).
2005-10-18 07:20:14 +00:00
Doug Ambrisko
d7c39f45d5 This test can run now. 2005-10-12 18:04:18 +00:00
Marcel Moolenaar
ada6a4d2b7 Rough implementation of the create and add verbs. The verbs cause
in-memory changes only and as such are only useful for prototyping
and regression testing purposes.
2005-10-09 17:10:35 +00:00
Brooks Davis
97fb6f6f5d Add regression tests for trimdomain(3). 2005-10-05 04:46:10 +00:00
Max Khon
1d12d2a87f Use mkuzip(8) instead of create_compressed_fs. 2005-09-29 22:41:20 +00:00
Robert Watson
5334bbba91 Small regression test tool to generate two forms of ENOSPC on a file
system: out of blocks, and out of inodes.  Useful for exercising the
uprintf(9) calls in UFS/ext2fs in order to detect races.
2005-09-19 16:29:36 +00:00
Marcel Moolenaar
b1fa310c00 o Extend the suite to run more than just the driver. We need to run
mdconfig(8), because we need a disk to work on.
o  Extend the number of tests now that we have a disk.
o  Simplify the driver. All parameters are ASCII strings now.
2005-09-19 06:51:57 +00:00
Marcel Moolenaar
6763e7c1ed Add the beginnings of a testsuite for testing GPT control requests.
The testsuite is based on a simple driver program that builds a
request from the arguments passed to it and issues the request to
Geom. The driver emits FAIL with the error string or PASS depending
on whether the request completed with an error or not. A -v option
has been added to the driver and causes the request to be dumped.
The -v option to prove(1) controls the -v option to the driver.

The testsuite itself contains a hash of which the key constitutes
the arguments and the value is the expected result.
2005-09-19 02:59:09 +00:00
Robert Watson
d742e4abaf Add a regression test for listen()'s backlog argument, both at time of
creation and at time of update using an additional call to listen().
This test also exercises SO_LISTENQLIMIT, a forthcoming socket option
that allows the retrieval (but not setting) of the queue limit.

Discussed with:	andre
2005-09-18 13:42:19 +00:00
Maxim Konovalov
be875755ce Remove checks for shutdown(2) on non-connected socket. 2005-09-15 13:20:39 +00:00
Robert Watson
660f25118c Add two small tests to set and clear two file I/O flags using ioctl on
a fifo: FIONBIO, FIOASYNC.
2005-09-13 17:25:35 +00:00
Robert Watson
1c3c40d4c0 Restructure fifo_io event-related tests in order to support test cases
relating to O_RDWR file descriptors, which while not defined in POSIX,
are in fact used:

(1) Revise assumption that we have two file descriptors when testing I/O
    operations on a fifo.  Provide cleanup routines that handle either
    two or three file descriptors (including a kqueue descriptor).

(2) Add an openfifo_rw() routine to supplement openfifo().

(3) kqueue_setup() now configures an existing kqueue to monitor a new
    file descriptor, rather than allocating a new kqueue to monitor two
    existing file descriptors.

(4) Wrap all direct poll/select/kqueue/FIONREAD interactions in a single
    function, assert_status(), which takes a file descriptor, kqueue
    descriptor, assertion of read/writable/exception states, and
    test description, then tests the assertion.  This reduces the bulk
    of calls in many of the tests, making them shorter, more readable,
    and easier to determine correct.

(5) Add a new test_events_rdwr() function, which performs a basic create/
    write/read event test on a O_RDWR fifo file descriptor.  This is
    currently failed by our fifo code in HEAD due to a bug in FIONREAD
    handling.  Fix to be merged shortly.
2005-09-13 17:15:05 +00:00
Robert Watson
f8f8772ade Teach fifo_io how to use ioctl(FIONREAD) to determine if a fifo is
readable, and use that in addition to poll+select+kqueue to verify
appropriate readability.
2005-09-13 15:49:12 +00:00
Robert Watson
51c1fa5c31 Remove a debugging printf. 2005-09-13 10:33:32 +00:00
Robert Watson
456068c703 Comment test_lseek().
Add test_kqueue(), which registers and unregisters various kqueue filter
types on a fifo in order to make sure that EVFILT_READ, EVFILT_WRITE can
be registered, and that EVFILT_NETDEV can't be registered.  For now, we
don't test that EVFILT_VNODE can be registered on fifos, as that has been
broken at some point.
2005-09-12 19:31:16 +00:00
Robert Watson
1423f2f54c Further updates to fifo_io regression test:
- Teach fifo_io about kqueue monitoring of fifo file descriptor status,
  and add test cases for kqueue to match existing case for poll and
  select.  Add a new cleanup routine, cleanfifokq(), for use in tests that
  use kqueues.  kqueue_setup() sets up kqueue sessions, and kqueue_status()
  returns file descriptor status.

- Correct a bug in select handling relating to the nfds argument, which
  was incorrect so resulted in select occuring on the wrong file descriptor,
  and possible false positive/negative results.

- Clarify error reporting in one byte write+read tests to distinguish
  errors in the after case from the before case.
2005-09-12 17:05:48 +00:00
Maxim Konovalov
bf6a2064bc o Add shutdown(2) regression tests. At the moment we cannot pass
shutdown-on-non connected socket test, kern/84761.
2005-09-12 14:12:09 +00:00
Robert Watson
062defcd30 Add fifo_misc, a regression test to hold misc. functional tests for fifos
that don't obviously fit into create, open, and io.  For now, add only a
regression test to make sure that lseek() fails with ESPIPE (which it
doesn't).
2005-09-12 11:58:14 +00:00
Robert Watson
76fe467ae4 Use different temporary directory templates for fifo_io and fifo_open so
that if the tests fail to GC their working spaces, it's clear which it is.
2005-09-12 11:43:51 +00:00
Robert Watson
baabf9536d Add fifo_io, a regression test for I/O operations on POSIX fifos. We
currently can't pass this regression test due to broken poll() and
select() support for fifos, but past the basic I/O operation tests.
2005-09-12 09:42:29 +00:00
Robert Watson
544cf87d83 After going to some trouble to create a temporary directory in which to run
fifo tests, chdir to it.
2005-09-11 17:41:32 +00:00
Robert Watson
9c40729fdf Add fifo_open, a basic regression test for opening fifos, which tests
the blocking and non-blocking forms of open based on the POSIX spec for
now O_NONBLOCK should be handled.
2005-09-11 13:03:36 +00:00
Robert Watson
c6c7bd16ce Add fifo_create, a simple regression test for mkfifo(2). 2005-09-10 21:09:26 +00:00
Robert Watson
e9cc9cec0c 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
Stefan Farfeleder
e594c724ee - Add tests for hash and return and more tests for set -e.
- Simplify regress.sh, sort tests.
2005-09-05 09:42:10 +00:00