Commit graph

1650 commits

Author SHA1 Message Date
Pawel Jakub Dawidek 92c1c812f1 Shorter version. 2008-11-23 19:57:16 +00:00
Pawel Jakub Dawidek 564ecacd18 Add support for pathconf(2). 2008-11-23 19:56:40 +00:00
Pawel Jakub Dawidek 12459746f8 Detect operating system automatically. 2008-11-23 19:56:09 +00:00
Pawel Jakub Dawidek 707d3a52eb fstest for Linux:
- Use /dev/urandom, it is more portable.
- Implement todo() function which allows to mark known failures.
2008-11-23 19:50:20 +00:00
Pawel Jakub Dawidek 36aca13fdf IFp4: Regression tests for FreeBSD/ZFS chflags(2)/lchflags(2). 2008-11-22 13:27:15 +00:00
Pawel Jakub Dawidek 1ba4a712dd Update ZFS from version 6 to 13 and bring some FreeBSD-specific changes.
This bring huge amount of changes, I'll enumerate only user-visible changes:

- Delegated Administration

	Allows regular users to perform ZFS operations, like file system
	creation, snapshot creation, etc.

- L2ARC

	Level 2 cache for ZFS - allows to use additional disks for cache.
	Huge performance improvements mostly for random read of mostly
	static content.

- slog

	Allow to use additional disks for ZFS Intent Log to speed up
	operations like fsync(2).

- vfs.zfs.super_owner

	Allows regular users to perform privileged operations on files stored
	on ZFS file systems owned by him. Very careful with this one.

- chflags(2)

	Not all the flags are supported. This still needs work.

- ZFSBoot

	Support to boot off of ZFS pool. Not finished, AFAIK.

	Submitted by:	dfr

- Snapshot properties

- New failure modes

	Before if write requested failed, system paniced. Now one
	can select from one of three failure modes:
	- panic - panic on write error
	- wait - wait for disk to reappear
	- continue - serve read requests if possible, block write requests

- Refquota, refreservation properties

	Just quota and reservation properties, but don't count space consumed
	by children file systems, clones and snapshots.

- Sparse volumes

	ZVOLs that don't reserve space in the pool.

- External attributes

	Compatible with extattr(2).

- NFSv4-ACLs

	Not sure about the status, might not be complete yet.

	Submitted by:	trasz

- Creation-time properties

- Regression tests for zpool(8) command.

Obtained from:	OpenSolaris
2008-11-17 20:49:29 +00:00
Diomidis Spinellis b71c319dc6 Add a test for the "or more" part of the following POSIX specification.
"A function can be preceded by one or more '!' characters, in which
  case the function shall be applied if the addresses do not select
  the pattern space."
2008-11-11 17:10:24 +00:00
Edward Tomasz Napierala 24878441f6 Make test for write access to the directory being moved a little more
specific.

Approved by:	rwatson (mentor)
2008-11-07 14:46:46 +00:00
Edward Tomasz Napierala 74019bf2bc Improve output when a test fails.
Approved by:	rwatson (mentor)
2008-11-07 14:45:42 +00:00
Edward Tomasz Napierala b92eda309d Change ZFS behaviour to match UFS: when moving (rename(2)) a subdirectory
from one parent directory to another, in addition to the usual access checks
one also needs write access to the subdirectory being moved.

Approved by:    rwatson (mentor), pjd
2008-11-06 19:17:58 +00:00
Doug Rabson a9148abd9d Implement support for RPCSEC_GSS authentication to both the NFS client
and server. This replaces the RPC implementation of the NFS client and
server with the newer RPC implementation originally developed
(actually ported from the userland sunrpc code) to support the NFS
Lock Manager.  I have tested this code extensively and I believe it is
stable and that performance is at least equal to the legacy RPC
implementation.

The NFS code currently contains support for both the new RPC
implementation and the older legacy implementation inherited from the
original NFS codebase. The default is to use the new implementation -
add the NFS_LEGACYRPC option to fall back to the old code. When I
merge this support back to RELENG_7, I will probably change this so
that users have to 'opt in' to get the new code.

To use RPCSEC_GSS on either client or server, you must build a kernel
which includes the KGSSAPI option and the crypto device. On the
userland side, you must build at least a new libc, mountd, mount_nfs
and gssd. You must install new versions of /etc/rc.d/gssd and
/etc/rc.d/nfsd and add 'gssd_enable=YES' to /etc/rc.conf.

As long as gssd is running, you should be able to mount an NFS
filesystem from a server that requires RPCSEC_GSS authentication. The
mount itself can happen without any kerberos credentials but all
access to the filesystem will be denied unless the accessing user has
a valid ticket file in the standard place (/tmp/krb5cc_<uid>). There
is currently no support for situations where the ticket file is in a
different place, such as when the user logged in via SSH and has
delegated credentials from that login. This restriction is also
present in Solaris and Linux. In theory, we could improve this in
future, possibly using Brooks Davis' implementation of variant
symlinks.

