History log of /freebsd-current/etc/mtree/BSD.tests.dist
Revision Date Author Comments
# 02d98d18 20-May-2024 Dag-Erling Smørgrav <des@FreeBSD.org>

libdiff: Add a test for the truncation issue.

Sponsored by: Klara, Inc.
Reviewed by: allanjude
Differential Revision: https://reviews.freebsd.org/D45218


# 74a4aa9b 27-Mar-2024 Dag-Erling Smørgrav <des@FreeBSD.org>

touch: Add unit tests.

MFC after: 1 week
Reviewed by: bapt
Differential Revision: https://reviews.freebsd.org/D44505


# c051f22b 15-Mar-2024 Baptiste Daroussin <bapt@FreeBSD.org>

mtree: add the directory for the nuageinit tests


# 96da41b6 28-Feb-2024 Dag-Erling Smørgrav <des@FreeBSD.org>

lorder: Add unit tests.

MFC after: 1 week
Sponsored by: Klara, Inc.
Reviewed by: allanjude
Differential Revision: https://reviews.freebsd.org/D44134


# 73974a78 16-Jan-2024 Lin Lee <leelin2602@gmail.com>

hostname(1): Add test cases

Sponsored by: The FreeBSD Foundation
Pull Request: https://github.com/freebsd/freebsd-src/pull/1069


# 2acd158d 23-Jan-2024 Dimitry Andric <dim@FreeBSD.org>

mtree: stop creating old mixer(8) test directories

The tests themselves were added to ObsoleteFiles.inc in commit
f7c4f4964971, but not yet removed from BSD.tests.dist.

PR: 274602
Fixes: f7c4f4964971


# 93f27766 03-Jan-2024 Domagoj Stolfa <domagoj.stolfa@gmail.com>

dtrace: Add the 'oformat' libdtrace option

This option can be used to specify a format to use in DTrace output.
The following formats are supported:
- json
- xml
- html
- none (default DTrace output)

This is implemented using libxo and integrated into libdtrace. Client
code only works with the following API:

- dtrace_oformat_setup(dtrace_hdl_t *) -- to be called when output is starting.
- dtrace_oformat_teardown(dtrace_hdl_t *) -- to be called when output is finished
- dtrace_oformat(dtrace_hdl_t *) -- check if oformat is enabled.
- dtrace_set_outfp(FILE *) -- sets the output file for oformat.
- Ensure that oformat is correctly checked in the drop handler and record
processing callbacks.

This commit also adds tests which check if the generated output is
valid (JSON, XML) and extends the dtrace(1) describing the structured output.

Reviewed by: markj
Discussed with: phil
MFC after: 2 months
Sponsored by: Innovate UK
Differential Revision: https://reviews.freebsd.org/D41745


# b8856bd2 27-Dec-2023 Jose Luis Duran <jlduran@gmail.com>

mtree: Add missing directories to BSD.tests.dist

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/912


# b8e385d3 27-Dec-2023 Jose Luis Duran <jlduran@gmail.com>

mtree: Sort BSD.tests.dist

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/912


# d9c543b6 30-Nov-2023 Kyle Evans <kevans@FreeBSD.org>

rtld: add a test for RTLD_DEEPBIND

This tests that with RTLD_DEEPBIND, symbols are looked up in all of the
object's needed objects before the global object.

PR: 275393
Reviewed by: kib
Sponsored by: NetApp, Inc.
Sponsored by: Klara, Inc.
Differential Revision: https://reviews.freebsd.org/D42843


# 296a5a4d 21-Nov-2023 Kyle Evans <kevans@FreeBSD.org>

lockf: add some tests

Provide basic coverage for the existing options, nothing deeper (e.g.,
pipe closing behavior) is tested in this set.

Reviewed by: allanjude
Feedback from: des
Sponsored by: Klara, Inc.
Differential Revision: https://reviews.freebsd.org/D42714


# 7aa3bf69 23-Nov-2023 John Baldwin <jhb@FreeBSD.org>

etc/mtree: Remove entry for /usr/tests/usr.sbin/mixer

These were removed when the new mixer(3) library was imported, and I
missed updating the mtree file when I added the entries to
ObsoleteFiles.inc.

Fixes: 903873ce1560 Implement and use new mixer(3) library for FreeBSD.


# 55141f2c 16-Nov-2023 Yan-Hao Wang <bses30074@gmail.com>

Add tests for gunion(8)

Reviewed by: mckusick (earlier version)
MFC after: 3 days
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D41645


# c989957f 25-Sep-2023 Wang-Yan-Hao <bses30074@gmail.com>

printenv: Add test for printenv.

Reviewed by: asomers
Differential Revision: https://reviews.freebsd.org/D41468


# 4fbb9c43 07-Sep-2023 Dag-Erling Smørgrav <des@FreeBSD.org>

include: Add tests for N2867.

Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D41735


# fcace290 22-Jun-2023 Jake Freeland <jfree@FreeBSD.org>

syslogd: Add some basic regression tests

Reviewed by: markj
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D41403


# d0b2dbfa 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line sh pattern

Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/


# 8920c5f2 08-Aug-2023 Dmitry Chagin <dchagin@FreeBSD.org>

tests: Add stack grows tests

Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D41320
MFC after: 2 weeks


# b5a3a89c 31-Jul-2023 Martin Matuska <mm@FreeBSD.org>

unzip: swtich to bsdunzip from libarchive

Unzip from FreeBSD has been ported to libarchive.
Change usr.bin/unzip to use bsdunzip from libarchive.

Differential Revision: https://reviews.freebsd.org/D41239
PR: 272845 (exp-run)
MFC after: 1 month


# 215bab79 25-Jul-2023 Shivank Garg <shivank@freebsd.org>

mac_ipacl: new MAC policy module to limit jail/vnet IP configuration

The mac_ipacl policy module enables fine-grained control over IP address
configuration within VNET jails from the base system.
It allows the root user to define rules governing IP addresses for
jails and their interfaces using the sysctl interface.

Requested by: multiple
Sponsored by: Google, Inc. (GSoC 2019)
MFC after: 2 months
Reviewed by: bz, dch (both earlier versions)
Differential Revision: https://reviews.freebsd.org/D20967


# 2597c45a 07-Jul-2023 Li-Wen Hsu <lwhsu@FreeBSD.org>

Complete moving kinst of dtrace tests to common

Update its mtree entry.

Reviewed by: christos, markj
Fixes: 911f0260390e dtrace: move kinst tests to common
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D40901


# b7412da2 15-Jun-2023 Dag-Erling Smørgrav <des@FreeBSD.org>

asa: Add some unit tests.

MFC after: 1 week
Sponsored by: Klara, Inc.
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D40564


# 9f44a47f 11-Jun-2023 Alexander V. Chernikov <melifaro@FreeBSD.org>

ipfw(8): add ioctl/instruction generation tests

Differential Revision: https://reviews.freebsd.org/D40488
MFC after: 2 weeks


# c60be9ea 26-May-2023 Enji Cooper <ngie@FreeBSD.org>

Add simple factor/primes regression tests

This will help ensure that the change following this
one to support OpenSSL 3 is sane.

MFC after: 1 week
Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D40297


# ccb59683 15-May-2023 Kyle Evans <kevans@FreeBSD.org>

arm64: add tests for swp/swpb emulation

One test is suitable to be hooked up to the build, so I've done this
here. The other test lives in tools/regression because failure is a
bit more subjective -- generally, one runs it for some unbounded amount
of time and observe if it eventually exits because two threads acquired
the same mutex.

Reviewed by: imp, mmel
Sponsored by: Stormshield
Sponsored by: Klara, Inc.
Differential Revision: https://reviews.freebsd.org/D39668


# 09aee570 10-May-2023 Dag-Erling Smørgrav <des@FreeBSD.org>

tsort: Add unit tests.

MFC after: 1 week
Sponsored by: Klara, Inc.
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D40043


# 64c2a712 10-Mar-2023 Dag-Erling Smørgrav <des@FreeBSD.org>

tftp: Add tests.

Sponsored by: Klara, Inc.
Reviewed by: asomers
Differential Revision: https://reviews.freebsd.org/D38969


# 0c428864 01-Mar-2023 Kyle Evans <kevans@FreeBSD.org>

sysctl: tests: fix a couple issues

The function that sets test case metadata is actually named ${tc}_head
rather than ${tc}, so add the suffix.

While we're here, hook the tests up to the infrastructure so that they
do get run.

Sponsored by: Klara, Inc.


# dad64f0e 14-Feb-2023 Dag-Erling Smørgrav <des@FreeBSD.org>

wc: Clean up and modernize.

* Drop <err.h>, which is unnecessary since we use libxo.

* As per POSIX, report an error if output fails.

* Fix some type mismatches.

* Use bool instead of int where appropriate.

* Avoid repeatedly checking for a null filename.

* Miscellaneous other tidying.

* Add tests (partly derived from work performed by SHENG-YI HONG <i19780219111@kimo.com>).

Sponsored by: Klara, Inc.
Reviewed by: kevans
Differential Revision: https://reviews.freebsd.org/D38496


# e7ab1336 01-Feb-2023 Mateusz Piotrowski <0mp@FreeBSD.org>

timeout: Move from /usr/bin to /bin

timeout(1) is used by /etc/rc.d/zfskeys. Unfortunately, having
timeout(1) installed in /usr/bin causes problems when /usr is an
encrypted ZFS partition.

Implementing timeout(1) in sh(1) is not trivial. A more elegant solution
is to move timeout(1) to /bin so that it is available to early services
in the boot process.

PR: 265221
Reviewed by: allanjude, des, imp
Approved by: allanjude, des, imp
Reported by: Ivan <r4@sovserv.ru>
Fixes: 33ff39796ffe Add zfskeys rc.d script for auto-loading encryption keys
MFC after: 1 week
Relnotes: yes
Sponsored by: Modirum MDPay
Sponsored by: Klara Inc.
Differential Revision: https://reviews.freebsd.org/D38344


# 69d94f4c 02-Feb-2023 Dag-Erling Smørgrav <des@FreeBSD.org>

Add tarfs, a filesystem backed by tarballs.

Sponsored by: Juniper Networks, Inc.
Sponsored by: Klara, Inc.
Reviewed by: pauamma, imp
Differential Revision: https://reviews.freebsd.org/D37753


# c3ca3fa7 06-Jan-2023 Gleb Smirnoff <glebius@FreeBSD.org>

tests: add test for ipfw fwd localaddr,port

Checks basic forward to local address, also with presence of
a listener that matches original port (see aab8c844b91). Based
on non-ATF test case written by Pavel Polyakov.

Reviewed by: kp, melifaro
Differential revision: https://reviews.freebsd.org/D37960


# 8161b823 01-Jan-2023 Alexander V. Chernikov <melifaro@FreeBSD.org>

testing: add python test examples

Simplify the adoption of python tests by proving some examples,
utilising commonly-used patterns.

Differential Revision: https://reviews.freebsd.org/D37902
Reviewed by: asomers
MFC after: 2 weeks


# 80f03e63 14-Dec-2022 Alexander V. Chernikov <melifaro@FreeBSD.org>

netlink: improve interface handling

* Separate interface creation from interface modification code
* Support setting some interface attributes (ifdescr, mtu, up/down, promisc)
* Improve interaction with the cloners requiring to parse/write custom
interface attributes
* Add bitmask-based way of checking if the attribute is present in the
message
* Don't use multipart RTM_GETLINK replies when searching for the
specific interface names
* Use ENODEV instead of ENOENT in case of failed RTM_GETLINK search
* Add python netlink test helpers
* Add some netlink interface tests

Differential Revision: https://reviews.freebsd.org/D37668


# ac6f924e 30-Oct-2022 Kyle Evans <kevans@FreeBSD.org>

mktemp: add -p/--tmpdir argument

This matches other mktemp implementations, including OpenBSD and GNU.
The -p option can be used to provide a tmpdir prefix for specified
templates. Precedence works out like so:

-t flag:
- $TMPDIR
- -p directory
- /tmp

Implied -t flag (no arguments or only -d flag):
- -p directory
- $TMPDIR
- /tmp

Some tests have been added for mktemp(1) in the process.

Reviewed by: imp (earlier version), wosch
Sponsored by: Klara, Inc.
Differential Revision: https://reviews.freebsd.org/D37121


# 75c3ca1e 22-Aug-2022 Kyle Evans <kevans@FreeBSD.org>

split: add some tests

This should cover all of the basic functionality, as well as the recent
enhancement to use a dynamic buffer size rather than limiting patterns
and lines to MAXBSIZE.

Reviewed by: bapt
Sponsored by: Klara, Inc.
Differential Revision: https://reviews.freebsd.org/D36324


# 19a847e5 29-Sep-2022 Mark Johnston <markj@FreeBSD.org>

kinst: Add a rudimentary regression test case

The test instruments a number of large, frequently called kernel
functions while generating load in the background.

MFC after: 3 months


# 7ccdad90 25-Aug-2022 Dag-Erling Smørgrav <des@FreeBSD.org>

