Commit Graph

981 Commits

Author SHA1 Message Date
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
Pawel Jakub Dawidek
e8c9c9cfd5 Change u_int64_t to uintmax_t and use %ju, so it compiles on 64bit archs.
I changed every u_int64_t to uintmax_t, as we should use eventually
uint64_t anyway those days.
2005-10-26 19:44:17 +00:00
Robert Watson
636edd1f9b Updates and enhancements to the multi-threaded httpd performance test
tool:

- Use uname(3) to query the OS name to report in the HTTP headers.
  This is probably more useful than hard-coding FreeBSD.

- If no path is specified, create a 1k temporary file and send that
  instead.  Pass a file descriptor into http_serve() rather than using
  a global fd.

- Add more carriage returns to the HTTP headers to be a bit more
  correct.  (Suggested by: andre)

- Read to a buffer rather than a single character to reduce the number
  of recv() system calls pulling in the HTTP request.

- Properly wait for two, not one, \n's on input.
2005-10-25 18:47:12 +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
Dag-Erling Smørgrav
8df5e81c01 Add RELENG_6_0. 2005-10-09 18:01:55 +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
Damien Bergamini
57bbb41ebd Import iwi-specific tools. Can help debug firmware or connection issues. 2005-10-07 18:27:21 +00:00
Robert Watson
570df2e4f2 Don't hard-code port numbers, let the user specify them. 2005-10-06 12:20:33 +00:00
Robert Watson
74af25e5db Improve realism of benchmark httpd: return some HTTP headers as part
of the sendfile() system call.
2005-10-06 10:28:31 +00:00
Robert Watson
6383f6aae0 Add basic simplified HTTP benchmark tools to the netrate suite:
- http is a lightweight, multithreaded HTTP query tool, which performs
  a timed measurement of the rate at which it can download files using
  single-fetch HTTP/1.0.  Other than specifying the IP and a URL path,
  it requires zero configuration.

- httpd is a lightweight, multithreaded HTTP server tool, which exports
  a single file of choice to the HTTP client, and responds with it no
  matter what the request.  Other than specifying the file to export,
  it requires zero configuration.

The goal of these tools is to measure the network costs associated with
HTTP serving, rather than file system, HTTP protocol parsing, error
handling, etc, and as such, parts relating to less interesting components
of HTTP testing are intentionally omitted.  Both are linked against
libpthread by default.
2005-10-06 08:41:08 +00:00
Robert Watson
f4997daeac Add simple TCP connect and TCP receive benchmark components, intended to
measure the rate of TCP connection round trips supported by a host at
the socket layer.
2005-10-05 12: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
Poul-Henning Kamp
8ec7a2f521 Fix a bug in disk geometry calculation.
Fix NANO_TOOLS usage in FlashDevice()
2005-09-29 16:06:59 +00:00
Poul-Henning Kamp
5dd35f9e69 This one goes as well. 2005-09-26 14:58:58 +00:00
Poul-Henning Kamp
bce8140d46 Remove the old Makefile based nanobsd build method, the new shell script
based is far better and the only one supported from now on.
2005-09-26 14:57:27 +00:00
Poul-Henning Kamp
006ffd3415 Correct filesystem mountpoint 2005-09-25 21:23:19 +00:00
Simon L. B. Nielsen
06578727e1 Make it possible to set the NANO_TOOLS variable to a directory outside
of $NANO_SRC, which can e.g. be used if the nanobsd scripts are not in
the source tree being built.

Improved by:	phk
Approved by:	phk
2005-09-24 12:26:59 +00:00
Philip Paeps
eb9323503c Fix typo. MAILWRAPER -> MAILWRAPPER.
Spotted by:	Andrea Campi <andrea+freebsd_cvs_all -at- webcom.it>
Pointy hat to:	philip
2005-09-21 12:32:06 +00:00
Poul-Henning Kamp
a9793e1d67 Update these scripts to be more userfriendly and usage safe. 2005-09-21 09:40:45 +00:00
Poul-Henning Kamp
26b9c7716a Add a convenience function to set NANO_MEDIASIZE, NANO_HEADS and NANO_SECTS
for commonly used flash devices by

	FlashDevice Sandisk 256MB

in the config file.
2005-09-20 09:07:18 +00:00
Poul-Henning Kamp
dbd5c1cfe5 Create an /etc/nanobsd.conf in the built image and put the disk drive name
there for scripts to use.

Create a noauto fstab entry for the configuration partition (/cfg).

Add NANO_TOOLS env-var to point to the nanobsd sources relative to
NANO_SRC.

Add -h argument which prints a usage.

Add -b argument which skips build steps and goes directly to install steps.

Complain about extraneous arguments, it's usually a forgotten '-c'

Add convenience function to register customization function.

Add some sample customization functions:
	cust_comconsole
	cust_allow_ssh_root

Rename setup_diskless() to setup_nanobsd(), it makes more sense.

Add various comments etc.
2005-09-20 08:38:59 +00:00
Poul-Henning Kamp
cf61a39e6c Dump the environment for reference.
Add a function to add customization commands.
2005-09-19 20:55:44 +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
Poul-Henning Kamp
c19b92e968 Create fstab before linking stuff into /conf 2005-09-19 15:41:08 +00:00
Poul-Henning Kamp
db2dc2cd01 Missing ')' 2005-09-19 12:12:07 +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
Christian S.J. Peron
d1c48a07c3 Remove reference to bpfstat, this no longer exists. 2005-09-17 23:45:22 +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
Christian S.J. Peron
544b9dfe25 Garbage collect bpfstat. This is handled by netstat now.
Requested by:	rwatson
2005-09-13 16:04:56 +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
Christian S.J. Peron
fa973e67a4 Now that the PID is constantly refreshed, introduce a pidname function which
when given a PID consults the kern.proc.pid sysctl variable to pull out the
pcomm data.
2005-09-05 23:13:05 +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