Supporting RPCSEC_GSS on a server is nearly as simple. You must create
service creds for the server in the form 'nfs/<fqdn>@<REALM>' and
install them in /etc/krb5.keytab. The standard heimdal utility ktutil
makes this fairly easy. After the service creds have been created, you
can add a '-sec=krb5' option to /etc/exports and restart both mountd
and nfsd.

The only other difference an administrator should notice is that nfsd
doesn't fork to create service threads any more. In normal operation,
there will be two nfsd processes, one in userland waiting for TCP
connections and one in the kernel handling requests. The latter
process will create as many kthreads as required - these should be
visible via 'top -H'. The code has some support for varying the number
of service threads according to load but initially at least, nfsd uses
a fixed number of threads according to the value supplied to its '-n'
option.

Sponsored by:	Isilon Systems
MFC after:	1 month
2008-11-03 10:38:00 +00:00
Sam Leffler 04fc88d50a o unbreak ani stat display
o improve some labels
2008-10-29 20:19:54 +00:00
Sam Leffler 4d49064704 sync w/ driver updates; this also brings in ani stats 2008-10-27 18:50:46 +00:00
Sam Leffler 62ac984385 add regdomain knob 2008-10-27 18:47:48 +00:00
Dag-Erling Smørgrav 75bd5e763f #ifdef out the lock-against-self test. I'm not sure it makes sense, and
it relies on non-portable flock(2) semantics.  Not only is flock(2) not
portable, but on some OSes that do have it, it is implemented in terms
of fcntl(2) locks, which are per-process rather than per-descriptor.
2008-10-20 17:26:30 +00:00
Sam Leffler 8d1f54dbaa add -n option to suppress clearing the build tree and add -DNO_CLEAN
to buildworld and/or buildkernel
2008-10-19 06:58:31 +00:00
Nick Hibma 4fd37ca6b6 Avoid failing if the directory already exists (when restarting at customize).
MFC after:	2 days
2008-10-09 18:06:28 +00:00
Robert Watson a848550a77 Update udpzerobyte to understand that passing 0 as a length to recv(2)
will cause it to return 0, not EAGAIN.

Add UNIX domain socket support to udpzerobyte, which suggests this
regression test should be moved to the general sockets test area rather
than netinet.
2008-10-07 21:01:23 +00:00
Robert Watson dba96bd99f Add IPv6 support to zero-size UDP transmit/receive test. 2008-10-07 14:13:59 +00:00
Robert Watson 8c3bc1af40 Regression test for the loopback handling of zero-length UDP packets, which
should be delivered but without payload.
2008-10-07 10:31:55 +00:00
Robert Watson cb824561e6 Add very simple regression test for fstat(2) on sockets: make sure it
returns success for various socket types.  It's easy to imagine this
being enhanced to validate the returned data, but...
2008-10-06 19:42:03 +00:00
Simon L. B. Nielsen 28b53d8cbd In cust_install_files() we ignore CVS directories. In a similar way now
also ignore .svn directories.
2008-09-23 18:54:56 +00:00
Simon L. B. Nielsen e80b4d45c0 - Change all "echo #..." into using a progress print function to make it
possible to make NanoBSD output more quite or verbose.  The default
  output should remain mostly unchanged. [1]
- Add missing shift for -i.
- Clean up usage() so it's now (mostly) sorted alphabetically.
- Make command line argument handling more consistent in the code and
  remove redundant semicolons.

Reviwed by:	phk [1]
2008-09-23 18:42:35 +00:00
Sam Leffler 0f14671ac3 add missing options 2008-09-23 16:15:42 +00:00
Sam Leffler 0042e3b1da add missing options 2008-09-23 16:11:15 +00:00
Bruce M Simpson 91c0921944 * Add USB boot support.
* Allow the image name to be renamed via NANO_IMGNAME.
* Propagate TARGET_ARCH into src top level make targets
  explicitly to support cross-building.
* Increase the default size of NanoBSD media from 488MB to
  584MB to accomodate a -CURRENT world.

Reviewed by:	phk
2008-09-22 23:56:36 +00:00
Bruce M Simpson 293de964db Mark the first slice of a NanoBSD image 'active' by default.
This fixes USB boot (not yet merged to HEAD) with 3 flavours
of BIOS I've seen.

Approved by:	phk
2008-09-22 20:21:39 +00:00
Sam Leffler 690f477d75 add new build knobs and jigger some existing controls to improve
control over the result of buildworld and installworld; this especially
helps packaging systems such as nanobsd

Reviewed by:	various (posted to arch)
MFC after:	1 month
2008-09-21 22:02:26 +00:00
Simon L. B. Nielsen a93dc3751b Include $NANO_NAME in the completed message. This is nice if you are
building multiple NanoBSD images at once to keep track of what is
running and what isn't.
2008-09-21 18:02:00 +00:00
Sam Leffler ca5ccaea7c eliminate hardwired lists; use the media type to autoconfig 2008-09-21 00:26:13 +00:00
Antoine Brodin c6642c52eb Add files to remove when WITHOUT_HESIOD is set.
This fixes "make check-old" when WITH_HESIOD is set.