renice: add unit tests.

Sponsored by: Klara, Inc.


# e7437ae9 07-Jul-2022 Mateusz Piotrowski <0mp@FreeBSD.org>

rc: Start testing the rc(8) framework (beginning with *_oomprotect)

This change adds 2 tests to make sure that the *_oomprotect variable
sets the protection against OOM killer properly within rc(8) scripts.

This is also adding the first tests for the rc(8) framework. More tests
will be added as we go.

PR: 256148
Approved by: des
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D35745


# 067acae2 25-Apr-2022 Kristof Provost <kp@FreeBSD.org>

if_ovpn tests: basic test case

Set up an OpenVPN tunnel between two jails, send traffic through them to
confirm basic function.

Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D35067


# 924226fb 26-Jun-2022 Alexander V. Chernikov <melifaro@FreeBSD.org>

testing: move atf-pytest-wrapper to /usr/libexec

Move pytest wrapper to the collection of the other atf wrappers
in libexec. It solves the problem of combining bits & pieces from
bsd.test.mk and bgs.prog.mk to address "test binary, but not the
suite binary".

Reviewed by: kp
Differential Revision: https://reviews.freebsd.org/D35604
MFC after: 2 weeks


# 9a75209d 25-Jun-2022 Alexander V. Chernikov <melifaro@FreeBSD.org>

routing: add tests/sys/net/routing to mtree

MFC after: 2 weeks


# 47bcbde9 17-Apr-2022 Piotr Pawel Stefaniak <pstef@FreeBSD.org>

bintrans: move files to a new directory

And reflect the change in various places.


# 4cd4841a 05-Apr-2022 Piotr Pawel Stefaniak <pstef@FreeBSD.org>

Modularize uuencode and uudecode by wrapping them in bintrans.c

The program will be installed as bintrans, uuencode, uudecode,
b64encode, and b64decode and will be responsible for running the coders
according to their historical behavior.

Additionally, bintrans will be able to take a parameter designating
the coder and accept all its options in this form:
bintrans <coder> [options]
and the behavior should be the same as if
<coder> [options]
was invoked.
This has the advantage that adding coders won't require installing them
as binaries.

Move uudecode files to uuencode since the latter is the one that
provides the manual page.

Reviewed by: delphij (previous version)
Differential Revision: https://reviews.freebsd.org/D32943


# 10aa3670 15-Apr-2022 Mark Johnston <markj@FreeBSD.org>

etc/mtree: Remove tabs


# d0f245d2 15-Apr-2022 Mark Johnston <markj@FreeBSD.org>

libsysdecode: Add regression tests for sysdecode_cap_rights(3)

Reviewed by: jhb, emaste
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D34900


# 1581ec9a 16-Feb-2022 Eric van Gyzen <vangyzen@FreeBSD.org>

Integrate contrib/file/tests with kyua/atf

This could be done better by making each test a separate ATF test case.
This exercise is left for the reader.

Reviewed by: delphij (earlier version)
MFC after: 1 week
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D34303


# 4e712582 31-Jan-2022 Eric van Gyzen <vangyzen@FreeBSD.org>

newfs_msdos: connect the ATF test from NetBSD

NetBSD has an ATF test for newfs_msdos. Connect it to the build.
Adapt it for FreeBSD. This would have caught the bug fixed by my
previous commit.

Reviewed by: delphij, emaste
MFC after: 1 week
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D34116


# 517e52b6 04-Nov-2021 Warner Losh <imp@FreeBSD.org>

awk: Move to using two sets of tests

Upstream one-true-awk has two sets of tests. These are in addition to
NetBSD's tests we're using. The 'bugs-fixed' tests from upstream are
ready to use as-is (more or less). However, the 'tests' from upstream
are not, so for now we'll just use the netbsd and bugs-fixed tests.
They provide an OK workout and are better than nothing, though the tests
themselves are for specific esoteric things.

The upstream bugs-fixed tests are *ALMOST* a drop in. However, 3 test
for errors and the upstream test jig mashes stdout and stderr together,
which atf doesn't do, so make a tiny tweak to the upstream tests that I
hope to upstream. Plus upstream has ../a.out: instead of awk: in the
output. Not sure how to deal with this yet, so I've not proposed
anything upstream and have changed the test locally.

In addition, the system-status.awk test is not suitable to run in ATF.
It wants to force sh to dump core, but kyua doesn't seem to allow that
sometimes so the test will fail or pass based on whether or not a core
dump can be created. Since it's unstable, remove it.

This required moving the netbsd tests to a new direcotry, so update
mtree files as well. The change is useless for 'make check' without it.

Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D31376


# f8e50dd2 21-Aug-2021 Piotr Pawel Stefaniak <pstef@FreeBSD.org>

Register /usr/tests/usr.bin/diff3

I wasn't able to make check to run diff3 tests, but kevans figured out
that I was missing diff3 in mtree.


# a8540490 18-Aug-2021 Cyril Zhang <cyril@freebsdfoundation.org>

vmm: Add credential to cdev object

Add a credential to the cdev object in sysctl_vmm_create(), then check
that we have the correct credentials in sysctl_vmm_destroy(). This
prevents a process in one jail from opening or destroying the /dev/vmm
file corresponding to a VM in a sibling jail.

Add regression tests.

Reviewed by: jhb, markj
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D31156


# cb194afe 25-Jun-2021 Li-Wen Hsu <lwhsu@FreeBSD.org>

sbin/md5: Create /usr/tests/sbin/md5 directory for placing tests

Sponsored by: The FreeBSD Foundation


# 186ba88a 13-May-2021 Mark Johnston <markj@FreeBSD.org>

sort: Hook NetBSD tests up to the build

MFC after: 1 week
Sponsored by: The FreeBSD Foundation


# 3b57d80c 17-Mar-2021 Alan Somers <asomers@FreeBSD.org>

daemon: add some basic tests

MFC after: 2 weeks
Sponsored by: Axcient
Differential Revision: https://reviews.freebsd.org/D29316


# 066a8c69 21-Dec-2020 Emmanuel Vadot <manu@freebsd.org>

pkgbase: Install atf and kyua in the tests package

While here make sure that all tests dirs are taggued correctly.

Reviewed by: bapt, emaste
Differential Revision: https://reviews.freebsd.org/D27714


# a70c318d 08-Dec-2020 Nick Hibma <n_hibma@FreeBSD.org>

Missed adding netgraph to mtree in r368443:

New Netgraph module ng_macfilter:

Macfilter to route packets through different hooks based on sender MAC address.

Based on ng_macfilter written by Pekka Nikander

Sponsered by Retina b.v.

Reviewed by: afedorov
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D27268


# fa004e43 08-Dec-2020 Nick Hibma <n_hibma@FreeBSD.org>

Fix indenting for netmap.


# 3cde9171 25-Nov-2020 Alan Somers <asomers@FreeBSD.org>

Merge ping6 to ping

There is now a single ping binary, which chooses to use ICMP or ICMPv4
based on the -4 and -6 options, and the format of the address.

Submitted by: Ján Sučan <sucanjan@gmail.com>
Sponsored by: Google LLC (Google Summer of Code 2019)
MFC after: Never
Differential Revision: https://reviews.freebsd.org/D21377


# 5028ea32 22-Sep-2020 Kyle Evans <kevans@FreeBSD.org>

cp: add some basic tests

There are some tests available in the NetBSD test suite, but we don't
currently pass all of those; further investigation will go into that. For
now, just add a basic test as well as a test that copies from /dev/null to a
file.

The /dev/null test confirms that the file gets created if it's empty, then
that it truncates the file if it's non-empty. This matches some usage that
was previously employed in the build and was replaced in r366042 by a
simpler shell construct.

I will also plan on coming back to expand these in due time.

MFC after: 1 week


# f022d2cd 03-Aug-2020 Stefan Eßer <se@FreeBSD.org>

Connect the tests provided with the new bc and dc

The tests compare the command output (including of error cases) with the
expected output and exit code.

Not all tests are executed, since some expect to have a known good bc and
dc binary installed and compare results of large amounts of generated data
being processed by both versions to test for regressions.


# 3b01bf88 22-Jul-2020 Tom Jones <thj@FreeBSD.org>

Add tests for "add", "change" and "delete" functionality of /sbin/route.

Add tests to cover "add", "change" and "delete" functionality of /sbin/route
for ipv4 and ipv6. These tests for the existing route tool are the first step
towards creating libroute.

Submitted by: Ahsan Barkati
Sponsored by: Google, Inc. (GSoC 2020)
Reviewed by: kp, thj
Approved by: bz (mentor)
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D25220


# 0e3e53d7 07-Apr-2020 David Bright <dab@FreeBSD.org>

Add a basic test for nvmecontrol

I recently made some bug fixes in nvmecontrol. It occurred to me that
since nvmecontrol lacks any kyua tests, I should convert the informal
testing I did into a more formal automated test. The test in this
change should be considered just a starting point; it is neither
complete nor thorough. While converting the test to ATF/kyua, I
discovered a small bug in nvmecontrol; the nvmecontrol devlist command
would always exit with an unsuccessful status. So I included the fix
for that, too, so that the test won't fail.

Reviewed by: imp@
MFC after: 3 days
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D24269


# 67f72211 05-Dec-2019 Alan Somers <asomers@FreeBSD.org>

gmultipath: add ATF tests

Add ATF tests for most gmultipath operations. Add some dtrace probes too,
primarily for configuration changes that happen in response to provider
errors.

PR: 178473
MFC after: 2 weeks
Sponsored by: Axcient
Differential Revision: https://reviews.freebsd.org/D22235


# 470182bb 17-Nov-2019 Conrad Meyer <cem@FreeBSD.org>

Link in NetBSD's unifdef(1) tests

Skip one, is it currently fails.


# 43e9023f 26-Oct-2019 Conrad Meyer <cem@FreeBSD.org>

libexecinfo: Integrate NetBSD test into FreeBSD


# f74e6e49 21-Oct-2019 Bjoern A. Zeeb <bz@FreeBSD.org>

frag6: import a set of test cases

In order to ensure that changing the frag6 code does not change behaviour
or break code a set of test cases were implemented.

Like some other test cases these use Scapy to generate packets and possibly
wait for expected answers. In most cases we do check the global and
per interface (netstat) statistics output using the libxo output and grep
to validate fields and numbers. This is a bit hackish but we currently have
no better way to match a selected number of stats only (we have to ignore
some of the ND6 variables; otherwise we could use the entire list).

Test cases include atomic fragments, single fragments, multi-fragments,
and try to cover most error cases in the code currently.
In addition vnet teardown is tested to not panic.

A separate set (not in-tree currently) of probes were used in order to
make sure that the test cases actually test what they should.

The "sniffer" code was copied and adjusted from the netpfil version
as we sometimes will not get packets or have longer timeouts to deal with.

Sponsored by: Netflix


# cd38a86c 12-Sep-2019 Michael Zhilin <mizhka@FreeBSD.org>

[jail] removal by jid doesn't trigger pre/post stop scripts

This commit fixes bug: command "jail -r" didn't trigger pre/post stop
commands (and others) defined in config file if jid is specified insted of
name. Also it adds basic tests for usr.sbin/jail to avoid regression.

Reviewed by: jamie, kevans, ray
MFC after: 5 days
Differential Revision: https://reviews.freebsd.org/D21328


# 42249ef2 10-Sep-2019 Yuri Pankov <yuripv@FreeBSD.org>

locale: handle day, abday, mon, abmon, am_pm keywords

All of these are defined as mandatory by POSIX.

While here, mark all non-standard ones as FreeBSD-only as
other systems (at least, GNU/Linux and illumos) do not handle
them, so we should not encourage their use.

PR: 237752
Reviewed by: bapt
Differential Revision: https://reviews.freebsd.org/D21490


# b2752497 04-Sep-2019 Kyle Evans <kevans@FreeBSD.org>

patch(1): add some basic tests

Summary:
- basic: test application of patches created by diff -u at the
beginning/middle/end of file, which have differing amounts of context
before and after chunks being added
- limited_ctx: stems from PR 74127 in which a rogue line was getting added
when the patch should have been rejected. Similar behavior was
reproducible with larger contexts near the beginning/end of a file. See
r326084 for details
- file_creation: patch sourced from /dev/null should create the file
- file_nodupe: said patch sourced from /dev/null shouldn't dupe the contents
when re-applied (personal vendetta, WIP, see comment)
- file_removal: this follows from nodupe; the reverse of a patch sourced
from /dev/null is most naturally deleting the file, as is expected based
on GNU patch behavior (WIP)


# 3eeebb94 25-Aug-2019 Hiroki Sato <hrs@FreeBSD.org>

Fix build (r351481).


# babc4e81 25-Aug-2019 Mateusz Piotrowski <0mp@FreeBSD.org>

mixer(8): Report an error if the passed value is an empty string

This patch fixes a bug that made the mixer command enter
an infinite loop when instructed to set the value of a device
to an empty string (e.g., `mixer vol ""`).