PR:		122406
MFC after:	1 month
2008-09-13 17:29:49 +00:00
Maxim Konovalov 4225b7d6fa o Correct a comment: a test file size is a four pages not three. 2008-09-10 09:32:25 +00:00
Simon L. B. Nielsen 068ba60199 Change space -> tab in printed usage output to make it look consistent. 2008-09-07 14:32:03 +00:00
David Schultz 73a3a6581e Regression tests for bugs in gdtoa. 2008-09-03 07:35:14 +00:00
Thomas Quinot 804cbdd577 Fix typo in comment. 2008-09-02 21:27:19 +00:00
Roman Kurakin f4769d1087 Add simple cd to dvd conversion script. 2008-08-31 22:08:39 +00:00
Robert Watson 72cf344f9c Update README to reflect removal of netatm/harp test parts some time ago.
MFC after:	3 days
2008-08-31 11:41:31 +00:00
Jung-uk Kim 4c84e72151 Connect a forgotten test case to Makefile. 2008-08-29 20:58:01 +00:00
Jung-uk Kim 51fc382e51 Do not pass validatation level since all issues are fixed now. 2008-08-29 20:20:30 +00:00
Jung-uk Kim ec07961360 Merge local copy of bpf_validate() with bpf_filter.c. 2008-08-29 20:07:02 +00:00
Pawel Jakub Dawidek ba196edbd2 By default backup geli metadata to a file. It is quite critical 512 bytes,
once it is lost, all data is gone.

Option '-B none' can by used to prevent backup. Option '-B path' can be
used to backup metadata to a different file than the default, which is
/var/backups/<prov>.eli.

The 'geli init' command also prints backup file location and gives short
procedure how to restore metadata.

The 'geli setkey' command now warns that even after passphrase change or keys
update there could be version of the master key encrypted with old
keys/passphrase in the backup file.

Add regression tests to verify that new functionality works as expected.

Update other regression tests so they don't create backup files.

Reviewed by:	keramida, rink
Dedicated to:	a friend who lost 400GB of his live by accidentally overwritting geli metadata
MFC after:	2 weeks
2008-08-29 18:10:18 +00:00
Jung-uk Kim f6cd36de6f Merge bpf_filter.c r182425 and add test cases for jump range checks.
While I am here, fix stupid typos in test0080.h and make it JIT compiler only.
2008-08-29 02:12:45 +00:00
Jung-uk Kim eaa830ed41 Move comments to the right places. 2008-08-28 22:41:31 +00:00
Jung-uk Kim 291e9e2772 Merge bpf_filter.c r182412 and remove additional local checks.
While I am here, use more realistic value for illegal code test case.
2008-08-28 22:19:57 +00:00
Jung-uk Kim dfedc4d796 Fix style consistencies and a comment. 2008-08-28 18:38:55 +00:00
Jung-uk Kim 855aaac7ac Merge bpf_filter.c r182380 and remove additional local checks
for BPF_STX and BPF_LDX|BPF_MEM instructions.
2008-08-28 17:59:16 +00:00
Jung-uk Kim c0e134d668 Add a test case for uninitialized scratch memory (for JIT compiler). 2008-08-28 16:58:30 +00:00
Stefan Farfeleder 8d372294f9 Add a test for r182300. 2008-08-27 20:26:34 +00:00
Jung-uk Kim 218223bb17 Add a test case for null filter. 2008-08-26 21:54:47 +00:00
Jung-uk Kim bf2a220894 Add more test cases for invalid instructions and add comments
about bpf_validate(9) issues.
2008-08-26 19:24:58 +00:00
Jung-uk Kim e3a315fed1 Remove some hacks from regression test since bpf_filter.c builds fine now. 2008-08-26 00:35:04 +00:00
Jung-uk Kim 143a24dad7 Add a trivial bpf filter benchmark. 2008-08-25 23:36:24 +00:00
Jung-uk Kim 71d7a7dd88 Use sys/net/bpf_jitter.c instead of rolling our own version
since it is compilable on user land now.
2008-08-25 22:45:18 +00:00
Jung-uk Kim f7402f1a67 Reflect sys/net/bpf_jitter.h changes to regression test. 2008-08-25 21:33:12 +00:00
Rafal Jaworowski fec1081e54 Increase cryptotest tool initialization vector (IV) size.
This fixes potential out-of-bound accesses when testing ciphers with block size
greater than 8 bytes (e.g. AES).

Submitted by:	Bartlomiej Sieka tur ! semihalf dot com
Discussed with:	pjd, sam
2008-08-21 16:49:57 +00:00
Jung-uk Kim ed97cc0f0c Add test case for 'divide by 0' with BPF_ALU|BPF_DIV|BPF_X instruction. 2008-08-18 23:05:19 +00:00
Jung-uk Kim b82a8cd81c Fix two test cases on 32-bit architectures. 2008-08-18 21:40:03 +00:00
Jung-uk Kim b0729b181a Add simple bpf(9) regression tests and test cases. 2008-08-18 19:01:58 +00:00
Poul-Henning Kamp 5bfcb0b9b4 Accept tty[ud]0 for console device 2008-08-15 08:28:15 +00:00
Antoine Brodin 353d3b1715 Use expr -e instead of expr to compute NANO_MEDIASIZE for Flash devices
larger than 2GB to prevent an overflow [1].
Make case-insensitive comparison work for siliconsystems, soekris and
transcend devices.

PR:		conf/126386 [1]
Submitted by:	Mark A [1]
MFC after:	1 month
2008-08-12 16:59:23 +00:00
Sam Leffler 9265278667 fix syntax 2008-08-09 21:51:57 +00:00
Dag-Erling Smørgrav 2616144e43 Add sbuf_new_auto as a shortcut for the very common case of creating a
completely dynamic sbuf.

Obtained from:	Varnish
MFC after:	2 weeks
2008-08-09 11:14:05 +00:00
Poul-Henning Kamp 1d09f2b98a Add late customize hook
Submitted by: 	Patrick M. Hausen
Sat on for far too long:	phk
2008-08-09 09:37:44 +00:00
Poul-Henning Kamp 36a6be7fc9 Add -i option to supress image building.
Submitted by:	keramida
2008-08-09 09:27:54 +00:00
Poul-Henning Kamp fc0708f69f Track /etc/ttys change to uart(4) 2008-08-09 09:27:06 +00:00
David Schultz b1e24d8714 Test that the result is correctly rounded when |y/x| is huge. 2008-08-02 19:21:33 +00:00
Sam Leffler 9821c14541 use new sysctl to generate a fake radar event 2008-08-02 18:01:58 +00:00
David Schultz 4c7c6686c3 Regression tests for fmtcheck(3).
Obtained from:	NetBSD
2008-08-02 06:03:04 +00:00
Sean Farley 3522c38bbe Detect if the application has cleared the environ variable by setting
the first value (environ[0]) to NULL.  This is in addition to the
current detection of environ being replaced, which includes being set to
NULL.  Without this fix, the environment is not truly wiped, but appears
to be by getenv() until an *env() call is made to alter the enviroment.

This change is necessary to support those applications that use this
method for clearing environ such as Dovecot and Postfix.  Applications
such as Sendmail and the base system's env replace environ (already
detected).  While neither of these methods are defined by SUSv3, it is
best to support them due to historic reasons and in lieu of a clean,
defined method.

Add extra units tests for clearing environ using four different methods:
1. Set environ to NULL pointer.
2. Set environ[0] to NULL pointer.
3. Set environ to calloc()'d NULL-terminated array.
4. Set environ to static NULL-terminated array.

Noticed by:	Timo Sirainen

MFC after:	3 days
2008-08-02 02:34:35 +00:00
Sean Farley 86168e1567 Fix whitespace. 2008-08-02 01:38:03 +00:00
Sam Leffler 243727cca1 unset TARGET_CPUTYPE and TARGET_BIG_ENDIAN when building the kernel
to silence compiler complaints when cross-building

Reviewed by:	phk
MFC after:	2 weeks
2008-07-31 23:04:00 +00:00
David Schultz eb516506c9 Add some tests for acos*(), asin*(), atan*(), and atan2*(). 2008-07-31 22:43:38 +00:00
Stefan Farfeleder 58bbcf95ef Add a regression test for r181017.
Submitted by:	simon
2008-07-30 21:18:52 +00:00
Sean Farley 76c683bef7 style(9) specifies that case statements are not indented. 2008-07-30 03:34:23 +00:00
Robert Watson fc384eb954 Remove extra comment that snuck in in last commit. 2008-07-29 18:38:37 +00:00
Robert Watson 8969dfea49 Add a simple ICMPv6 filter test for IPv6 raw sockets: determine that
the default ICMPv6 filter is pass all, test that we can set it to block
all and restore to pass all.  No attempt is made to test that the
filtering works, just that we can get and set it.
2008-07-29 18:33:56 +00:00
Antoine Brodin a1d73f7b59 Add files to remove when MK_GNU_CPIO = no 2008-07-28 18:00:45 +00:00
George V. Neville-Neil ebcc69dad3 Add a new program to the multicast test suite. The mcgrab program
is used to grab and hold some number of multicast addresses in order
to test what happens when an interface goes over the number of multicast
addresses it can filter in hardware.
2008-07-09 22:33:46 +00:00
David Schultz 8bb8d6397d Add regression tests for fmin{,f,l} and fmax{,f,l}.
I wrote these to test amd64 asm functions that used
maxss, maxsd, minss, and minsd, but it turns out that
those instructions don't handle NaNs and signed zero
in the same way as fmin() and fmax() are required to,
so we're stuck with the C versions for now.
2008-07-03 23:06:06 +00:00
David Schultz b03825c532 Add some regression tests for printf() with positional arguments.
The first test comes from OpenBSD, and the others are additions or
adaptations.

This is based on OpenBSD's
src/regress/lib/libc/sprintf/sprintf_test.c, v1.3.
I deliberately did not use v1.4 because it's bogus.
2008-06-29 21:03:14 +00:00
John Baldwin 6bc1e9cd84 Rework the lifetime management of the kernel implementation of POSIX
semaphores.  Specifically, semaphores are now represented as new file
descriptor type that is set to close on exec.  This removes the need for
all of the manual process reference counting (and fork, exec, and exit
event handlers) as the normal file descriptor operations handle all of
that for us nicely.  It is also suggested as one possible implementation
in the spec and at least one other OS (OS X) uses this approach.