Additionally, some tests for mixer(8) are being added.

PR: 240039
Reviewed by: hselasky, mav
Approved by: src (hselasky, mav)
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D21409


# 8e0f76c8 22-Aug-2019 Alan Somers <asomers@FreeBSD.org>

ping6: add a basic functional test

Submitted by: Ján Sučan <sucanjan@gmail.com>
MFC after: 2 weeks
Sponsored by: Google, inc. (Google Summer of Code 2019)
Differential Revision: https://reviews.freebsd.org/D21292


# c43633c6 20-Aug-2019 Alan Somers <asomers@FreeBSD.org>

ping: Add tests of the Internet checksum function

Submitted by: Ján Sučan <sucanjan@gmail.com>
MFC after: 2 weeks
Sponsored by: Google LLC (Google Summer of Code 2019)
Differential Revision: https://reviews.freebsd.org/D21340


# f97a8a36 05-Aug-2019 Tom Jones <thj@FreeBSD.org>

Add common firewall test suite

Add a common test suite for the firewalls included in the base system. The test
suite allows common test infrastructure to test pf, ipfw and ipf firewalls from
test files containing the setup for all three firewalls.

Add the pass block test for pf, ipfw and ipf. The pass block test checks the
allow/deny functionality of the firewalls tested.

Submitted by: Ahsan Barkati
Sponsored by: Google, Inc. (GSoC 2019)
Reviewed by: kp
Approved by: bz (co-mentor)
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D21065


# 403c0413 17-Jun-2019 Conrad Meyer <cem@FreeBSD.org>

random(4): Add regression tests for uint128 implementation, Chacha CTR

Add some basic regression tests to verify behavior of both uint128
implementations at typical boundary conditions, to run on all architectures.

Test uint128 increment behavior of Chacha in keystream mode, as used by
'kern.random.use_chacha20_cipher=1' (r344913) to verify assumptions at edge
cases. These assumptions are critical to the safety of using Chacha as a
PRF in Fortuna (as implemented).

(Chacha's use in arc4random is safe regardless of these tests, as it is
limited to far less than 4 billion blocks of output in that API.)

Reviewed by: markm
Approved by: secteam(gordon)
Differential Revision: https://reviews.freebsd.org/D20392


# 75ed05ef 05-Jun-2019 Mariusz Zaborski <oshogbo@FreeBSD.org>

DTrace: create an amd64 test suit

Create two tests checking if we can read urgs registers and if the
rax register returns a correct number.

Reviewed by: markj
Discussed with: lwhsu
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D20364


# f0e2814d 21-May-2019 Mark Johnston <markj@FreeBSD.org>

Hook up the existing i386 DTrace tests to the build.

Now that it's relatively easy to do so, we might as well.

MFC after: 1 week
Event: Waterloo Hackathon 2019


# cddbc3b4 22-Apr-2019 Kyle Evans <kevans@FreeBSD.org>

libbe(3): Add a test for be creation

Submitted by: Rob Fairbanks <rob.fx907 gmail com>
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D18564


# 9821f1d3 20-Mar-2019 Alan Somers <asomers@FreeBSD.org>

fusefs: adapt the tests to the fuse => fusefs rename

Sponsored by: The FreeBSD Foundation


# 9bfc4020 11-Mar-2019 Enji Cooper <ngie@FreeBSD.org>

Compile and install most of the googletest examples

sample9_unittest is not compiled/installed, because it intentionally fails
and would result in red test runs until broken to always pass.


# 44154e68 01-Mar-2019 Alan Somers <asomers@FreeBSD.org>

Begin a fuse(4) test suite

It only tests the kernel portion of fuse, not the userspace portion (which
comes from sysutils/fusefs-libs). The kernel-userspace interface is
de-facto standardized, and this test suite seeks to validate FreeBSD's
implementation.

It uses GoogleMock to substitute for a userspace daemon and validate the
kernel's behavior in response to filesystem access. GoogleMock is
convenient because it can validate the order, number, and arguments of each
operation, and return canned responses.

But that also means that the test suite must use GoogleTest, since
GoogleMock is incompatible with atf-c++ and atf.test.mk does not allow C++
programs to use atf-c.

This commit adds the first 10 test cases out of an estimated 130 total.

PR: 235775, 235773
Sponsored by: The FreeBSD Foundation


# 1ed7b003 19-Feb-2019 Enji Cooper <ngie@FreeBSD.org>

Add entries in BSD.tests.dist for the googletest test dirs


# 2a8682a8 31-Dec-2018 Vincenzo Maffione <vmaffione@FreeBSD.org>

netmap: add suite of unit tests

Import the unit tests from upstream (https://github.com/luigirizzo/netmap
ba02539859d46d33), and make them ready for use with Kyua.
There are currently 38 regression tests, which test the kernel control ABI
exposed by netmap to userspace applications:

1: test for port info get
2-5: tests for basic port registration
6-9: tests for VALE
10-11: tests for getting netmap allocator info
12-15: tests for netmap pipes
16: test on polling mode
17-18: tests on options
19-27: tests for sync-kloop subsystem
28-39: tests for null ports
31-38: tests for the legacy NIOCREGIF registers

Reviewed by: ngie
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D18490


# 9c1535e9 18-Nov-2018 Kyle Evans <kevans@FreeBSD.org>

bectl(8): Add some regression tests

These tests operate on a file-backed zpool that gets created in the kyua
temp dir. root and ZFS support are both required for these tests. Current
tests cover create, destroy, export/import, jail, list (kind of), mount,
rename, and jail.

List tests should later be extended to cover formatting and the different
list flags, but for now only covers basic "are create/destroy actually
reflected properly"

MFC after: 3 days


# 6ec0ee84 30-Oct-2018 Andrew Turner <andrew@FreeBSD.org>

Run the csu tests on a DSO. This builds the tests into a shared library,
then runs these from the base test programs. With this we can check
crtbeginS.o and crtendS.o are working as expected.

MFC with: r339738
Sponsored by: DARPA, AFRL


# 5f2c3882 29-Oct-2018 Andrew Turner <andrew@FreeBSD.org>

Include the csu test directories in BSD.tests.dist

MFC with: r339738
Sponsored by: DARPA, AFRL


# 19b4f0dc 12-Sep-2018 Ed Maste <emaste@FreeBSD.org>

Fix unlink(1) for files starting with -

Restore the original behavior of unlink(1), passing the provided filename
directly to unlink(2), handling the first argument being "--" correctly.

This fixes "unlink -foo", broken in r97533.

PR: 228448
Submitted by: Brennan Vincent <brennan@umanwizard.com> (original version)
Submitted by: Yuri Pankov
Reported by: Brennan Vincent <brennan@umanwizard.com>
Reviewed by: emaste, kevans, vangyzen, 0mp
Approved by: re (delphij)
Differential Revision: https://reviews.freebsd.org/D17132


# 450e5a43 15-Aug-2018 Will Andrews <will@FreeBSD.org>

zfs: add ztest to the kyua test suite.

This program is currently failing, and has been for >6 months on HEAD.
Ideally, this should be run 24x7 in CI, to discover hard-to-find bugs that
only manifest with concurrent i/o.

Requested by: lwhsu, mmacy


# 3468bf40 25-Jul-2018 Alan Somers <asomers@FreeBSD.org>

Introduce test program for auditpipe(4)

Submitted by: aniketp
MFC after: 2 weeks
Sponsored by: Google, Inc. (GSoC 2018)
Differential Revision: https://reviews.freebsd.org/D16395


# f1ed5c00 17-Jun-2018 Alan Somers <asomers@FreeBSD.org>

praudit(1): add tests

Submitted by: aniketp
MFC after: 2 weeks
X-MFC-With: 335287
Sponsored by: Google, Inc. (GSoC 2018)
Differential Revision: https://reviews.freebsd.org/D15751


# f7f4e0f7 29-May-2018 Alan Somers <asomers@FreeBSD.org>

Add initial set of tests for audit(4)

This change includes the framework for testing the auditability of various
syscalls, and includes changes for the first 12. The tests will start
auditd(8) if needed, though they'll be much faster if it's already running.
The syscalls tested in this commit include mkdir(2), mkdirat(2), mknod(2),
mknodat(2), mkfifo(2), mkfifoat(2), link(2), linkat(2), symlink(2),
symlinkat(2), rename(2), and renameat(2).

Submitted by: aniketp
MFC after: 2 weeks
Sponsored by: Google, Inc (GSoC 2018)
Differential Revision: https://reviews.freebsd.org/D15286


# 8ce99bb4 17-Apr-2018 John Baldwin <jhb@FreeBSD.org>

Properly do a deep copy of the ioctls capability array for fget_cap().

fget_cap() tries to do a cheaper snapshot of a file descriptor without
holding the file descriptor lock. This snapshot does not do a deep
copy of the ioctls capability array, but instead uses a different
return value to inform the caller to retry the copy with the lock
held. However, filecaps_copy() was returning 1 to indicate that a
retry was required, and fget_cap() was checking for 0 (actually
'!filecaps_copy()'). As a result, fget_cap() did not do a deep copy
of the ioctls array and just reused the original pointer. This cause
multiple file descriptor entries to think they owned the same pointer
and eventually resulted in duplicate frees.

The only code path that I'm aware of that triggers this is to create a
listen socket that has a restricted list of ioctls and then call
accept() which calls fget_cap() with a valid filecaps structure from
getsock_cap().

To fix, change the return value of filecaps_copy() to return true if
it succeeds in copying the caps and false if it fails because the lock
is required. I find this more intuitive than fixing the caller in
this case. While here, change the return type from 'int' to 'bool'.

Finally, make filecaps_copy() more robust in the failure case by not
copying any of the source filecaps structure over. This avoids the
possibility of leaking a pointer into a structure if a similar future
caller doesn't properly handle the return value from filecaps_copy()
at the expense of one more branch.

I also added a test case that panics before this change and now passes.

Reviewed by: kib
Discussed with: mjg (not a fan of the extra branch)
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D15047


# 98c5f988 06-Apr-2018 Kristof Provost <kp@FreeBSD.org>

pf tests: Basic ioctl validation tests

Validate the DIOCRADDTABLES and DIOCRDELTABLES ioctls with invalid size
values. All of these requests should fail.

MFC after: 1 week


# c60fdff7 09-Mar-2018 Alan Somers <asomers@FreeBSD.org>

Commit missing file from r330696

MFC after: 3 weeks
X-MFC-With: 330696


# 3eae2a2e 27-Feb-2018 Kyle Evans <kevans@FreeBSD.org>

Add 'usr.bin/seq' to tests mtree after r330086


# 4b40bdbd 23-Feb-2018 Alan Somers <asomers@FreeBSD.org>

Add tests for lagg(4) and other cloned network interfaces

Unfortunately, most of the tests are disabled because they fairly frequently
trigger panics.

MFC after: 3 weeks
Sponsored by: Spectra Logic Corp


# 2fae26bd 23-Feb-2018 Alan Somers <asomers@FreeBSD.org>

Add the ZFS test suite

It was originally written by Sun as part of the STF (Solaris test framework).
They open sourced it in OpenSolaris, then HighCloud partially ported it to
FreeBSD, and Spectra Logic finished the port. We also added many testcases,
fixed many broken ones, and converted them all to the ATF framework. We've had
help along the way from avg, araujo, smh, and brd.

By default most of the tests are disabled. Set the disks Kyua variable to
enable them.

Submitted by: asomers, will, justing, ken, brd, avg, araujo, smh
Sponsored by: Spectra Logic Corp, HighCloud


# ea9c2614 14-Feb-2018 Alan Somers <asomers@FreeBSD.org>

Add mtree entry for 329275

MFC after: 3 weeks
X-MFC-With: 329275
Sponsored by: Spectra Logic Corp


# b37f6c98 21-Jan-2018 Kyle Evans <kevans@FreeBSD.org>

Add libregex, connect it to the build

libregex is a regex(3) implementation intended to feature GNU extensions and
any other non-POSIX compliant extensions that are deemed worthy.

These extensions are separated out into a separate library for the sake of
not cluttering up libc further with them as well as not deteriorating the
speed (or lack thereof) of the libc implementation.

libregex is implemented as a build of the libc implementation with LIBREGEX
defined to distinguish this from a libc build. The reasons for
implementation like this are two-fold:

1.) Maintenance- This reduces the overhead induced by adding yet another
regex implementation to base.

2.) Ease of use- Flipping on GNU extensions will be as simple as linking
against libregex, and POSIX-compliant compilations can be guaranteed with a
REG_POSIX cflag that should be ignored by libc/regex and disables extensions
in libregex. It is also easier to keep REG_POSIX sane and POSIX pure when
implemented in this fashion.

Tests are added for future functionality, but left disconnected for the time
being while other testing is done.

Reviewed by: cem (previous version)
Differential Revision: https://reviews.freebsd.org/D12934


# 12cea332 11-Jan-2018 Kyle Evans <kevans@FreeBSD.org>

vmstat(8): Hook up NetBSD tests