Some bugs that were fixed as a result include:
- References to a named semaphore whose name is removed still work after
  the sem_unlink() operation.  Prior to this patch, if a semaphore's name
  was removed, valid handles from sem_open() would get EINVAL errors from
  sem_getvalue(), sem_post(), etc.  This fixes that.
- Unnamed semaphores created with sem_init() were not cleaned up when a
  process exited or exec'd.  They were only cleaned up if the process
  did an explicit sem_destroy().  This could result in a leak of semaphore
  objects that could never be cleaned up.
- On the other hand, if another process guessed the id (kernel pointer to
  'struct ksem' of an unnamed semaphore (created via sem_init)) and had
  write access to the semaphore based on UID/GID checks, then that other
  process could manipulate the semaphore via sem_destroy(), sem_post(),
  sem_wait(), etc.
- As part of the permission check (UID/GID), the umask of the proces
  creating the semaphore was not honored.  Thus if your umask denied group
  read/write access but the explicit mode in the sem_init() call allowed
  it, the semaphore would be readable/writable by other users in the
  same group, for example.  This includes access via the previous bug.
- If the module refused to unload because there were active semaphores,
  then it might have deregistered one or more of the semaphore system
  calls before it noticed that there was a problem.  I'm not sure if
  this actually happened as the order that modules are discovered by the
  kernel linker depends on how the actual .ko file is linked.  One can
  make the order deterministic by using a single module with a mod_event
  handler that explicitly registers syscalls (and deregisters during
  unload after any checks).  This also fixes a race where even if the
  sem_module unloaded first it would have destroyed locks that the
  syscalls might be trying to access if they are still executing when
  they are unloaded.

  XXX: By the way, deregistering system calls doesn't do any blocking
  to drain any threads from the calls.
- Some minor fixes to errno values on error.  For example, sem_init()
  isn't documented to return ENFILE or EMFILE if we run out of semaphores
  the way that sem_open() can.  Instead, it should return ENOSPC in that
  case.

Other changes:
- Kernel semaphores now use a hash table to manage the namespace of
  named semaphores nearly in a similar fashion to the POSIX shared memory
  object file descriptors.  Kernel semaphores can now also have names
  longer than 14 chars (up to MAXPATHLEN) and can include subdirectories
  in their pathname.
- The UID/GID permission checks for access to a named semaphore are now
  done via vaccess() rather than a home-rolled set of checks.
- Now that kernel semaphores have an associated file object, the various
  MAC checks for POSIX semaphores accept both a file credential and an
  active credential.  There is also a new posixsem_check_stat() since it
  is possible to fstat() a semaphore file descriptor.
- A small set of regression tests (using the ksem API directly) is present
  in src/tools/regression/posixsem.

Reported by:	kris (1)
Tested by:	kris
Reviewed by:	rwatson (lightly)
MFC after:	1 month
2008-06-27 05:39:04 +00:00
John Baldwin 62344da1e6 Fix compile on 64-bit platforms. 2008-06-26 21:26:34 +00:00
Doug Rabson c675522fc4 Re-implement the client side of rpc.lockd in the kernel. This implementation
provides the correct semantics for flock(2) style locks which are used by the
lockf(1) command line tool and the pidfile(3) library. It also implements
recovery from server restarts and ensures that dirty cache blocks are written
to the server before obtaining locks (allowing multiple clients to use file
locking to safely share data).

Sponsored by:	Isilon Systems
PR:		94256
MFC after:	2 weeks
2008-06-26 10:21:54 +00:00
Ruslan Ermilov 042df2e2da Enable GCC stack protection (aka Propolice) for userland:
- It is opt-out for now so as to give it maximum testing, but it may be
  turned opt-in for stable branches depending on the consensus.  You
  can turn it off with WITHOUT_SSP.
- WITHOUT_SSP was previously used to disable the build of GNU libssp.
  It is harmless to steal the knob as SSP symbols have been provided
  by libc for a long time, GNU libssp should not have been much used.
- SSP is disabled in a few corners such as system bootstrap programs
  (sys/boot), process bootstrap code (rtld, csu) and SSP symbols themselves.
- It should be safe to use -fstack-protector-all to build world, however
  libc will be automatically downgraded to -fstack-protector because it
  breaks rtld otherwise.
- This option is unavailable on ia64.

Enable GCC stack protection (aka Propolice) for kernel:
- It is opt-out for now so as to give it maximum testing.
- Do not compile your kernel with -fstack-protector-all, it won't work.

Submitted by:	Jeremie Le Hen <jeremie@le-hen.org>
2008-06-25 21:33:28 +00:00
Robert Watson 1a0046f73b Teach fifo_create regression test to also try to use mknod(2) to create
fifos, as this is required by the Single UNIX Specification, although
not currently implemented on FreeBSD.