The NetBSD tests for vmstat are basically just a smoke test, ensuring that
executing `vmstat` and `vmstat -s` exit successfully. This is more than we
test now, so go with it.


# de45c289 10-Jan-2018 Kyle Evans <kevans@FreeBSD.org>

awk(1): Add necessary bits for connecting tests, but leave disconnected

The NetBSD test suite has 24 tests for awk, and we pass exactly 4 of them.
Add the necessary pieces for interested parties to easily connect the
tests and run them, but leave them disconnected for the time being.

Some of these tests outright segfault in our awk, others just exhibit the
wrong behavior.


# 9d75d6c9 31-Dec-2017 Jilles Tjoelker <jilles@FreeBSD.org>

find: Link tests to the build


# fbc88a6f 05-Dec-2017 Eitan Adler <eadler@FreeBSD.org>

sponge(1): revert

I did a complete buildworld and test... with the program disconnected
from the tree. Revert the change for now.

(this keeps the change to .arclint which is still correct)

Wearing: my pointhat


# 8d4a7aab 04-Dec-2017 Eitan Adler <eadler@FreeBSD.org>

sponge(1): fix my tests

Reviewed by: kevans


# 95639a80 04-Dec-2017 Alan Somers <asomers@FreeBSD.org>

dc(1): fix input of non-decimal fractional numbers

Inputting fractional non-decimal numbers has never worked correctly in our
OpenBSD-derived dc(1). It truncates the input to a number of decimal places
equal to the number of hexadecimal (or whatever base) places given on the
input. That's unacceptable, because many numbers require more precision to
represent in base 10 than in their original bases.

Fix this bug by using as many decimal places as needed to represent the
input, up to the maximum of the global scale factor.

This has one mildly surprising side effect: the scale of a number entered in
non-decimal mode will no longer necessarily equal the number of hexadecimal
(or whatever base) places given on the input. I think that's an acceptable
behavior change, given that inputting fractional non-decimal numbers never
worked in the first place, and the man page doesn't specify whether trailing
zeros on the input should affect a number's scale.

PR: 206230
Reported by: nibbana@gmx.us
Reviewed by: pfg
Differential Revision: https://reviews.freebsd.org/D13336


# 04006780 03-Dec-2017 Mark Johnston <markj@FreeBSD.org>

Complete support for dtrace's -x setenv option.

This allows one to override the environment for processes created with
dtrace -c. By default, the environment is inherited.

This support was originally merged from illumos in r249367 but was lost
when the commit was later reverted and then brought back piecemeal.

Reported by: Samuel Lepetit <slepetit@apple.com>
MFC after: 2 weeks


# 4fbebc74 03-Dec-2017 Kristof Provost <kp@FreeBSD.org>

Add IPSec tests in tunnel mode

Some IPSec in tunnel mode allowing to test multiple IPSec
configurations. These tests are reusing the jail/vnet scripts from pf
tests for generating complex network.

Submitted by: olivier@
Differential Revision: https://reviews.freebsd.org/D13017


# 013953eb 27-Nov-2017 Alan Somers <asomers@FreeBSD.org>

Add basic tests for ctfconvert(1), fold(1) and rs(1)

Add basic command line parsing test coverage for these utilities. The tests
were automatically generated based on their man pages. These tests can be
expanded by hand for more thorough coverage. The aim is to generate very
basic amount of test coverage for all the utilities in the base system.

Tests generated via: https://github.com/shivansh/smoketestsuite/

Submitted by: shivansh
Reviewed by: asomers
MFC after: 3 weeks
Differential Revision: https://reviews.freebsd.org/D12424


# 396c556d 20-Nov-2017 Alan Somers <asomers@FreeBSD.org>

Add ATF tests for head(1)

Submitted by: Fred Schlecter <https://github.com/fjs-github>
Reviewed by: asomers, jilles
MFC after: 3 weeks
Differential Revision: https://github.com/freebsd/freebsd/pull/127


# 939d033c 31-Oct-2017 Bryan Drewery <bdrewery@FreeBSD.org>

Disconnect libpathconv tests since they require external perl and do not work with kyua.

This reverts r325192 and is due to libpathconv being connected in r325186.

Reported by: ngie
Sponsored by: Dell EMC Isilon


# 5e1d4ad0 30-Oct-2017 Enji Cooper <ngie@FreeBSD.org>

Start adding in simple wrapper around lgov/genhtml called gather_coverage

It will be installed to /usr/tests/tools for the time being

Based loosely on make snippet seen in
https://github.com/yaneurabeya/scratch/blob/master/demos/freebsd/runtime-coverage/Makefile .
The real difference is that one needs to run a binary with coverage compiled
in before running this script, so it can hoover up the .gcda's.


# ae160963 30-Oct-2017 Bryan Drewery <bdrewery@FreeBSD.org>

Fix installworld/distrib-dirs for pathconv after r325186.

Sponsored by: Dell EMC Isilon


# 1d6f5f21 06-Oct-2017 Kristof Provost <kp@FreeBSD.org>

pf: Basic automated test using VIMAGE

If VIMAGE is present we can start jails with their own pf instance. This
makes it fairly easy to run tests.
For example, this basic test verifies that drop/pass and icmp
classification works. It's a basic sanity test for pf, and hopefully an
example on how to write more pf tests.

The tests are skipped if VIMAGE is not enabled.

This work is inspired by the GSoC work of Panagiotes Mousikides.

Differential Revision: https://reviews.freebsd.org/D12580


# e415aa28 06-Oct-2017 Jeremie Le Hen <jlh@FreeBSD.org>

Remove rcmds.

If they are still needed, you can find them in the net/bsdrcmds port.

This was proposed June, 20th and approved by various committers [1].
They have been marked as deprecated on CURRENT in r320644 [2] on July, 4th.
Both stable/11 and release/11.1 contain the deprecation notice (thanks to
allanjude@).

Note that ruptime(1)/rwho(1)/rwhod(8) were initially thought to be part of
rcmds but this was a mistake and those are therefore NOT removed.

[1] https://lists.freebsd.org/pipermail/freebsd-arch/2017-June/018239.html
[2] https://svnweb.freebsd.org/base?view=revision&revision=320644

Reviewed by: bapt, brooks
Differential Revision: https://reviews.freebsd.org/D12573


# 014404db 07-Sep-2017 Alan Somers <asomers@FreeBSD.org>

Add basic tests for chflags, mkdir, rcp, and rmdir

Add basic command line parsing test coverage for these utilities. The tests
were automatically generated based on their man pages. These tests can be
expanded by hand for more thorough coverage. The aim is to generate very
basic amount of test coverage for all the utilities in the base system.

Submitted by: shivansh
Reviewed by: asomers, brooks
MFC after: 3 weeks
Sponsored by: Google, Inc (GSoC 2017)
Differential Revision: https://reviews.freebsd.org/D12036


# 2cc32af0 12-Aug-2017 Jilles Tjoelker <jilles@FreeBSD.org>

sh: Add tests for sh -c that already pass.

PR: 220587
Submitted by: Ryan Moeller


# 4d7709dd 15-Jul-2017 Kristof Provost <kp@FreeBSD.org>

pfctl parser tests

Copy the most important test cases from OpenBSD's corresponding
src/regress/sbin/pfctl, those that run pfctl on a test input file and check
correctness of its output. We have also added some new tests using the same
format.

The tests consist of a collection of input files (pf*.in) and
corresponding output files (pf*.ok). We run pfctl -nv on the input
files and check that the output matches the output files. If any
discrepancy is discovered during future development in the source
tree, we know that a regression bug has been introduced into the tree.

Submitted by: paggas
Sponsored by: Google, Inc (GSoC 2017)
Differential Revision: https://reviews.freebsd.org/D11322


# b5ddde39 12-Jul-2017 Kyle Evans <kevans@FreeBSD.org>

Add some basic tests for hexdump(1)'s various output flags. Formatting
tests are omitted for this initial run as there are still some bugs to work
out there.

This covers -s flag testing on devices and non-devices that would have
caught breakage found in PR 219173 as well as other subtle breakage caused
locally.

Reviewed by: cem, ngie
Approved by: cem (acting co-mentor)
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D11279


# f37852c1 05-Jul-2017 Enji Cooper <ngie@FreeBSD.org>

Add tests to help verify Links functionality for .../contrib/tzdata/backwards

MFC after: 1 month
MFC with: r320702


# de1abb97 28-Jun-2017 Enji Cooper <ngie@FreeBSD.org>

Commit the corresponding mtree file change for the TAP test examples

MFC after: 1 month
MFC with: r320443


# 74c9a591 12-Jun-2017 Enji Cooper <ngie@FreeBSD.org>

Add some initial basic tests for du(1)

Tests that exercise the following flags are added in this commit:
- -A
- -H
- -I
- -g
- -h
- -k
- -m

Additional tests will be added soon.

MFC after: 1 month


# 21860bf9 11-Jun-2017 Enji Cooper <ngie@FreeBSD.org>

Write up some basic tests for readlink(1)

The tests exercise -f (f_flag), -n (n_flag), and no arguments (basic).

MFC after: 1 month
Sponsored by: Dell EMC Isilon


# 670f1782 08-Jun-2017 Alan Somers <asomers@FreeBSD.org>

Add tests for ln(1)

* Verify that when creating a hard link to a symbolic link, '-L' option
creates a hard link to the target of the symbolic link
* Verify that when creating a hard link to a symbolic link, '-P' option
creates a hard link to the symbolic link itself
* Verify that if the target file already exists, '-f' option unlinks it so
that link may occur
* Verify that if the target file or directory is a symbolic link, '-shf'
option prevents following the link
* Verify that if the target file or directory is a symbolic link, '-snf'
option prevents following the link
* Verify that '-s' option creates a symbolic link
* Verify that '-w' option produces a warning if the source of a symbolic
link does not currently exist

Submitted by: shivansh
Reviewed by: asomers, ngie
MFC after: 1 month
Sponsored by: Google, Inc (GSoC 2017)
Differential Revision: https://reviews.freebsd.org/D11084


# 245e210c 06-Jun-2017 Enji Cooper <ngie@FreeBSD.org>

Add some basic tests for chmod(1)

MFC after: 1 month
Sponsored by: Dell EMC Isilon


# 2d15c3cb 06-Jun-2017 Enji Cooper <ngie@FreeBSD.org>

Add basic tests for echo(1)

Verify that echo(1) does not...
- ... print the trailing newline character with option '-n'.
- ... print the trailing newline character when '\c' is appended to
the end of the string.

Submitted by: shivansh
Reviewed by: asomers, ngie
MFC after: 1 month
Sponsored by: Google, Inc (GSoC 2017)
Differential Revision: D11036


# fd1c67ef 21-May-2017 Jilles Tjoelker <jilles@FreeBSD.org>

compress: Add basic tests.


# 20d90b10 17-May-2017 Enji Cooper <ngie@FreeBSD.org>

usr.bin/getconf: add some initial tests

Items tested via this commit are:
- Some basic POSIX constants.
- Some valid programming environments with -v.
- Some invalid programming environments via -v.

NOTE: this test makes assumptions about ILP32/LP32 vs LP64 that are
currently not true on all architectures to avoid hardcoding some
architectures in the tests. I'm working on improving getconf(1) to be
more sane about handling ILP32/LP32 vs LP64. Future commits are coming
soon to address this.

MFC after: 2 weeks
Tested with: amd64, i386
Sponsored by: Dell EMC Isilon


# c7d813a9 15-May-2017 Enji Cooper <ngie@FreeBSD.org>

Start writing up some basic feature tests for procstat

These tests query a running process for information related to the -b,
-c, -e, and -f flags; the -f testcase is largely stubbed out, pending
additional work to determine a good, deterministic descriptor.

Core file test support is coming soon--it requires a bit more effort
due to the fact that:
- coredumps can be disabled (kern.coredump=0).
- corefiles can be put in different directories than the current
directory, or be named something other than `<prog>.core`
(`kern.corefile`).

MFC after: 2 months
Sponsored by: Dell EMC Isilon


# c53d5699 08-May-2017 Enji Cooper <ngie@FreeBSD.org>

Fix the build after r317942 by adding usr.bin/csplit to BSD.tests.dist

Pointyhat to: cem
MFC with: r317942
Sponsored by: Dell EMC Isilon


# b824378b 05-Apr-2017 Enji Cooper <ngie@FreeBSD.org>

sbuf(3): add some basic functional tests for the library

Areas not covered still [positive functionality wise] are:
- sbuf_{clear,get,set}_flags
- sbuf_new (in particular, with fixed buffers, etc).

Some basic negative testing has been added, but more will be added in the
future.

This work was in part to validate work done by cem in r288223, and ian
before that.

MFC after: 2 months
Sponsored by: Dell EMC Isilon


# 6dc025ea 04-Apr-2017 Alan Somers <asomers@FreeBSD.org>

Fix file descriptor and memory leaks in pr(1)

Also, hook NetBSD's pr test into the build, and add three more test cases.