While here, fix a bug in the directory timestamp checking test by
sleeping after querying the starting timestamp, rather than before.
2008-06-22 21:03:26 +00:00
David Schultz c0ff67d57f Regression test for a recently fixed strtod bug. 2008-06-21 19:28:26 +00:00
Doug Barton 6973701a00 1. Make the BSD version of cpio the default [1]
a. The BSD version will be built and installed unless
WITHOUT_BSD_CPIO is defined.
b. The GNU version will not be built or installed unless
WITH_GNU_CPIO is defined. If this is defined, the symlink
in /usr/bin will be to the GNU version whether the BSD
version is present or not.

When these changes are MFCed the defaults should be flipped.

2. Add a knob to disable the building of GNU grep. This will
make it easier for those that want to test the BSD version in
the ports.

Approved by:	kientzle [1]
2008-06-16 05:48:15 +00:00
George V. Neville-Neil f734a0edc5 Update mctest and its associated script to have a base port to listen
on so that multiple copies can be run easily.

Update documentation with group and port arguments which are optional.
2008-06-03 20:54:46 +00:00
Robert Watson dfc98f3895 Remove two netatm-specific test parts.
MFC after:	3 weeks
Spotted by:	bz
2008-05-26 22:41:40 +00:00
Bjoern A. Zeeb 2e598474fa Remove ISDN4BSD (I4B) from HEAD as it is not MPSAFE and
parts relied on the now removed NET_NEEDS_GIANT.
Most of I4B has been disconnected from the build
since July 2007 in HEAD/RELENG_7.

This is what was removed:
- configuration in /etc/isdn
- examples
- man pages
- kernel configuration
- sys/i4b (drivers, layers, include files)
- user space tools
- i4b support from ppp
- further documentation

Discussed with: rwatson, re
2008-05-26 10:40:09 +00:00
Andrew Thompson 913dc8c153 Flush stdout after each line to make piping to another command easier. 2008-05-19 17:51:00 +00:00
Roman Divacky e5de992c3f Simple testing program for *at family of syscalls.
Approved by:	kib (mentor)
2008-05-18 08:34:04 +00:00
John Birrell a12be0b9eb Add the DTrace test makefile for the test suite distributed in OpenSolaris. 2008-05-17 02:09:48 +00:00
Stefan Farfeleder bf7c82844c Test the expansion of $LINENO. 2008-05-15 19:58:44 +00:00
Adrian Chadd a47f853e1c Add the ability to do all read, all write, or random read/write. 2008-05-15 16:10:55 +00:00
Adrian Chadd 86067c7714 Include a very basic (and beta) tool for stressing disks using the POSIX
AIO calls.

This small program queues up a controllable number of concurrent AIO
read operations w/ controllable io size against a disk or regular file.
There are a few other things to add (notably optional write support!)
but it works well enough at the present time to stress the AIO code out
relatively harshly in the disk IO case.
2008-05-07 07:23:47 +00:00
Sean Farley 9b9f225119 Enable autoflush of output to always show prompts. If piping the output
prior to this patch, the prompt would not appear due to buffering.

Approved by:	flz
2008-04-30 23:27:02 +00:00
Sam Leffler 51a5da15a7 o add indirect array for field indices as the # stats is > 127 and doesn't
fit in a signed char
o change default output to something more useful for sta mode
o futz w/ various field names and widths; need to do full pass over this stuff
2008-04-30 19:47:31 +00:00
Sam Leffler f25bd2b89a update for new events 2008-04-30 19:45:32 +00:00
Rui Paulo a8f7b90ca0 Add new directories, scripts and wlanwds. Introduced with vap support. 2008-04-29 22:05:26 +00:00
Rui Paulo ecc2f9c567 Add missing 't'.
Approved by:	sam
2008-04-29 22:02:27 +00:00
Jeff Roberson dbad07bf4d - Remove cumbersome and inaccurate attempt at synchronizing the timestamps
post collection.  This is too error prone and introduces uncertainty into
   the timing.  We'll simply have to require synchronized TSCs to run
   schedgraph on MP.

Sponsored by:	Nokia
2008-04-26 05:02:48 +00:00
George V. Neville-Neil 22dd049f7b Updated the test to handle multiple sinks. The sinks cut their
transmissions by the number of them running so that they do not
overwhelm the source.

Added a simple shell script to kick off sinks on multiple hosts as
well as a source on the host where the shell script is run.  The script
also collects the output of all the sinks and the source into files named
for the host on which the tests are run.  A date is appended to each output
file to make it unique per run.
2008-04-24 06:56:45 +00:00
Sean Farley 0b5e889911 Add four utility functions related to struct grp processing modeled in-part
after similar calls related to struct pwd in libutil/pw_util.c:
  - gr_equal()
    Perform a deep comparison of two struct grp's.  It does a thorough, yet
    unoptimized comparison of all the members regardless of order.

  - gr_make()
    Create a string (see group(5)) from a struct grp.

  - gr_dup()
    Duplicate a struct grp.  Returns a value that is a single contiguous
    block of memory.

  - gr_scan()
    Create a struct grp from a string (as produced by gr_make()).