Reported by: Coverity, Valgrind
CID: 271650 271651 271652 271653 271654 271655 271656 271656
CID: 271657 271658 271659 1006939 1006940 1006941 1006942 1009098
Reviewed by: ngie
MFC after: 3 weeks
Sponsored by: Spectra Logic Corp
Differential Revision: https://reviews.freebsd.org/D9137


# 10f81a9b 28-Mar-2017 Enji Cooper <ngie@FreeBSD.org>

lib/libkvm: start adding basic tests for kvm(3)

- kvm_close: add a testcase to verify support for errno = EINVAL / -1
(see D10065) when kd == NULL is provided to the libcall.
- kvm_geterr:
-- Add a negative testcase for kd == NULL returning "" (see D10022).
-- Add two positive testcases:
--- test the error case using kvm_write on a O_RDONLY descriptor.
--- test the "no error" case using kvm_read(3) and kvm_nlist(3) as
helper routines and by injecting a bogus error message via
_kvm_err (an internal API) _kvm_err was used as there isn't a
formalized way to clear the error output, and because
kvm_nlist always returns ENOENT with the NULL terminator today.
- kvm_open, kvm_open2:
-- Add some basic negative tests for kvm_open(3) and kvm_open2(3).
Testing positive cases with a specific
`corefile`/`execfile`/`resolver` requires more work and would require
user intervention today in order to reliably test this out.

Reviewed by: markj
MFC after: 2 months
Sponsored by: Dell EMC Isilon
Differential Revision: D10024


# b0b1dbdd 15-Mar-2017 Enji Cooper <ngie@FreeBSD.org>

Start adding basic tests for cam(3)

This change contains several negative and positive tests for:
- cam_open_device
- cam_close_device
- cam_getccb
- cam_freeccb

This also contains a test for the failure case noted in bug 217649,
i.e., O_RDWR must be specified because pass(4) requires it.

This test unfortunately cannot assume that cam-capable devices are
present, so the user must explicitly provide a device via
`test_suites.FreeBSD.cam_test_device`. In the future, a test kernel
module might be shipped, or ctl(4) might be used, as a test device
when testing out libcam, which will allow the tests to do away with
having to specify an explicit test device.

Reviewed by: asomers, ken (earlier diff)
MFC after: 1 week
Sponsored by: Dell EMC Isilon
Differential Revision: D9928


# e22ad7bc 14-Mar-2017 Enji Cooper <ngie@FreeBSD.org>

Move .../sys/geom/eli/pbkdf2... to .../sys/geom/class/eli/...

This change moves the tests added in r313962 to an existing directory
structure used by the geli TAP tests. It also, renames the test from
pbkdf2 to pbkdf2_test .

The changes to ObsoleteFiles.inc are being committed separately as they
aren't needed for the MFC to ^/stable/11, etc, if the MFC for the tests
is done all in one commit.

MFC after: 2 weeks
X-MFC with: r313962, r313972-r313973
Reviewed by: allanjude
Sponsored by: Dell EMC Isilon
Differential Revision: D9985


# 84e1ba25 10-Mar-2017 Baptiste Daroussin <bapt@FreeBSD.org>

Add the diff to the tests mtree

Reported by: lwhsu


# 05de3f33 07-Mar-2017 Cy Schubert <cy@FreeBSD.org>

Fix install due to incorrect placement of pwait dir in r314886.

Reported by: Shawn Webb <shawn.webb@hardenedbsd.org>
MFC after: 2 weeks
X-MFC with: r314886


# b06b52ba 07-Mar-2017 Bryan Drewery <bdrewery@FreeBSD.org>

pwait: Add a -t flag to specify a timeout before exiting, and tests.

The exit status will be 124, as the timeout(1) utility uses.

Reviewed by: jilles
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D9697


# 7d9ade5d 03-Mar-2017 Enji Cooper <ngie@FreeBSD.org>

Integrate indent tests added in r313544 into ATF/Kyua and the FreeBSD
test suite

This change does the following:

- Introduces symmetry in the test inputs/outputs by adding the exit
code to the files. This simplified the test driver notably by
requiring less filename/test name manipulation.
- Adds a test driver for the testcases added in r313544, patterned
after bin/sh/tests/functional_test.sh . The driver calls indent as
noted in r313544, with an exception: The $FreeBSD$ RCS keyword's
expansion is reindented with indent, which means that the output
differs from the expected output. Thus, all lines with $FreeBSD$
in them are deleted on the fly, both in the input file and the
output file.

The test inputs/outputs are copied to the kyua sandbox before the
test is run as the pathing in some of the files relies on pathing
normalized to the current directory (copying the files is the
easiest way to resolve the issue).

Approved by: pstef (maintainer)
Reviewed by: pstef
X-MFC with: r313544
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D9682


# 81e8601f 19-Feb-2017 Enji Cooper <ngie@FreeBSD.org>

Remove lib/libpam tests after they were removed from the source tree in r313975

X-MFC with: r313975
Sponsored by: Dell EMC Isilon


# 85c15ab8 19-Feb-2017 Allan Jude <allanjude@FreeBSD.org>

improve PBKDF2 performance

The PBKDF2 in sys/geom/eli/pkcs5v2.c is around half the speed it could be

GELI's PBKDF2 uses a simple benchmark to determine a number of iterations
that will takes approximately 2 seconds. The security provided is actually
half what is expected, because an attacker could use the optimized
algorithm to brute force the key in half the expected time.

With this change, all newly generated GELI keys will be approximately 2x
as strong. Previously generated keys will talk half as long to calculate,
resulting in faster mounting of encrypted volumes. Users may choose to
rekey, to generate a new key with the larger default number of iterations
using the geli(8) setkey command.

Security of existing data is not compromised, as ~1 second per brute force
attempt is still a very high threshold.

PR: 202365
Original Research: https://jbp.io/2015/08/11/pbkdf2-performance-matters/
Submitted by: Joe Pixton <jpixton@gmail.com> (Original Version), jmg (Later Version)
Reviewed by: ed, pjd, delphij
Approved by: secteam, pjd (maintainer)
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D8236


# 71164a14 13-Jan-2017 Enji Cooper <ngie@FreeBSD.org>

Integrate .../contrib/netbsd-tests/usr.bin/uniq into the FreeBSD test
suite as .../usr.bin/uniq/tests

Sponsored by: Dell EMC Isilon


# cdb7a6fc 10-Jan-2017 Alan Somers <asomers@FreeBSD.org>

Fix memory leaks during "tail -r" of an irregular file

* Rewrite r_buf to use standard tail queues instead of a hand-rolled
circular linked list. Free dynamic allocations when done.
* Remove an optimization for the case where the file is a multiple of 128KB
in size and there is a scarcity of memory.
* Add ATF tests for "tail -r" and its variants.

Reported by: Valgrind
Reviewed by: ngie
MFC after: 4 weeks
Sponsored by: Spectra Logic Corp
Differential Revision: https://reviews.freebsd.org/D9067


# 0dbb4093 05-Jan-2017 Alan Somers <asomers@FreeBSD.org>

Fix typo from r311349

Reported by: lwhsu
Pointy-hat-to: asomers
MFC after: 4 weeks
X-MFC-with: 311349


# 371f86d2 04-Jan-2017 Alan Somers <asomers@FreeBSD.org>

tabs -> spaces in etc/mtree

MFC after: 4 weeks


# 669c2535 20-Oct-2016 Enji Cooper <ngie@FreeBSD.org>

Integrate contrib/netbsd-tests/fs/tmpfs into the FreeBSD test suite
as tests/sys/fs

These testcases exercise tmpfs support

MFC after: 2 weeks
Sponsored by: Dell EMC Isilon


# 3f65d720 08-Sep-2016 Jung-uk Kim <jkim@FreeBSD.org>

Add new directories added in r305626 to fix "make installworld".


# cb5fe245 06-Sep-2016 Enji Cooper <ngie@FreeBSD.org>

Move tests/sys/kqueue/... to tests/sys/kqueue/libkqueue/...

This is being done to clearly distinguish the libkqueue tests
from the (soon to be imported) NetBSD tests.

MFC after: 58 days
Sponsored by: EMC / Isilon Storage Division


# 5968c001 15-Aug-2016 Mark Johnston <markj@FreeBSD.org>

Regenerate DTrace tests.


# bd4dcc3e 22-Jul-2016 Bryan Drewery <bdrewery@FreeBSD.org>

Move chown tests to proper path

Sponsored by: EMC / Isilon Storage Division


# 51da6799 28-May-2016 Enji Cooper <ngie@FreeBSD.org>

Fix "make installworld" with MK_CDDL == no after r300906 by
adding a missing entry for ${TESTSBASE}/cddl/sbin

X-MFC with: r300906
Pointyhat to: asomers
Reported by: Shawn Webb <shawn.webb@hardenedbsd.org>
Sponsored by: EMC / Isilon Storage Division


# 7a0c41d5 28-May-2016 Alan Somers <asomers@FreeBSD.org>

zfsd(8), the ZFS fault management daemon

Add zfsd, which deals with hard drive faults in ZFS pools. It manages
hotspares and replements in drive slots that publish physical paths.

cddl/usr.sbin/zfsd
Add zfsd(8) and its unit tests

cddl/usr.sbin/Makefile
Add zfsd to the build

lib/libdevdctl
A C++ library that helps devd clients process events

lib/Makefile
share/mk/bsd.libnames.mk
share/mk/src.libnames.mk
Add libdevdctl to the build. It's a private library, unusable by
out-of-tree software.

etc/defaults/rc.conf
By default, set zfsd_enable to NO

etc/mtree/BSD.include.dist
Add a directory for libdevdctl's include files

etc/mtree/BSD.tests.dist
Add a directory for zfsd's unit tests

etc/mtree/BSD.var.dist
Add /var/db/zfsd/cases, where zfsd stores case files while it's shut
down.

etc/rc.d/Makefile
etc/rc.d/zfsd
Add zfsd's rc script

sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c
Fix the resource.fs.zfs.statechange message. It had a number of
problems:

It was only being emitted on a transition to the HEALTHY state.
That made it impossible for zfsd to take actions based on drives
getting sicker.

It compared the new state to vdev_prevstate, which is the state that
the vdev had the last time it was opened. That doesn't make sense,
because a vdev can change state multiple times without being
reopened.

vdev_set_state contains logic that will change the device's new
state based on various conditions. However, the statechange event
was being posted _before_ that logic took effect. Now it's being
posted after.

Submitted by: gibbs, asomers, mav, allanjude
Reviewed by: mav, delphij
Relnotes: yes
Sponsored by: Spectra Logic Corp, iX Systems
Differential Revision: https://reviews.freebsd.org/D6564


# 07917187 13-May-2016 Eric van Gyzen <vangyzen@FreeBSD.org>

iconvctl(3): remove superfluous NULL pointer tests

convname and dst are guaranteed to be non-NULL by iconv_open(3).
src is an array. Remove these tests for NULL pointers.
While I'm here, eliminate a strlcpy with a correct but suspicious-looking
calculation for the third parameter (i.e. not a simple sizeof).
Compare the strings in-place instead of copying.

Found by: bdrewery
Found by: Coverity
CID: 1130050, 1130056
MFC after: 3 days
Sponsored by: Dell Inc.
Differential Revision: https://reviews.freebsd.org/D6338


# 1f9b8f8e 08-May-2016 Jilles Tjoelker <jilles@FreeBSD.org>

install: Add some tests.


# 8907f744 04-May-2016 Alan Somers <asomers@FreeBSD.org>

Improve performance and functionality of the bitstring(3) api

Two new functions are provided, bit_ffs_at() and bit_ffc_at(), which allow
for efficient searching of set or cleared bits starting from any bit offset
within the bit string.

Performance is improved by operating on longs instead of bytes and using
ffsl() for searches within a long. ffsl() is a compiler builtin in both
clang and gcc for most architectures, converting what was a brute force
while loop search into a couple of instructions.

All of the bitstring(3) API continues to be contained in the header file.
Some of the functions are large enough that perhaps they should be uninlined
and moved to a library, but that is beyond the scope of this commit.

sys/sys/bitstring.h:
Convert the majority of the existing bit string implementation from
macros to inline functions.

Properly protect the implementation from inadvertant macro expansion
when included in a user's program by prefixing all private
macros/functions and local variables with '_'.

Add bit_ffs_at() and bit_ffc_at(). Implement bit_ffs() and
bit_ffc() in terms of their "at" counterparts.

Provide a kernel implementation of bit_alloc(), making the full API
usable in the kernel.

Improve code documenation.

share/man/man3/bitstring.3:
Add pre-exisiting API bit_ffc() to the synopsis.

Document new APIs.

Document the initialization state of the bit strings
allocated/declared by bit_alloc() and bit_decl().

Correct documentation for bitstr_size(). The original code comments
indicate the size is in bytes, not "elements of bitstr_t". The new
implementation follows this lead. Only hastd assumed "elements"
rather than bytes and it has been corrected.

etc/mtree/BSD.tests.dist:
tests/sys/Makefile:
tests/sys/sys/Makefile:
tests/sys/sys/bitstring.c:
Add tests for all existing and new functionality.

include/bitstring.h
Include all headers needed by sys/bitstring.h

lib/libbluetooth/bluetooth.h:
usr.sbin/bluetooth/hccontrol/le.c:
Include bitstring.h instead of sys/bitstring.h.

sbin/hastd/activemap.c:
Correct usage of bitstr_size().

sys/dev/xen/blkback/blkback.c
Use new bit_alloc.

sys/kern/subr_unit.c:
Remove hard-coded assumption that sizeof(bitstr_t) is 1. Get rid of
unrb.busy, which caches the number of bits set in unrb.map. When
INVARIANTS are disabled, nothing needs to know that information.
callapse_unr can be adapted to use bit_ffs and bit_ffc instead.
Eliminating unrb.busy saves memory, simplifies the code, and
provides a slight speedup when INVARIANTS are disabled.

sys/net/flowtable.c:
Use the new kernel implementation of bit-alloc, instead of hacking
the old libc-dependent macro.

sys/sys/param.h
Update __FreeBSD_version to indicate availability of new API

Submitted by: gibbs, asomers
Reviewed by: gibbs, ngie
MFC after: 4 weeks
Sponsored by: Spectra Logic Corp
Differential Revision: https://reviews.freebsd.org/D6004


# e6ff0a00 30-Apr-2016 Baptiste Daroussin <bapt@FreeBSD.org>

Add sdiff test directory to the tests mtree


# 83e2bfb6 22-Apr-2016 Alan Somers <asomers@FreeBSD.org>

Add ATF tests for usr.sbin/extattr

Add ATF tests for the existing behavior of setextattr, rmextattr, lsextattr,
and getextattr.

Reviewed by: ngie
MFC after: 4 weeks
Sponsored by: Spectra Logic Corp
Differential Revision: https://reviews.freebsd.org/D5889


# 30924962 09-Mar-2016 Bryan Drewery <bdrewery@FreeBSD.org>

Fix and connect setjmp test.

Sponsored by: EMC / Isilon Storage Division


# 09d98641 13-Jan-2016 Enji Cooper <ngie@FreeBSD.org>

Integrate
tools/regression/geom_{concat,eli,gate,mirror,nop,raid3,shsec,stripe,uzip}
in to the FreeBSD test suite as
tests/sys/geom/class/{concat,eli,gate,mirror,nop,raid3,shsec,stripe,uzip}

The tools/regression/geom and tools/regression/geom_part testcases are being
left alone because both test sets are both currently broken.

The majority of this work was done on ^/user/ngie/more-tests2 . The differences
are as follows:
- tests/sys/geom/class/Makefile.inc is not present; it was
inlined into the class's Makefiles for explicitness.
- The testcases officially require root via kyua
- The geom_gate(4) tests don't use the pidfile changes proposed in
https://reviews.freebsd.org/D4836 .

MFC after: 1 month
Sponsored by: EMC / Isilon Storage Division


# a85f1232 05-Jan-2016 Alan Somers <asomers@FreeBSD.org>

"source routing" in rpcbind

Fix a bug in rpcbind for multihomed hosts. If the server had interfaces on
two separate subnets, and a client on the first subnet contacted rpcbind at
the address on the second subnet, rpcbind would advertise addresses on the
first subnet. This is a bug, because it should prefer to advertise the
address where it was contacted. The requested service might be firewalled
off from the address on the first subnet, for example.

usr.sbin/rpcbind/check_bound.c
If the address on which a request was received is known, pass that
to addrmerge as the clnt_uaddr parameter. That is what addrmerge's
comment indicates the parameter is supposed to mean. The previous
behavior is that clnt_uaddr would contain the address from which the
client sent the request.

usr.sbin/rpcbind/util.c
Modify addrmerge to prefer to use an IP that is equal to clnt_uaddr,
if one is found. Refactor the relevant portion of the function for
clarity, and to reduce the number of ifdefs.

etc/mtree/BSD.tests.dist
usr.sbin/rpcbind/tests/Makefile
usr.sbin/rpcbind/tests/addrmerge_test.c
Add unit tests for usr.sbin/rpcbind/util.c:addrmerge.

usr.sbin/rpcbind/check_bound.c
usr.sbin/rpcbind/rpcbind.h
usr.sbin/rpcbind/util.c
Constify some function arguments

Reviewed by: imp
MFC after: 4 weeks
Sponsored by: Spectra Logic Corp
Differential Revision: https://reviews.freebsd.org/D4690


# 870c2f7a 21-Dec-2015 Enji Cooper <ngie@FreeBSD.org>

Integrate tools/regression/mac/mac_bsdextended and
tools/regression/mac/mac_portacl into the FreeBSD test suite as
tests/sys/mac/bsdextended and tests/sys/mac/portacl, respectively

MFC after: 1 month
Sponsored by: EMC / Isilon Storage Division


# 08ca345c 16-Dec-2015 Enji Cooper <ngie@FreeBSD.org>

Integrate tools/regression/lib/libc/nss into the FreeBSD test suite as
lib/libc/tests/nss

- Convert the testcases to ATF
- Do some style(9) cleanups:
-- Sort headers
-- Apply indentation fixes
-- Remove superfluous parentheses
- Explicitly print out debug printfs for use with `kyua {debug,report}`; for
items that were overly noisy, they've been put behind #ifdef DEBUG
conditionals
- Fix some format strings

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division


# 9ada6f33 15-Dec-2015 Enji Cooper <ngie@FreeBSD.org>

Integrate tools/regression/lib/libc/resolv into the FreeBSD test suite as
lib/libc/tests/resolv

Convert the testcases to ATF

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division


# e30a6200 15-Nov-2015 Enji Cooper <ngie@FreeBSD.org>

Integrate tools/regression/pipe in to the FreeBSD test suite as
tests/sys/kern/pipe

- Fix style(9) bugs
- Fix compiler warnings
- Use `nitems(x)` instead of `sizeof(x) / sizeof(*x)` pattern

The testcases will be converted over to ATF eventually, but for now will be
integrated in as plain C tests

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division


# 3e9b6029 15-Nov-2015 Enji Cooper <ngie@FreeBSD.org>

Integrate acct(2) testcase in as tests/sys/kern/acct/acct_test

The :encode_tv_random_million testcase fails the epsilon tests a few thousand
times out of one million, so expect the testcase to fail

MFC after: 1 week
Submitted by: keramida
Sponsored by: EMC / Isilon Storage Division


# dd76c272 08-Nov-2015 Enji Cooper <ngie@FreeBSD.org>

Add some basic tests that exercise cputime limits with limits(1)

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division


# ebfe174e 29-Oct-2015 Enji Cooper <ngie@FreeBSD.org>

Integrate contrib/netbsd-tests/lib/libc/rpc into the FreeBSD test suite
as lib/libc/rpc

This testcase requires rpcbind be up in running; otherwise the testcases
will time out and be skipped

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division


# 7bdfc3b7 21-Oct-2015 Enji Cooper <ngie@FreeBSD.org>

Correctly reintroduce the rudimentary smoke tests I botched up
in r289684

MFC after: 2 weeks
Sponsored by: EMC / Isilon Storage Division


# 6cf8c0fe 21-Oct-2015 Enji Cooper <ngie@FreeBSD.org>

Revert r289694

I committed some other undesirable local changes by accident


# b4c3ec12 21-Oct-2015 Enji Cooper <ngie@FreeBSD.org>

Add some rudimentary [smoke] testcases for makefs

MFC after: 2 weeks
Sponsored by: EMC / Isilon Storage Division


# 36ace8a0 17-Oct-2015 Enji Cooper <ngie@FreeBSD.org>

Integrate contrib/netbsd-tests/bin/dd into the FreeBSD test suite as
bin/dd/tests

Ensure fdescfs is mounted on /dev/fd/ for the length testcase as it's used
in validating the characters read from /dev/zero

MFC after: 2 weeks
Sponsored by: EMC / Isilon Storage Division


# b3af24b4 17-Oct-2015 Enji Cooper <ngie@FreeBSD.org>

Integrate tools/regression/acltools into the FreeBSD test suite as tests/sys/acl

- Make the requirements more complete for the testcases
- Detect prerequisites so the tests won't fail (zfs.ko is loaded, zpool(1)
is available, ACL support is enabled with UFS, etc).
- Work with temporary files/directories/mountpoints that work with atf/kyua
- Limit the testcases to work on temporary filesystems to reduce tainting the
test host

MFC after: 2 weeks
Reviewed by: trasz (earlier version)
Differential Revision: https://reviews.freebsd.org/D3810


# 4fdc3d75 16-Oct-2015 Enji Cooper <ngie@FreeBSD.org>

Integrate tools/test/posixshm and tools/regression/posixshm into the FreeBSD
test suite as tests/sys/posixshm

Some other highlights:
- Convert the testcases over to ATF
- Don't use hardcoded paths to /tmp (which violate the ATF/kyua samdbox); use
mkstemp to generate temporary paths for non-SHM_ANON shm objects.

MFC after: 2 weeks
Sponsored by: EMC / Isilon Storage Division


# b2e7f204 14-Oct-2015 Enji Cooper <ngie@FreeBSD.org>

Integrate tools/regression/vfs into the FreeBSD test suite as tests/sys/vfs

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division


# 59e2ff55 12-Oct-2015 Enji Cooper <ngie@FreeBSD.org>

Integrate the tests from lib/libarchive, usr.bin/cpio, and usr.bin/tar in to
the FreeBSD test suite

functional_test.sh was ported from bin/sh/tests/functional_test.sh, as a
small wrapper around libarchive_test, bsdcpio_test, and bsdtar_test provided
by upstream.

A handful of testcases in lib/libarchive/tests have been disabled as they
were failing when run with kyua test (see BROKEN_TESTS in
lib/libarchive/tests/Makefile)

As a sidenote: this removes the check/test targets from the Makefiles as they
don't match the pattern used in the rest of the FreeBSD test suite.

MFC after: 2 weeks
Sponsored by: EMC / Isilon Storage Division


# 4436b51d 06-Oct-2015 Enji Cooper <ngie@FreeBSD.org>

Integrate the tests from libxo into the FreeBSD test suite

The functional_test.sh harness for each test subdir was inspired
by the version in bin/sh/tests/functional_test.sh

Some gymnastics were required to deal with implicit rules for
.c / .o -> .out as the suffix transformation rules were
incorrectly trying to create the test outputs from some of the
source files

Sponsored by: EMC / Isilon Storage Division


# c36a2f46 27-Sep-2015 Enji Cooper <ngie@FreeBSD.org>

Add initial testcases for bin/ls

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division


# d60f0f1c 20-Aug-2015 Alan Somers <asomers@FreeBSD.org>

Add ATF functional tests for fstyp(8). No ZFS or GELI tests yet.

Reviewed by: trasz, ngie
MFC after: 2 weeks
Sponsored by: SpectraLogic
Differential Revision: https://reviews.freebsd.org/D2801


# c048a83f 26-Jul-2015 Baptiste Daroussin <bapt@FreeBSD.org>

Replace GNU RCS ident with a BSD license ident

Rationale: ident(1) is useful out of RCS, lot of scripts are using ident(1) and
failing when base is built WITHOUT_RCS.

This version is:
- fully compatible with RCS 5.7 ident.
- fully compatible with RCS 5.9 ident.
- passes all ident test from GNU RCS 5.9 test suite