MFC after:	3 weeks
2008-04-23 00:49:13 +00:00
Sean Farley 8cfaf5a9e1 Differentiate in the tests against getenv() between an empty string and a
NULL by having the test program return *NULL* for NULL's (no existing
variable) instead of an empty string (variable with empty value).
2008-04-23 00:45:48 +00:00
Poul-Henning Kamp d789d8859f Add a small script that will examine all files which exist on /cfg and
if they are different in /etc, copy them to /cfg.

Submitted by:	mat
2008-04-21 06:22:27 +00:00
Sam Leffler c8887008c2 test scripts for vaps and other 802.11 features
Supported by:	Hobnob and Marvell
2008-04-20 20:43:42 +00:00
Sam Leffler 6c2ea87d2d add dwds test app
Supported by:	Hobnob
Obtained from:	Atheros (earlier version)
2008-04-20 20:43:13 +00:00
Sam Leffler 525de97e17 update for vaps
Supported by:	Hobnob
2008-04-20 20:41:47 +00:00
David Schultz e058c00c40 Updates for changes in the way printf() handles hex floating point
numbers.
2008-04-12 03:11:56 +00:00
Ceri Davies 366ad76cd7 Correct typo. 2008-04-05 15:51:14 +00:00
David Schultz c79a26333b Add some tests for fma(), fmaf(), and fmal(). 2008-04-03 06:15:58 +00:00
George V. Neville-Neil 6d5a24c513 Add a manual page and a Makefile.
Add code to reflect packets back from the sink so that we can measure
round trip at the source.
2008-04-03 05:26:54 +00:00
David Schultz d6722d7484 Test remainderl() and remquol() as well. 2008-03-30 20:48:33 +00:00
David Schultz 958be17bad Add some minimal tests for csqrtl(). 2008-03-30 20:09:51 +00:00
Ruslan Ermilov dbdb679c6f Remove options MK_LIBKSE and DEFAULT_THREAD_LIB now that we no longer
build libkse.  This should fix WITHOUT_LIBTHR builds as a side effect.
2008-03-29 17:44:40 +00:00
Doug Rabson f794f567e9 Fix the __FreeBSD_version check. 2008-03-26 15:42:22 +00:00
Doug Rabson a94c70d79c Add some regression tests for posix record locks. 2008-03-26 15:39:44 +00:00
Antoine Brodin 94dd320367 Don't remove usr/include/fs/nwfs and usr/include/netncp, as they are always
recreated during installworld (they are in BSD.include.dist).

Reported by:	Pawel Worach
Approved by:	rwatson (mentor)
X-MFC:		with revision 1.13
2008-03-24 14:46:40 +00:00
Sam Leffler 0e3ec582c6 sync w/ p4: minor cleanups to improve msgs 2008-03-22 16:39:30 +00:00
Stefan Farfeleder c20ee5ab6d Add a test case for options.c revision 1.26. 2008-03-22 14:07:49 +00:00
Remko Lodder 17928d1153 Alert properly when we have stale mounts left after interupting
a tinybsd build.  If we do not do this, we can accidentally remove
critical files from directories like /lib (if mounted).

PR:		misc/121763
Submitted by:	Richard Arends < richard at unixguru dot nl >
MFC after:	3 days
2008-03-20 12:56:49 +00:00
Dag-Erling Smørgrav 91ad87edd9 "track" is a script I've used for ages to track the progress of a build.
Unlike whereintheworld, it continuously monitors the log file; it also
produses less verbose output.
2008-03-20 10:15:45 +00:00
George V. Neville-Neil 1b28f4f359 Add the correct license. 2008-03-19 13:57:21 +00:00
George V. Neville-Neil 48ff5f8424 A multicast test. The mctest program acts as both a source and a sink
for multicast packets.  Parameters for the interface, packet size,
number of packets, and interpacket gap may be given on the command line.
The sink records how many packets were missed, and at what time each
packet arrived.
2008-03-19 12:44:23 +00:00
David E. O'Brien 858a959376 Vim function to style(9).
Issue ':call FreeBSD_Style()' while editing a file.

Submitted by:	scf
2008-03-13 18:52:46 +00:00
Antoine Brodin e3ad7f6626 Introduce a new F_DUP2FD command to fcntl(2), for compatibility with
Solaris and AIX.
fcntl(fd, F_DUP2FD, arg) and dup2(fd, arg) are functionnaly equivalent.
Document it.
Add some regression tests (identical to the dup2(2) regression tests).

PR:		120233
Submitted by:	Jukka Ukkonen
Approved by:	rwaston (mentor)
MFC after:	1 month
2008-03-08 22:02:21 +00:00
Antoine Brodin 6fa1978ab6 Add some checks for amd64 target around usr/lib32 libraries, missed in
previous commit.

Approved by:	rwatson (mentor)
X-MFC:		with revision 1.13
2008-03-08 21:57:35 +00:00
Remko Lodder d940a8934c Improve handling of the tinybsd application wrt ports. Ports that
have dependencies or need to install a new user/group, are not
problematic anymore.