This version has support for: svn extension for the Keyword id (double colon and
# before last $)

Différences with GNU RCS ident:
- no long options as found in GNU RCS 5.9 (but not commented there).
- '-V' reports nothing but has been added for compatibility.

Differential Revision: https://reviews.freebsd.org/D3200
Reviewed by: pfg


# 3bf8ad7d 01-May-2015 Baptiste Daroussin <bapt@FreeBSD.org>

Add regression test about reverse line feed to col(1)


# 62e2f1e2 02-May-2015 Baptiste Daroussin <bapt@FreeBSD.org>

Add regression tests for soelim(1)


# 42484f6f 27-Apr-2015 Enji Cooper <ngie@FreeBSD.org>

Move tests/sys/kern/mmap_test to tests/sys/vm/mmap_test

As jhb noted, the actual mmap(2) implementation is under sys/vm, not
sys/kern/, so the correct logical place is tests/sys/vm/, not
tests/sys/kern/

X-MFC with: r282076
MFC after: 6 days


# f44eb013 27-Apr-2015 Enji Cooper <ngie@FreeBSD.org>

Integrate tools/regression/aio/aiotest and tools/regression/aio/kqueue into the
FreeBSD test suite as tests/sys/aio

MFC after: 1 week


# e100f6a2 27-Apr-2015 Enji Cooper <ngie@FreeBSD.org>

Integrate tools/regression/mqueue into the FreeBSD test suite as
tests/sys/mqueue

MFC after: 1 week


# 3cedbec3 27-Apr-2015 Enji Cooper <ngie@FreeBSD.org>

Integrate tools/regression/fifo into the FreeBSD test suite as tests/sys/fifo
and tools/regression/file into the FreeBSD test suite as tests/sys/file

MFC after: 1 week


# 70598e50 27-Apr-2015 Enji Cooper <ngie@FreeBSD.org>

Integrate tools/regression/kqueue into the FreeBSD test suite as
tests/sys/kqueue

MFC after: 1 week


# bbf12e6f 27-Apr-2015 Enji Cooper <ngie@FreeBSD.org>

Integrate tools/regression/execve into the FreeBSD test suite as
tests/sys/kern/execve

MFC after: 1 week


# 4ddbe5ac 28-Feb-2015 Mark Johnston <markj@FreeBSD.org>

Add infrastructure to integrate the DTrace test suite with Kyua.

For each test category, we generate a script containing ATF test cases for
the tests under that category. Each test case simply runs dtest.pl (the
upstream test harness) with the corresponding test files. The exclude.sh
script is used to record info about tests which should be skipped or are
expected to fail; it is used to generate atf_skip and atf_expect_fail calls.
The genmakefiles.sh script can be used to regenerate the test makefiles when
new tests are brought it from upstream.

The test suite is currently not connected to the build as there is a small
number of lingering test issues which still need to be worked out. In the
meantime however, the test suite can be easily built and installed
manually from cddl/usr.sbin/dtrace/tests.

Reviewed by: ngie
Sponsored by: EMC / Isilon Storage Division


# ce7e32798 24-Jan-2015 Will Andrews <will@FreeBSD.org>

Add tests/etc/rc.d to mtree.

Submitted by: stefanf
MFC after: 1 week
MFC with: 277627


# e15138e5 18-Jan-2015 Enji Cooper <ngie@FreeBSD.org>

Integrate contrib/netbsd-tests/bin/expr into the build/kyua as bin/expr/tests

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division


# 9a0603fa 08-Jan-2015 Hans Petter Selasky <hselasky@FreeBSD.org>

Add makefile for the "osmtest" utility. While at it:
- Fix depend target by removing a space after an "-I" inclusion option.
- Fix some minor compile issues in the "osmtest" utility.

MFC after: 3 days
PR: 196580
Sponsored by: Mellanox Technologies


# dd2b763a 04-Jan-2015 Enji Cooper <ngie@FreeBSD.org>

Integrate bin/cat/tests from NetBSD into atf/kyua

Sponsored by: EMC / Isilon Storage Division


# b219c275 04-Jan-2015 Enji Cooper <ngie@FreeBSD.org>

Integrate sbin/ifconfig/tests from NetBSD into atf/kyua

Sponsored by: EMC / Isilon Storage Division


# f703589e 18-Dec-2014 Enji Cooper <ngie@FreeBSD.org>

Fix building/installing tests when TESTSBASE != /usr/tests

The work in r258233 hardcoded the assumption that tests was the last component
of the tests tree by pushing tests as an explicit prefix for the paths in
BSD.tests.dist and /usr was the prefix for all tests, per BSD.usr.dist and all
of the mtree calls used in Makefile.inc1. This assumption breaks if/when one
provides a custom TESTSBASE "prefix", e.g. TESTSBASE=/mytests .

One thing that r258233 did properly though was remove "/usr/tests" creation
from BSD.usr.dist -- that should have not been there in the first place. That
was an "oops" on my part for the work that was originally committed in r241823

MFC after: 2 weeks
Phabric: D1301
Reviewed by: imp
Sponsored by: EMC / Isilon Storage Division


# 08fca7a5 12-Dec-2014 John-Mark Gurney <jmg@FreeBSD.org>

Add some new modes to OpenCrypto. These modes are AES-ICM (can be used
for counter mode), and AES-GCM. Both of these modes have been added to
the aesni module.

Included is a set of tests to validate that the software and aesni
module calculate the correct values. These use the NIST KAT test
vectors. To run the test, you will need to install a soon to be
committed port, nist-kat that will install the vectors. Using a port
is necessary as the test vectors are around 25MB.

All the man pages were updated. I have added a new man page, crypto.7,
which includes a description of how to use each mode. All the new modes
and some other AES modes are present. It would be good for someone
else to go through and document the other modes.

A new ioctl was added to support AEAD modes which AES-GCM is one of them.
Without this ioctl, it is not possible to test AEAD modes from userland.

Add a timing safe bcmp for use to compare MACs. Previously we were using
bcmp which could leak timing info and result in the ability to forge
messages.

Add a minor optimization to the aesni module so that single segment
mbufs don't get copied and instead are updated in place. The aesni
module needs to be updated to support blocked IO so segmented mbufs
don't have to be copied.

We require that the IV be specified for all calls for both GCM and ICM.
This is to ensure proper use of these functions.

Obtained from: p4: //depot/projects/opencrypto
Relnotes: yes
Sponsored by: FreeBSD Foundation
Sponsored by: NetGate


# 4cef7be5 17-Nov-2014 Enji Cooper <ngie@FreeBSD.org>

Add reachover Makefiles for contrib/netbsd-tests/lib/librt

A variant of this code has been tested on amd64/i386 for some time by
EMC/Isilon on 10-STABLE/11-CURRENT. It builds on other architectures, but the
code will remain off until it's proven it works on virtual hardware or real
hardware on other architectures

Sponsored by: EMC / Isilon Storage Division


# 536b1b93 16-Nov-2014 Enji Cooper <ngie@FreeBSD.org>

Add reachover Makefiles for contrib/netbsd-tests/lib/librt

A variant of this code has been tested on amd64/i386 for some time by
EMC/Isilon on 10-STABLE/11-CURRENT. It builds on other architectures, but the
code will remain off until it's proven it works on virtual hardware or real
hardware on other architectures

Sponsored by: EMC / Isilon Storage Division


# 3eee258d 15-Nov-2014 Enji Cooper <ngie@FreeBSD.org>

Add reachover Makefiles for contrib/netbsd-tests/lib/libpthread as
lib/libthr/tests

A variant of this code has been tested on amd64/i386 for some time by
EMC/Isilon on 10-STABLE/11-CURRENT. It builds on other architectures, but the
code will remain off until it's proven it works on virtual hardware or real
hardware on other architectures

Original work by: pho
Sponsored by: EMC / Isilon Storage Division


# 982247d2 05-Nov-2014 Mark Johnston <markj@FreeBSD.org>

Create a directory for the PAM tests.


# 2f121787 03-Nov-2014 Enji Cooper <ngie@FreeBSD.org>

Add reachover Makefiles for contrib/netbsd-tests/lib/libc; this adds approximately
500 new testcases

Various TODOs have been sprinkled around the Makefiles for items that even need
to be ported (missing features), testcases have issues with building/linking, or
issues at runtime.

A variant of this code has been tested extensively on amd64 and i386
10-STABLE/11-CURRENT for several months without issue. It builds on other
architectures, but the code will remain off until I have prove it works on
virtual hardware or real hardware on other architectures

In collaboration with: pho, Casey Peel <casey.peel@isilon.com>
Sponsored by: EMC / Isilon Storage Division


# fa809347 03-Nov-2014 Enji Cooper <ngie@FreeBSD.org>

Integrate pjdfstest test suite execution into kyua

pjdfstest execution is opt-in and must be done as root due to some of the
assumptions made by the test suite and lack of error checking in the non-root
case

A description of how to execute pjdfstest with kyua is provided in
share/pjdfstest/README

Phabric: D824 (an earlier prototype patch)
MFC after: 1 month
Relnotes: yes
Sponsored by: EMC / Isilon Storage Division


# 1c1c418e 28-Oct-2014 Baptiste Daroussin <bapt@FreeBSD.org>

Add regression tests for the timeout(1) utility

They are modeled over the regression tests that are provided for the GNU
coreutils timeout(1) utility


# cdfd89ce 08-Oct-2014 Enji Cooper <ngie@FreeBSD.org>

Integrate usr.bin/gzip/tests from NetBSD into atf/kyua

Sponsored by: EMC / Isilon Storage Division


# 9752f4a7 08-Oct-2014 Enji Cooper <ngie@FreeBSD.org>

Integrate usr.bin/diff/tests from NetBSD into atf/kyua at gnu/usr.bin/diff/tests

Sponsored by: EMC / Isilon Storage Division


# 1e7075e0 08-Oct-2014 Enji Cooper <ngie@FreeBSD.org>

Integrate usr.bin/grep/tests from NetBSD into atf/kyua

Sponsored by: EMC / Isilon Storage Division


# 48e0fbc3 08-Oct-2014 Enji Cooper <ngie@FreeBSD.org>

Integrate usr.bin/cut/tests from NetBSD into atf/kyua

Sponsored by: EMC / Isilon Storage Division


# 6186fd18 08-Oct-2014 Enji Cooper <ngie@FreeBSD.org>

Integrate bin/sleep/tests from NetBSD into atf/kyua

Sponsored by: EMC / Isilon Storage Division


# 17313006 08-Oct-2014 Enji Cooper <ngie@FreeBSD.org>

Integrate usr.bin/dirname/tests from NetBSD into atf/kyua

In collaboration with: pho, sjg
Sponsored by: EMC / Isilon Storage Division


# 0306a0a8 08-Oct-2014 Enji Cooper <ngie@FreeBSD.org>

Integrate usr.bin/cmp/tests from NetBSD into atf/kyua

In collaboration with: sjg
Sponsored by: EMC / Isilon Storage Division


# 0be0d5f3 08-Oct-2014 Enji Cooper <ngie@FreeBSD.org>

Integrate usr.sbin/basename/tests from NetBSD into atf/kyua

In collaboration with: pho
Sponsored by: EMC / Isilon Storage Division


# d192d44a 08-Oct-2014 Enji Cooper <ngie@FreeBSD.org>

Set the autoindent to 4 spaces with vim in BSD.tests.dist

This will prevent vim users from accidentally checking in buggy mtree files
(mixed tabs/spaces).

MFC after: 2 weeks
Sponsored by: EMC / Isilon Storage Division


# 56695221 08-Oct-2014 Enji Cooper <ngie@FreeBSD.org>

Integrate usr.sbin/nmtree/tests from NetBSD into atf/kyua

In collaboration with: pho
Sponsored by: EMC / Isilon Storage Division


# a85f6c30 02-Oct-2014 Brad Davis <brd@FreeBSD.org>

- Add a test for bug 191427 where pw(8) will go into an infinite loop

Reviewed by: will
MFC after: 1 month


# 1ed3631a 22-Sep-2014 Julio Merino <jmmv@FreeBSD.org>

Register /usr/tests/lib/libproc to fix build.

Missed in r271937, reviewed in D710.


# cd0b4a3c 20-Sep-2014 Marcel Moolenaar <marcel@FreeBSD.org>

Add unit tests for mkimg(1):


# 284f2cf8 12-Aug-2014 Enji Cooper <ngie@FreeBSD.org>

Add missing BSD.tests.dist entry for lib/libutil to unbreak installworld with
MK_TESTS == no

Phabric: D555
X-MFC with: r269904
Approved by: jmmv (mentor, implicit)
Pointyhat to: ngie


# b236bcf1 05-Aug-2014 Enji Cooper <ngie@FreeBSD.org>

Integrate lib/libnv into the build/kyua

Rename all of the TAP test applications from <test> to <test>_test
to match the convention described in the TestSuite wiki page

Phabric: D538
Approved by: jmmv (mentor)
Sponsored by: EMC / Isilon Storage Division


# dfed135e 04-Aug-2014 Enji Cooper <ngie@FreeBSD.org>

Integrate lib/libmp into the build/kyua

- Remove the .t wrapper
- Fix -Wreturn-type warnings with clang

This change has been tested on amd64/i386

Phabric: D530
Reviewed by: jmmv
Approved by: jmmv (co-mentor)
MFC after: 2 weeks
Sponsored by: EMC / Isilon Storage Division


# 124b3ece 17-Jul-2014 Baptiste Daroussin <bapt@FreeBSD.org>

Add the mtree entry for yacc tests


# 3137e845 17-Jul-2014 Bryan Drewery <bdrewery@FreeBSD.org>

Fix indentation


# 40dd6f48 17-Jul-2014 Eitan Adler <eadler@FreeBSD.org>

units(1): Add basic tests
Add some tests to help avoid breaking units


# 4bfdbb0b 29-Jun-2014 Eitan Adler <eadler@FreeBSD.org>

chown: add a test

Add a test for the chown utility. This sets up chown(8) to be capable of being
tested. As such, only add one test for now as an example.


# 98390b45 24-Jun-2014 Mark Johnston <markj@FreeBSD.org>

Unbreak installation of the rtld tests.

X-MFC-With: r267679


# 6b22f423 20-Jun-2014 Jonathan Anderson <jonathan@FreeBSD.org>

Test RTLD's new LD_LIBRARY_PATH_FDS variable.

Test LD_LIBRARY_PATH_FDS by linking a binary that requires a shared
library that isn't in any of the usual search paths. Ensure this fails
when we don't supply LD_LIBRARY_PATH_FDS or we pass invalid information
in it. Ensure it works when we pass the correct directory in various
places in the variable.

Approved by: rwatson (mentor)
MFC after: 3 weeks
Sponsored by: DARPA/AFRL


# fc96358c 09-Jun-2014 Jilles Tjoelker <jilles@FreeBSD.org>

truncate: Detect integer overflow, fix relative sizes, add tests.

The change to expand_number (r204654) broke detection of too large sizes and
relative sizes ('+'/'-').

Also add some tests.

PR: 190735
Submitted by: Kirk Russell
MFC after: 1 week


# 8c7ec47a 06-Jun-2014 Julio Merino <jmmv@FreeBSD.org>

Move atf-sh from /usr/bin/ to /usr/libexec/

In r266650, we made libatf-c and libatf-c++ private libraries so that no
components outside of the source tree could unintendedly depend on them.

This change does the same for the "atf-sh library" by moving the atf-sh
interpreter from its public location in /usr/bin/ to the private location
in /usr/libexec/. Our build system will ensure that our own test programs
use the right binary, but users won't be able to depend on atf-sh by
"mistake".

Committing this now to ride the UPDATING notice added with r267172 today.


# 17a286a9 24-May-2014 Julio Merino <jmmv@FreeBSD.org>

Change libatf-c and libatf-c++ to be private libraries.

We should not be leaking these interfaces to the outside world given
that it's much easier for third-party components to use the devel/atf
package from ports.

As a side-effect, we can also drop the ATF pkgconfig and aclocal files
from the base system. Nothing in the base system needs these, and it
was quite ugly to have to get them installed only so that a few ports
could build. The offending ports have been fixed to depend on
devel/atf explicitly.

Reviewed by: bapt


# 6c96553e 23-May-2014 Alan Somers <asomers@FreeBSD.org>

MFP4 zfsd-related changes

Convert libdevctl to use devd's new SEQPACKET socket.
lib/libdevctl/consumer.cc
lib/libdevctl/event_buffer.cc
lib/libdevctl/event_buffer.h
lib/libdevctl/reader.cc
lib/libdevctl/reader.h
Read from the new /var/run/devd.seqpacket.pipe instead of
/var/run/devd.pipe. Since it preserves record boundaries,
we can eliminate all the repacketization code in
EventBuffer::ExtractEvent as well as much supporting code
from the Reader class.

lib/libdevctl/consumer.cc
Make the pipe nonblocking. Previously, we avoided blocking
by using the FIONREAD ioctl, but this is simpler.

cddl/sbin/zfsd/case_file.cc
cddl/sbin/zfsd/tests/zfsd_unittest.cc
cddl/sbin/zfsd/vdev.cc
cddl/sbin/zfsd/zfsd.cc
cddl/sbin/zfsd/zfsd.h
cddl/sbin/zfsd/zfsd_event.cc
Update zfsd according to the libdevctl changes. The only
nontrivial change is to CaseFile::DeSerialize, which
elimintes the use of IStreamReader.

cddl/sbin/zfsd/case_file.cc
For an unknown reason, sometimes the std::ios::failbit
will get set on caseStream. Instead of checking for
!eof(), check for good(). That method checks the
eofbit, errorbit, and failbit.

livdevctl cleanup (from gibbs)
lib/libdevctl/event.cc:
lib/libdevctl/event.h:
Remove the event class's name from its Builder method. It's
perfectly clear that DevfsEvent::Builder() is the DevfsEvent
class's Builder function.

cddl/sbin/zfsd/zfsd.cc:
cddl/sbin/zfsd/zfsd_event.cc:
cddl/sbin/zfsd/zfsd_event.h:
Conform to new libdevct Builder naming convention.

Fix autoreplace by physical path when a hotspare is present
cddl/sbin/zfsd/case_file.cc
Fix logic error in CaseFile::Replace regarding whether the
replacement device is a spare or not.

Reviewed by: gibbs
Sponsored by: Spectra Logic


# 5ae59dec 14-May-2014 Julio Merino <jmmv@FreeBSD.org>

Move old fmake tests into bmake and hook them to the build.

This first step is mostly to prevent the code from rotting even further
and to ensure these do not get wiped when fmake's code is removed from
the tree.

These tests are currently being skipped because they detect the underlying
make is not fmake and thus disable themselves -- and the reason is that
some of the tests fail, possibly due to legitimate bugs. Enabling them to
run against bmake will come separately.

Lastly, it would be ideal if these tests were fed upstream but they are
not ready for that yet. In the interim, just put them under usr.bin/bmake/
while we sort things out. The existence of a different unit-tests directory
within here makes me feel less guilty about this.

Change confirmed working with a clean amd64 build.


# d4e612d0 05-May-2014 Alan Somers <asomers@FreeBSD.org>

Remove the ifconfig test added in rev 263445. After discussion with
melifaro, we agreed that ifconfig's behavior was not a bug. The main
motivation for bin/187551 was to partially resolve kern/187549, but we
resolved kern/187549 in a different way instead.

ObsoleteFiles.inc
etc/mtree/BSD.tests.dist
sbin/ifconfig/tests/fibs_test.sh
sbin/ifconfig/tests/Makefile
sbin/ifconfig/Makefile
Remove /usr/tests/sbin/ifconfig

PR: bin/187551
MFC after: 3 days
Sponsored by: Spectra Logic


# 38f0b757 21-Apr-2014 Julio Merino <jmmv@FreeBSD.org>

Add placeholder Kyuafiles for various top-level hierarchies.

This change adds tests/ directories in the source tree to create various
subdirectories in /usr/tests/ and to install placeholder Kyuafiles for
them.

the relevant hierarchies are: cddl, etc, games, gnu and secure.

The reason for this is to simplify the addition of new test programs for
utilities or libraries under any of these directories. Doing so on a
case by case basis is unnecessary and is quite an obscure process.


# f227705f 20-Mar-2014 Alan Somers <asomers@FreeBSD.org>

Add several ATF tests that deal with multiple fibs. They're described in
several different PRs, but the tests share some common code, so I'm
committing them together.

sbin/ifconfig/tests
sbin/ifconfig/tests/fibs_test.sh
sbin/ifconfig/tests/Makefile
sbin/ifconfig/Makefile
Add fibs_test.sh, which regresses bin/187551

tests/sys/netinet
tests/sys/netinet/fibs_test.sh
tests/sys/netinet/udp_dontroute.c
tests/sys/netinet/Makefile
tests/sys/Makefile
Add fibs_test.sh, which regresses kern/167947, kern/187552
kern/187549, kern/187550, and kern/187553

etc/mtree/BSD.tests.dist
Add newly created directories

PR: bin/187551
PR: kern/167947
PR: kern/187552
PR: kern/187549
PR: kern/187550
PR: kern/187553
Discussed with: melifaro
MFC after: 3 weeks
Sponsored by: Spectra Logic Corporation


# 65c3cfc1 18-Mar-2014 Julio Merino <jmmv@FreeBSD.org>

Migrate tools/regression/usr.bin/pkill to the new tests layout.

Interestingly, the pkill tool lives in bin, not usr.bin. Haven't bothered
to check if this is because the tool moved or because the tests were
originally added in the wrong place.


# d525bcd9 18-Mar-2014 Julio Merino <jmmv@FreeBSD.org>

Migrate tools/regression/usr.bin/make/ to the new tests layout.

Note that these tests are for fmake, not bmake, and thus they are not
installed nor run when bmake is selected (the default). Yes, I have
wasted a *ton* of time on moving tests for no real reason other than
ensuring they are not left behind.

But maybe, just maybe, it was not work in vain: the majority of these
tests also work with bmake and the few that don't may point at broken
stuff. For example, the tests for the "archive" feature do not work
with bmake, but bmake's manpage and source tree seem to imply that they
should. So... to be investigated later; need to poke sjg@.


# f743627b 18-Mar-2014 Julio Merino <jmmv@FreeBSD.org>

Expand tabs that sneaked in into spaces.

Problem introduced by r263227. Spotted by Alan Somers.


# 3a92d97f 16-Mar-2014 Julio Merino <jmmv@FreeBSD.org>

Migrate most of tools/regression/usr.bin/ to the new tests layout.

I'm starting with the easy cases. The leftovers need to be looked at a
bit more closely.

Note that this change _does_ modify the code of the old tests. This is
required in order to allow the code to locate the data files in the
source directory instead of the current directory, because Kyua
automatically changes the latter to a temporary directory.

Also note that at least one test is known to be broken here. Actually,
the test is not really broken: it's marked as a TODO but unfortunately
Kyua's TAP parser currently does not understand that. Will have to be
fixed separately.


# d14afb2a 15-Mar-2014 Julio Merino <jmmv@FreeBSD.org>

Migrate tools/regression/{usr.bin/lastcomm,usr.sbin}/ to the new tests layout.

This change was originally going to only migrate the usr.sbin tests but, as
it turns out, the usr.sbin/sa/ tests require files from usr.bin/lastcomm/
so it's better to just also migrate the latter at the same time. The other
usr.bin tests will be moved separately.

To make these tests work within the test suite, some of them have required
changes to prevent modifying the source directory and instead just rely on
the current directory for file manipulation.


# c68de748 15-Mar-2014 Julio Merino <jmmv@FreeBSD.org>

Migrate tools/regression/sbin/ to the new tests layout.

Pretty much all that this change does is shuffles the code around and hooks
it into the regular build. The code of the old tests has not changed.


# a8eb96d5 23-Jan-2014 Alan Somers <asomers@FreeBSD.org>

Replace the old unix_seqpacket and unix_seqpacket_exercise tests, which
were a little broken and not automatable, with unix_seqpacket_test.
It's coverage is a superset of the old tests and it uses ATF. It
includes test cases for bugs kern/185813 and kern/185812.

PR: kern/185812
PR: kern/185813
Sponsored by: Spectra Logic
MFC after: 2 weeks


# 762c167e 10-Jan-2014 Julio Merino <jmmv@FreeBSD.org>

Respect the original layout of the atf-{c,c++} tests.

Put test programs for internal modules into a 'detail' subdirectory of the
libatf-c and libatf-c++ test directories, just as the upstream distribution
does. This is necessary because the tests assume such layout to find the
process_helper program, and currently fail because of this divergence.

MFC after: 1 week


# 13de33a5 10-Dec-2013 Julio Merino <jmmv@FreeBSD.org>

Migrate tools/regression/bin/ tests to the new layout.

This change is a proof of concept on how to easily integrate existing
tests from the tools/regression/ hierarchy into the /usr/tests/ test
suite and on how to adapt them to the new layout for src.

To achieve these goals, this change:

- Moves tests from tools/regression/bin/<tool>/ to bin/<tool>/tests/.
- Renames the previous regress.sh files to legacy_test.sh.
- Adds Makefiles to build and install the tests and all their supporting
data files into /usr/tests/bin/.
- Plugs the legacy_test test programs into the test suite using the new
TAP backend for Kyua (appearing in 0.8) so that the code of the test
programs does not have to change.
- Registers the new directories in the BSD.test.dist mtree file.

Reviewed by: freebsd-testing
Approved by: rpaulo (mentor)


# 21203fdd 17-Nov-2013 Julio Merino <jmmv@FreeBSD.org>

Add some sample test programs.

This change adds some sample test cases to share/examples/tests/
demonstrating the basic usage of the atf and plain interfaces.

These test programs are fully-functional and are installed as part
of the test suite, which guarantees that the sample code remains
correct. However, they currently mostly serve as a placeholder for
additional examples and may be incomplete (depending on how you
look at them). I will see what else can be useful while working on
documentation.

As a bonus, the addition of these tests exercise the *.test.mk files,
one of which (plain.test.mk) was not yet in use, and also demonstrates
that it's possible to mix different kinds of test programs into the
same test suite.

Approved by: rpaulo (mentor)


# 5efcd27a 16-Nov-2013 Julio Merino <jmmv@FreeBSD.org>

Move all atf directories to the tests mtree.

This is to ensure that test-related directories don't get needlessly
created (and later deleted) when MK_TESTS=no.

Problem found by jhb@.

Approved by: rpaulo (mentor)


# fba3cde9 08-Nov-2013 Julio Merino <jmmv@FreeBSD.org>

Build and install the atf tests.

Reviewed by: freebsd-testing
Approved by: rpaulo (mentor)


# e2197f80 24-Oct-2013 Rui Paulo <rpaulo@FreeBSD.org>

Set up the /usr/tests hierarchy.

Populate /usr/tests with the only test programs that currently live
in the tree (those in lib/libcrypt/tests/) and add all the build
machinery to accompany this change.

In particular:

- Add a WITHOUT_TESTS variable that users can define to request that
no tests be put in /usr/tests.
- Add a top-level Kyuafile for /usr/tests and a way to create similar
Kyuafiles in top-level subdirectories.
- Add a BSD.tests.dist file to define the directory layout of
/usr/tests.

Submitted by: Julio Merino jmmv google.com
Reviewed by: sjg
MFC after: 2 weeks