PR:		121367
Submitted by:	Richard Arends < richard at unixguru dot nl >
MFC after:	3 days
2008-03-08 15:41:06 +00:00
David Schultz fb3b9b52bc Don't run tests that assume <= 64-bit precision on machines with quad
precision.
2008-03-02 20:49:24 +00:00
Sean Farley 143d18cafc Remove a dereference. It was unintended and a no-op.
Use the correct value of errno.  Although the errno value passed into
printf() follows the *env() call, it is not guaranteed to be the errno
from that call.  When I wrote the regression tester, the environment I
used did pass the errno from the call.  Consolidate the print for the
return code and errno into a function in the process of fixing this.

Approved by:	wes (mentor)
2008-03-01 00:02:12 +00:00
Antoine Brodin b246502fc7 Add files to remove when MK_GCOV, MK_IPX or MK_NCP are defined.
Note: it may be a good idea to deduce obsolete usr/lib32/ files from
obsolete lib/ and usr/lib/ files.

PR:		120492
PR:		121118
PR:		121121
Submitted by:	KAMIYA Satosi, Richard Tector
Approved by:	rwatson (mentor)
MFC after:	1 month
2008-02-29 18:59:28 +00:00
Stefan Farfeleder 7cdc70f201 Add a regression test for cd.c's revision 1.35. 2008-02-24 16:52:02 +00:00
Ruslan Ermilov b7498df286 getopt(3) returns -1, not EOF. 2008-02-19 07:09:19 +00:00
David Schultz a84bcdcea5 Some basic regression tests for {sin,cos,tan}{,f,l}(). 2008-02-18 02:00:16 +00:00
David Schultz 69aa771036 There are 3 tests here, not 2. 2008-02-17 22:45:53 +00:00
Robert Watson b0cfa3c432 Add open_to_operation, a security regression test that opens files with
various open flags and then tests various operations to make sure that
they are properly constrained by open flags.  Various I/O mechansms
are tried, including aio if compiled into the kernel or loaded as a
module.  There's more to be done here but it's a useful start, running
about 220 individual tests.

This is in support of FreeBSD-SA-08:03.sendfile.
2008-02-14 20:57:38 +00:00
Dag-Erling Smørgrav ecd14de7d7 mutex_islocked_np -> mutex_isowned_np 2008-02-06 19:41:05 +00:00
Mike Silbersack fd2e4074d2 This is a regression test to verify the proper behavior of IP ID generation
code.  It will push 200000 packets, then report back what the min and max
periods it saw for different IDs were.
2008-02-06 15:48:43 +00:00
Matteo Riondato f21e8a6793 Add missing includes and correct argument to sysctlbyname
PR:		misc/120274
MFC after:	1 week
2008-02-05 08:07:19 +00:00
Dag-Erling Smørgrav fcd61d9141 After careful consideration (and a brief discussion with attilio@), change
the semantics of pthread_mutex_islocked_np() to return true if and only if
the mutex is held by the current thread.

Obviously, change the regression test to match.

MFC after:	2 weeks
2008-02-04 12:35:23 +00:00
Dag-Erling Smørgrav 8dbd3d1b6b Add a regression test for pthread_mutex_islocked_np().
MFC after:	2 weeks
2008-02-03 22:35:45 +00:00
Robert Watson 9cf15e9671 Add unix_sorflush, a regression test for the following scenario:
- Process (a) is blocked in read on a socket waiting on data.
 - Process (b) is blocked in shutdown() on a socket waiting on (a).
 - Process (c) delivers a signal to (b) interrupting its wait.

When the signal is delivered, the kernel panics as sblock() fails in
sorflush().  Even if it didn't panic, shutdown() would block potentially
indefinitely waiting for recv() to succeeded.  Fixes to follow.

Reported by:	Jos Backus <jos at catnook dot com>
2008-01-30 13:23:34 +00:00
John Baldwin f455512fdd Update the timestamp regexps in syncstamp() and monostamp() for > 99999
traces where there isn't any leading whitespace before the record number
in the ktrdump output.
2008-01-25 19:24:12 +00:00
David E. O'Brien 57087c935c Remove 5.x and 6.x cruft - source upgrades to RELENG_8 from versions prior
to RELENG_7 are not supported.
2008-01-21 18:44:55 +00:00
Christian Brueffer 4114acea11 Remove files conditional on the obsolete MK_FORTRAN knob. They are already
listed in ObsoleteFiles.inc anyway.

Reported by:	David Wolfskill
Approved by:	rwatson (mentor)
MFC after:	3 days
2008-01-18 23:24:10 +00:00
David Schultz 007d5445df expm1(-big) generates an inexact exception but not underflow. 2008-01-18 22:10:57 +00:00
David Schultz e5af135aad Add some regression tests for libm's exponential functions. These
mostly just test corner cases rather than accuracy. Some of the
tests don't pass right now if you compile libm at -O2 due to gcc
constant-folding some things that it shouldn't. I'll fix that
shortly.
2008-01-18 21:46:54 +00:00
Ed Maste 552266167e Eliminate warnings by adding headers. 2008-01-17 18:59:59 +00:00
John Baldwin 8ffbe1559e Add a set of regression tests for the POSIX shm API (shm_open(2) and
shm_unlink(2)).
2008-01-16 15:51:24 +00:00