History log of /src/distrib/sets/lists/tests/mi
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.1401 23-Nov-2025 riastradh

ld.elf_so(1): Test concurrent dlopen/dlclose.

PR lib/59751: dlclose is not MT-safe depending on the libraries
unloaded


# 1.1400 12-Nov-2025 sjg

Add tests for make:sh1


# 1.1399 21-Oct-2025 perseant

Add tests for LFS resize and new fcntl commands.


# 1.1398 13-Oct-2025 kre

add entries for new tests/fs/lfs/t_{basic,orphan}


# 1.1397 10-Oct-2025 christos

Commit GSoC 2025 aio project by Ethan Miller:
https://blog.netbsd.org/tnf/entry/gsoc2025_asynchronous_i_o_framework


# 1.1396 06-Oct-2025 riastradh

libpthread: Test pthread stubs in threaded vs non-threaded programs.

PR lib/59685: libcrypto should not depend on libpthread


# 1.1395 06-Oct-2025 riastradh

libpthread: Test pthread_create link errors without -(l)pthread.

Prompted by:

PR lib/59685: libcrypto should not depend on libpthread


# 1.1394 15-Sep-2025 riastradh

ctype(3): New environment variable LIBC_ALLOWCTYPEABUSE.

If set, this does not force the ctype(3) functions to crash when
passed invalid inputs -- instead, they will return nonsense results,
and possibly print warnings to stderr, as is their right in
implementing undefined behaviour.

The nature of the nonsense results is unspecified. Currently, is*()
will always return true (even if that leads to mutually contradictory
conclusions, like isalpha and isdigit, or isgraph and isblank), and
tolower/toupper() will always return EOF. But perhaps in the future
the results may be randomized.

This way, if an application like firefox crashes on ctype abuse, you
can opt to accept the consequences of nonsense results instead by
running `env LIBC_ALLOWCTYPEABUSE= firefox' until the application is
fixed.

PR lib/58208: ctype(3) provides poor runtime feedback of abuse


# 1.1393 06-Sep-2025 rillig

lint: reword message for bit-shift in trad-C90 migration mode

Mentioning the type names gives a hint about why the behavior differs;
the message only occurs when the type of the shift amount has higher
rank than the type of the shifted value.


# 1.1392 31-Aug-2025 rillig

lint: check for mismatches in snprintb conversions

Seen in sh3/dmacreg.h, SH3_DMAC_CHCR_BITS.


# 1.1391 06-Aug-2025 charlotte

distrib/sets/lists/tests/mi: Add missing Kyuafiles (from MKKYUA build)


# 1.1390 04-Aug-2025 sjg

We don't need echo.inc


# 1.1389 04-Aug-2025 sjg

Add echo.inc


# 1.1388 03-Aug-2025 sjg

make: ensure output captured in meta file is accurate

In CollectOutput() a newline before the end of job->outBuf
results in a short write to stdout, but meta_job_output()
was recording the entire string in the meta file, so on
next call the left overs would be duplicated in the meta file.

Pass a length to meta_job_output() if it should only report part of
the data in meta file.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
# 1.1387 20-Jul-2025 joe

branches: 1.1387.2;

l2 only tests

for this test suite, we test to ensure that all frames
are passed by default when no layer 2 rules are set in the config

reviewed by christos@


# 1.1386 18-Jul-2025 christos

Fixes for openssl-3.5.1


# 1.1385 17-Jul-2025 kre

ATF test additions for O_CLOFORK.

These are Ricardo Branco's ATF test modifications for O_CLOFORK
& SOCK_CLOFORK (with some FD_CLOFORK included).

These have all been made able to be built & run in an environment
where O_CLOFORK (etc) are not yet visible to userland.


# 1.1384 17-Jul-2025 christos

fix version


# 1.1383 17-Jul-2025 christos

more openssl=35 additions.


# 1.1382 29-Jun-2025 rillig

tests/make: test backslash at the end of a line and in the :M modifier

As described in PR bin/46139 by David A. Holland.


# 1.1381 27-Jun-2025 rillig

tests/make: test missing support for $^

Test provided by Diogo Santos via PR bin/59018; extended by me for .WAIT
and implicit rules.


# 1.1380 13-Jun-2025 rillig

make: add on-demand inter-process stack traces

When debugging a build that heavily uses nested calls to sub-makes, the
chain of calls is useful to quickly assess the situation. If explicitly
requested, include the actions from any parent processes in the stack
traces.

Reviewed by: sjg


# 1.1379 05-Jun-2025 kre

Add the new "expected" file which should have been in the prev commit.


# 1.1378 05-Jun-2025 rillig

make: remove empty line from diagnostic, add tests for output handling

The warning for the invalid internal option "-J" does not need a
trailing newline, as that is provided by Parse_Error already.

Having this newline in the output demonstrated a previously unknown bug
in handling the output of child commands in parallel mode. There, empty
lines are randomly discarded, depending on the chunks in which the
output from the child process is copied to make's stdout. See
job-output.mk for a demonstration.

The test for the Korn shell did not run the Korn shell in error handling
mode, as the error handling mode only affects the parallel mode but the
test didn't switch to that mode.

After fixing the shell-ksh.mk test, the single '"' in the output looked
suspicious, and indeed, the shell-csh.mk test had the same problem of
filtering more characters from the output than intended.


# 1.1377 05-Jun-2025 rillig

distrib/sets/lists/tests/mi: remove duplicate line


# 1.1376 02-May-2025 riastradh

lib/csu: Test a static PIE with RELR relocations.

PR bin/59360: ld.elf_so(8): missing RELR support


# 1.1375 02-May-2025 rillig

tests/strpct: demonstrate rounding errors


# 1.1374 02-May-2025 riastradh

ld.elf_so: Add a trivial test for R_*_RELATIVE relocations.

PR bin/59360: ld.elf_so(8): missing RELR support


# 1.1373 27-Apr-2025 martin

Fix names of new CSU tests


# 1.1372 27-Apr-2025 riastradh

lib/csu: Add tests of {static, dynamic} x {pie, non-pie}.

Main goal here is to test static pies, but let's take advantage of
this to test the same code several ways, since the csu logic has some
differences for static vs dynamic builds too like the ordering of
_libc_init calls.

PR lib/59359: static pies are broken


# 1.1371 22-Apr-2025 nia

Add basic tests for timespec_get(3), timespec_getres(3)

PR standards/58608


# 1.1370 20-Apr-2025 riastradh

Test stack pointer alignment in various scenarios.

1. elf entry point
2. main function
3. signal handler

Extend the test to amd64 while here -- fortunately both aarch64 and
amd64 pass, but others, such as mips, will fail:

PR kern/59327: user stack pointer is not aligned properly

This extends the test that was previously written for:

PR kern/58149: aarch64: Cannot return from a signal handler if SP was
misaligned when the signal arrived

With any luck, this will help us to systematically eradicate misaligned
stack pointers as hypothesized to be the reason for:

PR port-mips/59236: Multiple segfaults in erlite3 boot


# 1.1369 16-Apr-2025 riastradh

t_rtld_r_debug: Test this as a non-PIE executable too.

On MIPS, non-PIEs can use DT_MIPS_RLD_MAP or DT_MIPS_RLD_MAP_REL,
while PIEs can't use DT_MIPS_RLD_MAP because it relies on an absolute
virtual address baked into the file. So it's important to test both.

PR port-mips/59296: t_rtld_r_debug test is failing


# 1.1368 13-Apr-2025 rillig

tests/make: add tests for POSIX mode


# 1.1367 09-Apr-2025 kre

Undo previous, I suspect committed by mistake.

The t_close_range (and close_range() itself) hasn't been committed
yet, so adding the test in here can't be correct (yet).


# 1.1366 09-Apr-2025 christos

updates for new OpenSSH


# 1.1365 05-Apr-2025 riastradh

t_compat_cancel: Update set lists.

PR lib/59240: POSIX.1-2024: cancellation point audit
PR lib/59247: pthread_cancelstub.c is inadequately tested


# 1.1364 01-Apr-2025 riastradh

stddef.h: New nullptr_t, unreachable().

Define __STDC_VERSION_STDDEF_H__ while here.

Order content according to standard, and quote the relevant clauses,
to make it easier to audit.

PR standards/58605: C23: __STDC_*_H__ versions
PR standards/58620: C23: <stddef.h> unreachable() macro
PR standards/58621: C23: <stddef.h> nullptr_t


# 1.1363 31-Mar-2025 riastradh

pthread_cancel(3): Add some automatic tests.

PR lib/59240: POSIX.1-2024: cancellation point audit
PR lib/59134: POSIX-1.2024: pthread_setcancelstate must be
async-signal-safe


# 1.1362 28-Mar-2025 riastradh

t_ctype: New test for ctype(3) functions/macros.

PR lib/58208: ctype(3) provides poor runtime feedback of abuse


# 1.1361 13-Mar-2025 riastradh

execve(2), posix_spawn(2): Add test case for an embarrassing bug.

PR kern/58091: after fork/execve or posix_spawn, parent kill(child,
SIGTERM) has race condition making it unreliable


# 1.1360 02-Mar-2025 riastradh

libc: New _r variants of heapsort, mergesort, qsort.

Also kheapsort_r for kernel/standalone use.

These variants allow the caller to pass a cookie through to the
comparison function, e.g. if you want to sort an array of indices
into a buffer.

qsort_r is new in POSIX.1-2024; the others are obvious analogues of
our nonstandard extensions for heapsort and mergesort.

PR lib/58931: qsort_r() missing


# 1.1359 27-Feb-2025 riastradh

Test whether exec/spawn will zero registers.

Currently implemented only for a handful of architectures; should
extend this to all the others, and extend as appropriate if we find
more register content is worth testing (like maybe vector registers,
but they are managed differently anyway and less likely to leak).

VAX test contributed (and tested) by Kalvis Duckmanton, with some
tweaks by me; the others written and tested by me. IA64 skipped,
even though I suspect it _would_ leak if the kernel code ran as is,
because I have no way to test it.

PR kern/59084: exec/spawn leaks register content


# 1.1358 23-Jan-2025 christos

add new test


# 1.1357 18-Jan-2025 rillig

tests/gcov: demonstrate wrong coverage report after vfork/exec

Discovered in usr.bin/make, function Cmd_Exec.

The coverage test I ran on 2024-07-13 was still good. I don't remember
the exact version of NetBSD-current I was running back then.

With NetBSD-current from 2025-01-17, gcov does not report full coverage
data after a vfork/exec call. Running the test program inside ktrace
shows that after a vfork call, the child process writes its coverage data
back, probably right before the exec call, but the parent process
doesn't.

Running a child process through system(3) is not affected; there,
posix_spawn is used instead of vfork/exec.


# 1.1356 10-Jan-2025 rillig

tests/make: test expressions based on undefined variables

When an undefined variable is used in a conditional, make complains about
"Malformed conditional", which is wrong since the conditional is
well-formed but errors out during evaluation.

In order to fix this wrong error message and preserve the remaining
behavior, cover the places in which an expression is evaluated with
undefined expressions being an error (VARE_EVAL_DEFINED), but with
neither producing an error message nor handling errors. This combination
results in the same behavior as evaluating the expressions in the mode
that allows undefined variables to be used in expressions.


# 1.1355 02-Jan-2025 kre

Fix build after recent regex tests addition (make it be an addition, and
don't forget tests/libtre)


# 1.1354 01-Jan-2025 christos

new regex test.


# 1.1353 23-Dec-2024 riastradh

distrib/sets/lists/tests/mi: Copied & pasted wrong line, oops.

This shiny new test is definitely not obsolete!

Should fix:

atf-run: ERROR: Cannot locate the t_time_arith file

PR kern/58922: itimer(9): arithmetic overflow
PR kern/58925: itimer(9) responds erratically to clock wound back
PR kern/58926: itimer(9) integer overflow in overrun counting
PR kern/58927: itimer(9): overrun accounting is broken


# 1.1352 22-Dec-2024 riastradh

t_time_arith: New test for timer calculations.

This will facilitate fixing various problems in the arithmetic to
determine, given an itimer's scheduled time (it_value) and periodic
interval (it_interval) along with the current time of actual expiry
(now), what time the itimer should be rescheduled for (next, new
value of it_timer) on the same clock.

Later we can also put tests for other functions like tvtohz here, and
make them test many different values of hz/tick.

XXX Not 100% sure about all of these cases -- there is some room for
reasonable discussion about what the right answer is. But we have
unquestionably implemented the wrong thing for many of these cases,
even if the answers this test checks for may not be quite right yet.

PR kern/58922: itimer(9): arithmetic overflow
PR kern/58925: itimer(9) responds erratically to clock wound back
PR kern/58926: itimer(9) integer overflow in overrun counting
PR kern/58927: itimer(9): overrun accounting is broken


# 1.1351 18-Dec-2024 riastradh

tests/usr.bin/cc: Add test for ctype(3) detection.

PR lib/58912: ctype(3) abuse detection fails for variable references


# 1.1350 17-Dec-2024 christos

add a PT_KILL test.


# 1.1349 08-Dec-2024 rillig

lint: warn about do-while macros that end with a semicolon


# 1.1348 01-Dec-2024 rillig

lint: warn about function definitions that still use identifier lists


# 1.1347 23-Nov-2024 rillig

lint: use separate message when discarding a qualifier in call


# 1.1346 10-Nov-2024 riastradh

tests/kernel/t_cloexec: New tests for close-on-exec.

Verified that the following tests fail on a netbsd-10 kernel:

- clonedev_posixspawn
- dup3_posixspawn
- fcntldupfd_posixspawn

PR kern/58822: close-on-exec is broken for dup3 and opening cloning
devices


# 1.1345 30-Oct-2024 christos

Hook zstd to the build and enable it for libarchive and file.


# 1.1344 18-Oct-2024 christos

add makefs test


# 1.1343 17-Oct-2024 christos

more libarchive tests


# 1.1342 12-Oct-2024 riastradh

ftp(1): Add test for custom HTTP header fields.

Based on a patch from Sunil Nimmagadda <sunil@nimmagadda.net>.

PR bin/58581: ftp(1) should allow specifying header fields in http
requests


# 1.1341 09-Oct-2024 kre

Add a test for clock_nanotime() [ PR kern/58733 ]

Add a t_nanosleep test to the kernel tests, to (to a limited extent)
validate its functionality.

Initially this concentrates on the issue from PR kern/58733
where if a process paused in nanosleep() is stopped, and then
continued, and if it is using TIMER_ABSTIME, the call will
return prematurely, but indicating success.

There are (currently) 4 test cases, to test all 4 possibilities
using CLOCK_MONOTONIC and CLOCK_REALTIME (if someone wants to
add any other clocks that make sense, that should be easy) and
TIMER_ABSTIME and TIMER_RELTIME.

Currently both TIMER_ABSTIME tests fail (the TIMER_RELTIME
tests pass). When the kernel bug is fixed, the ABSTIME
tests should be fixed along with it.

These tests are currently somewhat crude, and I'm not sure
how well they will work on a qemu test system (they work as
expected on bare metal).


# 1.1340 03-Oct-2024 christos

new semtimedop(2) GSoC 2024 (Shivraj Jamgade)


# 1.1339 19-Sep-2024 gdt

tests: Add test for remquo

This test currently fails, because remquo has bugs. (A bugfix will be
committed soon.) Test vectors derived from results from code by
Charles Karney in GeodesicLib/proj, and manually inspected.


# 1.1338 15-Sep-2024 martin

Mark new if_bridge test files as conditional on RUMP


# 1.1337 09-Sep-2024 riastradh

math.h: Add math_errhandling, MATH_ERRNO, MATH_ERREXCEPT.

XXX Should maybe put a __math_errhandling in machine/math.h, but only
VAX uses MATH_ERRNO and that's not likely to change any time soon, so
this will serve for now with less churn.

PR standards/56234: missing C99 frobs in <math.h>


# 1.1336 03-Sep-2024 ozaki-r

distrib: install uuencoded pcap files for testing


# 1.1335 02-Sep-2024 ozaki-r

distrib, etc: install shmif_pcapin and its tests


# 1.1334 27-Aug-2024 riastradh

arc4random(3): Add automatic tests.

This verifies that:
- arc4random zeroes its state and reseeds itself on fork
- arc4random reseeds itself on entropy consolidation (e.g., VM clone)
- arc4random falls back to global state if it can't allocate local
state because address space limits cause mmap to fail

NOTE: This adds a new libc symbol __arc4random_global, but it's in
the reserved namespace and only used by t_arc4random, so no libc
minor bump.

PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork


# 1.1333 20-Aug-2024 ozaki-r

tests: add tests for shmif

The test file is placed under tests/net, not tests/rump/rumpnet,
to leverage utility functions provided for tests in there.


# 1.1332 15-Aug-2024 riastradh

libc: New functions c8rtomb(3) and mbrtoc8(3).

New in C23, for converting from UTF-8 to locale-dependent multibyte
sequences (c8rtomb) or vice versa (mbrtoc8), along with the new type
char8_t.

Conditional on either:
- _NETBSD_SOURCE
- _ISOC23_SOURCE
- __STDC_VERSION__ >= 202311L

(Riding the libc minor bump from this morning for the UTF-16/UTF-32
versions from C11.)

PR standards/58601: uchar.h C23 compliance: char8_t, mbrtoc8, c8rtomb


# 1.1331 15-Aug-2024 riastradh

libc: New C11 functions mbrtoc16, mbrtoc32, c16rtomb, c32rtomb.

The mbrtoc16/32 functions read mulitbyte strings according to the
current locale into UTF-16/32 code unit sequences; the c16/32rtomb
functions write UTF-16/32 code unit sequences into multibyte strings
according to the current locale. The `r' means restartable: they
work incrementally and pick up where they left off.

NOTE: This bumps the libc minor version, since it adds new symbols.

PR lib/52374: <uchar.h> missing


# 1.1330 15-Aug-2024 riastradh

uchar.h: New header file for C11 (and C++11) compliance.

Implementation of the new functions mbrtoc16, c16rtomb, mbrtoc32, and
c32rtomb to come later. Updates for C23 to come later.

PR lib/52374: <uchar.h> missing


# 1.1329 09-Aug-2024 bad

add tests/kernel/t_umount.c: test case for unmount(2)

demonstrate that failing to umount and async mounted file system causes the
kernel syncer to start flushing dirty buffers for it.

PR kern/58564: async mounts revert to being synced after failed unmount


# 1.1328 10-Jul-2024 rillig

lint: add warning for '!(var = constant)'

This catches expressions like 'ATF_CHECK(errno = ENOENT)', which was
intended to use '==' instead of '='.


# 1.1327 10-Jul-2024 rillig

distrib/lists: format list of test files


# 1.1326 07-Jul-2024 riastradh

t_ifunc: Test with all combinations of {relro, bindnow}.

PR lib/57792


# 1.1325 01-Jul-2024 rillig

tests/make: add newly added test to file list


Revision tags: perseant-exfatfs-base-20240630 perseant-exfatfs-base
# 1.1324 16-Jun-2024 rillig

branches: 1.1324.2;
tests/morse: add basic tests


# 1.1323 15-Jun-2024 wiz

Really mark obsolete


# 1.1322 15-Jun-2024 wiz

add some obsolete files to set lists


# 1.1321 13-Jun-2024 martin

Add new test files for new libarchive version


# 1.1320 10-Jun-2024 kre

More libarchive update fallout, don't expect tests we don't install
any more to be present in the contructed filesystem


# 1.1319 09-Jun-2024 rillig

lint: warn about lossy floating point constant to integer conversions


# 1.1318 08-Jun-2024 rillig

tests/lint: group tests by topic


# 1.1317 08-Jun-2024 rillig

tests/lint: reorganize tests

Tests for a single working language construct don't usually need a
separate file, they can be grouped together, like in expr.c or gcc.c.


# 1.1316 11-May-2024 rillig

lint: warn when comparing an integer to a floating point constant


# 1.1315 05-May-2024 riastradh

tests/lib/libm: Test nextafter/nexttoward and variants.

The tests are fairly trivial but should work without any conditionals
about floating-point formats.


# 1.1314 28-Apr-2024 rillig

tests/cd9660: replace compressed blob with readable hexdump

This test is skipped in most circumstances because it creates a file
whose apparent size is 4.5 GB. It's an ISO 9660 image though,
containing mostly null bytes. Nevertheless, tmpfs doesn't allow such a
big file to be created, so this test is skipped in settings where /tmp
is on a tmpfs.

If the test is run, the ISO image is uncompressed, which takes several
minutes. Replace bzip2 with direct file creation from a hex dump of
that disk image, which is easier to inspect manually and also faster by
about 3 magnitudes.


# 1.1313 28-Apr-2024 riastradh

libstdc++: Add test for PR lib/58206, sync_with_stdio busted.


# 1.1312 22-Apr-2024 pho

Add a test for kern/58149

aarch64: Cannot return from a signal handler if SP was misaligned when the signal arrived


# 1.1311 15-Mar-2024 riastradh

libcrypto: Add some trivial tests for truncated SHA-512 variants.

These should use more of the test vectors from

https://csrc.nist.gov/Projects/Cryptographic-Algorithm-Validation-Program/Secure-Hashing#Testing

but this will do for now to detect the buffer overrun rake we left
lying around for ourselves.

PR lib/58039


# 1.1310 14-Mar-2024 rillig

tests/stat: test the left-aligned and right-aligned 'S' format


# 1.1309 03-Mar-2024 rillig

lint: check for unreachable bits and fields in snprintb formats

While here, clean up a few existing checks.


# 1.1308 02-Mar-2024 rillig

lint: check snprintb formats for overlapping bits and fields


# 1.1307 01-Mar-2024 rillig

lint: test format strings from snprintb calls

The functions snprintb and snprintb_m are specific to NetBSD, and their
format strings are tricky to get correct. Provide some assistance in
catching the most common mistakes.


# 1.1306 19-Feb-2024 riastradh

longjmp(3): Add test for PR lib/57946.


# 1.1305 03-Feb-2024 rillig

lint: warn about short octal escape followed by '8' or '9'

These mistakes is typically found in snprintb format directives but is
probably a typo everywhere else as well.


# 1.1304 02-Feb-2024 rillig

tests/lint: test UTF-8 mode


# 1.1303 02-Feb-2024 rillig

tests/lint: test lexing of characters and strings


# 1.1302 27-Jan-2024 rillig

tests/lint: test integer constants in different language levels


# 1.1301 25-Jan-2024 mrg

add missing mtree subdir and it's Atffile.


# 1.1300 25-Jan-2024 riastradh

mtree(8): Test the installed sets.

Except etc and xetc, which likely won't match for reasons that aren't
great, like etc including empty log files which in an installed
system have probably changed.

This test will probably fail, but we should make sure it doesn't!

PR misc/57877


# 1.1299 23-Jan-2024 rillig

tests/lint: revert accidental addition of test for lint message 356


# 1.1298 23-Jan-2024 rillig

lint: rename symt_t to symbol_kind

It was confusing to have two kinds of "symbol type" (s_type and s_symt),
so rename all related identifiers to be more distinctive.

No functional change.


# 1.1297 24-Nov-2023 riastradh

pthread: Add tests for pthread user stack allocation.

PR lib/57721

XXX pullup-10
XXX pullup-9
XXX pullup-8


# 1.1296 10-Nov-2023 christos

Add test for:
PR/57689: RVP: getcwd() not overridable with -D_FORTIFY_SOURCE


# 1.1295 17-Oct-2023 rjs

The t_fdrestart test requires rump.


# 1.1294 15-Oct-2023 riastradh

t_fdrestart: New test of closing fd with another thread in I/O on it.

Adapted from regress/sys/kern/dislodgefd.

PR kern/57659


# 1.1293 26-Aug-2023 rillig

tests/usr.bin/error: add basic tests for several error message styles


# 1.1292 26-Aug-2023 riastradh

certctl(8): New tool for managing OpenSSL CA certificates.

Same command-line syntax as FreeBSD, clearer semantics about which
parts are config and which parts are cache.


# 1.1291 20-Aug-2023 riastradh

distrib/sets/lists/tests: Correction: h_inotify_* are MI.

Debug lists are probably still wrong, though -- looks like there's no
rule to change h_inotify_*.out.debug to h_inotify_*.debug. Out of
energy to look into this further, though; please fix me!


# 1.1290 20-Aug-2023 riastradh

distrib/sets/lists: /usr/tests/compat/linux/h_* is amd64-only for now.


# 1.1289 20-Aug-2023 riastradh

distrib/sets/lists: Add .debug files for new compat/linux tests.


# 1.1288 19-Aug-2023 christos

Add inotify tests


# 1.1287 07-Aug-2023 rillig

tests/lint: show that portable mode depends on PTRDIFF_TSPEC

Since 2023.07.08.12.45.43, lint warns in lib/libkvm on i386.


# 1.1286 06-Aug-2023 rillig

tests/lint: document how much of C99 lint already implements


# 1.1285 04-Aug-2023 riastradh

t_ubsan, t_ubsanxx: Remove gcc=10, gcc=12 conditionals.

These are built unconditionally. Should help fix the clang build.


# 1.1284 03-Aug-2023 rillig

lint: make '_Static_assert' only available in C11 or C23 mode


# 1.1283 03-Aug-2023 rin

Fix lists for HAVE_GCC=12.


# 1.1282 03-Aug-2023 nia

Revert addition of epoll to libc until discussion concludes


# 1.1281 01-Aug-2023 mrg

various updates for GCC 12

- bump some shlibs
- add new header files
- add compiler-version header files
- disable sanitizer libraries for gcc12 for now


# 1.1280 30-Jul-2023 riastradh

ld.elf_so: Add some known-answer tests for hash functions.

Make sure the testing mechanism detects the traditional overflow bug.


# 1.1279 29-Jul-2023 christos

Add tests for t_memfd_create and fix bug found by tests


# 1.1278 28-Jul-2023 christos

Add epoll(2) from Theodore Preduta as part of GSoC 2023


# 1.1277 15-Jul-2023 rillig

tests/lint: demonstrate use-after-free in GCC statement expression


# 1.1276 12-Jul-2023 rillig

tests/lint: add test for _Noreturn from C11


# 1.1275 07-Jul-2023 rillig

tests/lint: merge duplicate tests for C11 _Atomic


# 1.1274 05-Jul-2023 rillig

tests/lint: add platform-specific tests for troublesome pointer casts


# 1.1273 03-Jul-2023 rillig

tests/lint: move platform-specific query tests to separate files

This fixes the tests on 'unsigned char' platforms.

Thanks martin@ for the notification.


# 1.1272 02-Jul-2023 rillig

lint: add initial support for C23

Required by xsrc/external/mit/MesaLib.old, brw_eu_validate.c, which
initializes a struct using empty braces: 'return (struct string){};'.


# 1.1271 16-Jun-2023 rillig

indent: merge lexer symbols for type in/outside parentheses


# 1.1270 16-Jun-2023 wiz

mark some openssl 1.1 files as obsolete with openssl 3


# 1.1269 16-Jun-2023 rillig

tests/make: add test for multiple-inclusion guards


# 1.1268 16-Jun-2023 rillig

tests/make: clean up tests for the ':M' and ':S' modifiers


# 1.1267 14-Jun-2023 rillig

indent: merge parser symbols for stmt and stmt_list

They were handled in exactly the same way.


# 1.1266 01-Jun-2023 rillig

tests/make: clean up comments, extend a few tests


# 1.1265 31-May-2023 riastradh

ld.elf_so: New test for extern initial-exec TLS, PR toolchain/50277.

XXX pullup-10


# 1.1264 20-May-2023 rillig

tests/indent: migrate test driver from AWK to Lua

Lua reports more details when os.execute fails, which is useful when
running old versions of indent for comparison. The new test driver also
supports multiple test files in the same run.


# 1.1263 13-May-2023 rillig

tests/indent: add test for lexing of numbers


# 1.1262 13-May-2023 rillig

distrib/sets: format tests list


# 1.1261 10-May-2023 christos

update the sets for OpenSSL-3.x


# 1.1260 10-May-2023 rillig

tests/make: clean up tests for .for loops

Most of the tests from forloop.mk were already in directive-for.mk.


# 1.1259 09-May-2023 sjg

make: add :mtime to provide mtime of file

The value of the variable is passed to stat(2)
and st_mtime is new value.
An optional arg can be used if stat(2) fails, otherwise
the current time is used.

See varmod-mtime.mk for usage examples.


# 1.1258 23-Apr-2023 rillig

tests/lint: test command line parsing for message and query IDs

The parsing methods differ but shouldn't.


# 1.1257 21-Apr-2023 gutteridge

Add new test t_open_pr_57260

New test case that reflects the fix in PR kern/57260. The majority of
work for this case itself was by riastradh@, who'd supplied the basis
for it in the ticket, and provided further guidance.


# 1.1256 28-Mar-2023 rillig

lint: warn about 'extern' declarations inside function bodies

https://mail-index.netbsd.org/tech-userlevel/2023/03/15/msg013727.html

The previous attempt (message 351 about 'extern' declarations outside
headers) did not cover the proposal from the tech-userlevel mailing list
but instead warns about a different usage pattern of the 'extern'
keyword.


# 1.1255 28-Mar-2023 rillig

lint: warn about extern declarations outside headers

https://mail-index.netbsd.org/tech-userlevel/2023/03/15/msg013727.html


# 1.1254 27-Feb-2023 rillig

lint: split platform-specific test for loss of accuracy

Lint distinguishes between platforms where size_t is unsigned int and
platforms where size_t is unsigned long.


# 1.1253 24-Feb-2023 martin

Add mew file make/unit-tests/meta-ignore.inc


# 1.1252 05-Feb-2023 rillig

tests/lint: merge tests for initialization


# 1.1251 05-Feb-2023 rillig

tests/lint: remove redundant tests

The names of the tests were misleading: 'recursive' should have been
'nested', and the interesting topic in the 'cast' tests was not the cast
but the pointer dereference.


# 1.1250 30-Jan-2023 christos

add t_strchrnul


# 1.1249 29-Jan-2023 rillig

tests/lint: merge tests for '>>'


# 1.1248 23-Jan-2023 sjg

make: .[NO]READONLY for control of read-only variables

Reviewed by: rillig


# 1.1247 22-Jan-2023 rillig

tests/lint: merge tests for declaration after statement


# 1.1246 21-Jan-2023 rillig

lint: add support for the C11 type qualifier '_Atomic'

That keyword can be used as a type specifier as well, support for that
will be added later.


# 1.1245 21-Jan-2023 rillig

tests/lint: test _Atomic, added in C11


# 1.1244 19-Jan-2023 rillig

tests/make: rename files that are not test cases


# 1.1243 16-Jan-2023 rillig

distrib/sets: add missing directory for xlint tests


# 1.1242 15-Jan-2023 rillig

tests/lint: add basic tests for lint (not lint1 or lint2)


# 1.1241 15-Jan-2023 rillig

tests/lint: add test for parsing sizeof expressions


# 1.1240 15-Jan-2023 rillig

distrib/sets: sort list of test files

In ASCII, '_' comes before lowercase letters.


# 1.1239 04-Jan-2023 rillig

tests/lint: merge tests for ':?' with null pointer constant


Revision tags: netbsd-10-base
# 1.1238 01-Dec-2022 ozaki-r

branches: 1.1238.2;
tests: fix Makefile and lists for MKRUMP=no

Pointed out by Michael Scholz, thanks.


# 1.1237 30-Nov-2022 ozaki-r

tests: build and install t_ip_reass.c


# 1.1236 25-Nov-2022 knakahara

Add ATF for unnumbered interfaces.


# 1.1235 22-Nov-2022 jakllsch

Fix h_lualibm debug set lists.


# 1.1234 21-Nov-2022 christos

lua libm API from Phil Rulon


# 1.1233 17-Nov-2022 ozaki-r

distrib: add missing ./usr/libdata/debug/usr/tests/net/inpcb


# 1.1232 17-Nov-2022 ozaki-r

tests: build and install added test files


# 1.1231 17-Nov-2022 chs

Restore backward compatibility of UFS2 with previous NetBSD releases by
disabling support in UFS2 for extended attributes (including ACLs).
Add a new variant of UFS2 called "UFS2ea" that does support extended attributes.
Add new fsck_ffs operations "-c ea" and "-c no-ea" to convert file systems
from UFS2 to UFS2ea and vice-versa (both of which delete all existing extended
attributes in the process).


# 1.1230 10-Nov-2022 blymn

Added new libcurses test checkfile.


# 1.1229 09-Nov-2022 knakahara

Add test for sys/netipsec/ipsec.c:r1.176.


# 1.1228 08-Nov-2022 blymn

Added a new check file for libcurses test slk


# 1.1227 04-Nov-2022 ozaki-r

tests: add tests for invalid extra operations on a shutdown socket

The tests cover some error paths that normally happen.


# 1.1226 04-Nov-2022 ozaki-r

sets: fix wrong keywords for tests/net/tcp


# 1.1225 02-Nov-2022 ozaki-r

tests: add tests for TCP with nc


# 1.1224 11-Oct-2022 knakahara

Add test for sadb_x_policy->sadb_x_policy_flags.


# 1.1223 09-Sep-2022 wiz

grep: when -r is used, but no path argument provided, search the current dir

As discussed on tech-userlevel.


# 1.1222 03-Sep-2022 rillig

tests/make: remove nonexistent file from file list

The file had been added accidentally, it never existed in distdir.


# 1.1221 02-Sep-2022 sjg

Enable make/unit-tests/directive-for-break

Also ensure MAKE_VERSION is ignored.


# 1.1220 27-Aug-2022 christos

Add sincos{,f,l} from FreeBSD


# 1.1219 12-Aug-2022 riastradh

cgdconfig(8): Add support for shared keys.

New clause `shared <id> algorithm <alg> subkey <info>' in a keygen
block enables `cgdconfig -C' to reuse a key between different params
files, so you can, e.g., use a single password for multiple disks.
This is better than simply caching the password itself because:

- Hashing the password is expensive, so it should only be done once.

Suppose your budget is time t before you get bored, and you
calibrate password hash parameters to unlock n disks before you get
bored waiting for `cgdconfig -C'.

. With n password hashings the adversary's cost goes up only by a
factor of t/n.
. With one password hashing and n subkeys the adversary's cost goes
up by a factor of n.

And if you ever add a disk, rehashing it will make `cgdconfig -C'
go over budget, whereas another subkey adds negligible cost to you.

- Subkeys work for other types of keygen blocks, like shell_cmd,
which could be used to get a key from a hardware token that needs a
button press.

The <info> parameter must be different for each params file;
everything else in the keygen block must be the same. With this
clause, the keygen block determines a shared key used only to derive
keys; the actual key used by cgdconfig is derived from the shared key
by the specified algorithm.

The only supported algorithm is hkdf-hmac-sha256, which uses
HKDF-Expand of RFC 5869 instantiated with SHA-256.

Example:

algorithm aes-cbc;
iv-method encblkno1;
keylength 128;
verify_method none;
keygen pkcs5_pbkdf2/sha1 {
iterations 39361;
salt AAAAgMoHiYonye6KogdYJAobCHE=;
shared "pw" algorithm hkdf-hmac-sha256
subkey AAAAgFlw0BMQ5gY+haYkZ6JC+yY=;
};

The key used for this disk will be derived by

HKDF-HMAC-SHA256_k(WXDQExDmBj6FpiRnokL7Jg==),

where k is the outcome of PBKDF2-SHA1 with the given parameters.

Note that <info> encodes a four-byte prefix giving the big-endian
length in bits of the info argument to HKDF, just like all other bit
strings in cgdconfig parameters files.

If you have multiple disks configured using the same keygen block
except for the info parameter, `cgdconfig -C' will only prompt once
for your passphrase, generate a shared key k with PBKDF2 as usual,
and then reuse it for each of the disks.


# 1.1218 12-Aug-2022 riastradh

cgdconfig(8): New -t operation just prints the derived key in base64.

For testing purposes.


# 1.1217 21-Jul-2022 kre

Add ATF tests for realpath(1)

Note that realpath can act differently for root than for other users
(where an ordinary user will see EACCESS root just barrels right through).

The tests adapt themselves, when run as root, less error cases can be
tested than when run as some other user.


# 1.1216 05-Jul-2022 rillig

lint: add additional queries that are not enabled by default

In the last 18 months, several lint warnings have been made adjusted to
allow common usage patterns. For example, lint no longer warns about a
constant condition in the statement 'do { ... } while (false)' (message
161), as this pattern is well-known in statement-like macros, making it
unlikely that the 'false' is a mistake. Another example is casts
between unequal pointer types (message 247) for a few well-known
patterns that are unlikely to be bugs.

Occasionally, it is useful to query the code for patterns or events that
would not justify a warning. These patterns are modeled as predefined
queries that can be selected individually, in addition to and
independently of the existing warnings and errors.

New queries can be added as needed, in the same way as new warnings.
Queries that are deemed no longer used can be deactivated in the same
way as warnings that are no longer used.

As long as none of the queries is enabled, they produce a minimal
overhead of querying a single global variable. Computations that are
more expensive than a few machine instructions should be guarded by
any_query_enabled.

https://mail-index.netbsd.org/source-changes-d/2022/06/28/msg013716.html

ok christos@


# 1.1215 17-Jun-2022 rillig

tests/lint: remove .exp files, as they have become redundant

Now that each lint1 test lists all generated diagnostics as 'expect'
comments, the information from the .exp files is no longer needed. The
only information that gets lost is the order of the diagnostics, which
is mostly relevant for paired messages like 'inconsistent definition' +
'previous definition was here'.


# 1.1214 16-Jun-2022 rillig

tests/lint: add more details to messages in msg_200 until msg_299

Add some tests that were previously empty. Some other tests are still
empty.


# 1.1213 16-Jun-2022 rillig

tests/lint: make expectation lines in the tests more detailed

This commit migrates msg_100 until msg_199.


# 1.1212 10-Jun-2022 rillig

tests/lint: fix test for loss of accuracy on ILP32 platforms

The test had been wrong since msg_132.c 1.14 from 2022-05-30.

Using 'unsigned long' in a test that was intended to behave the same on
ILP32 and LP64 was an accident. Use 'unsigned long long' instead, which
is 64-bits wide on all platforms supported by lint.

Move the test about conversion from 'long' to 'int' to the
platform-specific test files.

Noticed by martin@ on powerpc.


# 1.1211 06-Jun-2022 nia

Remove accidentally committed merge conflict line.


# 1.1210 06-Jun-2022 nia

build system: Revert all the recent additions of MK[...] knobs that
allow conditionally disabling the building of certain user space
programs in the 'base' set.

There is not enough consensus that this is the right way and a few
people had strong objections, see source-changes-d@.


# 1.1209 31-May-2022 riastradh

libc: Reintroduce getentropy.

This was introduced two years ago when the getrandom/getentropy API
question was still open, and removed because the discussion was
ongoing. Now getentropy is more widely adopted and soon to be in
POSIX. So reintroduce the symbol into libc since we'll be keeping it
anyway. Discussion of details of the semantics, as interpreted by
NetBSD, is ongoing, but the symbol needs to get in before the
netbsd-10 branch. The draft POSIX text is
(https://www.opengroup.org/austin/docs/austin_1110.pdf):

SYNOPSIS
#include <unistd.h>

int getentropy(void *buffer, size_t length);

DESCRIPTION
The getentropy() function shall write length bytes of data
starting at the location pointed to by buffer. The output
shall be unpredictable high quality random data, generated by
a cryptographically secure pseudo-random number
generator. The maximum permitted value for the length
argument is given by the {GETENTROPY_MAX} symbolic constant
defined in <limits.h>.

RETURN VALUES
Upon successful completion, getentropy() shall return 0;
otherwise, -1 shall be retunred and errno set to indicate the
error.

ERRORS
The getentropy() function shall fail if:

[EINVAL] The value of length is greater than
{GETENTROPY_MAX}.

The getentropy() function may fail if:

[ENOSYS] The system does not provide the necessary
source of entropy.

RATIONALE
The getentropy() function is not a cancellation point.

Minor changes from the previous introduction of getentropy into libc:

- Return EINVAL, not EIO, on buflen > 256.
- Define GETENTROPY_MAX in limits.h.

The declaration of getentropy in unistd.h and definition of
GETENTROPY_MAX in limits.h are currently conditional on
_NETBSD_SOURCE. When the next revision of POSIX is finalized, we can
expose them also under _POSIX_C_SOURCE > 20yymmL as usual -- and this
can be done as a pullup without breaking existing compiled programs.


# 1.1208 27-May-2022 nia

mk: Add a MKLFS flag for excluding the log-structured filesystem userspace
tools from the build.


# 1.1207 23-May-2022 rillig

tests/make: document and demonstrate .for i containing .if empty(i)

PR bin/43821 describes the inconsistency that in a '.for i' loop, the
condition '.if ${i:M*.c}' works since 2009 while the seemingly
equivalent condition '.if !empty(i:M*.c)' does not access the variable
'i' from the .for loop but instead the global 'i'.

Resolving this situation in a backwards-compatible and non-surprising
way is hard, as make has grown several features during the last 20 years
that interact in various edge cases. For now, document the most obvious
pitfalls.


# 1.1206 22-May-2022 rillig

tests/compress: demonstrate truncation of target file

Reported by Giorgos Keramidas in PR#19722.


# 1.1205 12-May-2022 rillig

tests/lint: add more tests for __alignof__


# 1.1204 12-May-2022 rillig

tests/lint: adjust tests to reflect missing support of __alignof__

The change in lex.c 1.129 attempted to add support for __alignof, in
addition to the existing support for __alignof__. It failed by removing
support for __alignof__, while allowing the plain 'alignof' instead.


# 1.1203 08-May-2022 rillig

tests/make: remove test varquote

The test varmod-quote-dollar covers the same topic.


# 1.1202 08-May-2022 rillig

tests/make: migrate cond1 test to other, more specific tests

The tests in cond1 were a mixture of "everything related to conditions",
and the test cases were heavily dependent on each other, which made them
hard to understand. Move each test case to its corresponding
special-purpose test.


# 1.1201 29-Apr-2022 pgoyette

Add a new test for PR kern/56713 and set to expected_failure for now.


# 1.1200 28-Apr-2022 rillig

lint: revert resolving grammar conflicts for labeled statements

Restore the grammar rule for labeled_statement as it was before cgram.y
1.400 from 2022-04-24. This allows labels with attributes again. Fix
the wrong interpretation in the tests; the attributes belong to the
label, not to the statement.

Today in the morning, when I thought that the change in cgram.y 1.400
were innocent, I accidentally ran lint only with the options '-Sw' but
forgot the option '-g' for GNU mode. Without that option, the token
'__attribute__' is unknown, which unsurprisingly leads to lots of syntax
errors, and these didn't change with that commit. The actual change was
only visible in GNU mode.


# 1.1199 26-Apr-2022 blymn

Added new libcurses test.


# 1.1198 24-Apr-2022 rillig

tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.


# 1.1197 24-Apr-2022 rillig

tests/indent: migrate tests for parentheses, brackets, braces


# 1.1196 23-Apr-2022 rillig

tests/indent: migrate tests for the tokens '{' and '.'


# 1.1195 23-Apr-2022 rillig

tests/indent: migrate a few token tests to psym tests


# 1.1194 20-Apr-2022 blymn

Add test and check file for bkgrndset


# 1.1193 18-Apr-2022 rillig

make: only switch to POSIX mode if '.POSIX:' is the first line

https://pubs.opengroup.org/onlinepubs/9699919799/utilities/make.html
says that in order to make a makefile POSIX-conforming, its first
non-comment line must be the special dependency line '.POSIX:' without
any source dependencies.

Previously, make switched to POSIX mode even if such a line occurred
anywhere else, which was allowed by POSIX but was deep in the
"unspecified behavior" area. For NetBSD make, there is no big
difference since it doesn't ship any <posix.mk> file, this change mainly
affects the bmake distribution.

Previously, makefiles that contain '.POSIX:' somewhere in the middle
could fail due to <posix.mk> resetting .SUFFIXES, among other things.

Suggested by Simon J. Gerraty, who also reviewed an earlier version of
this change.


# 1.1192 08-Apr-2022 riastradh

membar_ops(3): Add some automatic tests.

These tests run two threads for five seconds each to try to trigger
races in the event of broken memory barriers. They run only on
machines with at least two CPUs; on uniprocessor systems there's no
point -- the membars can correctly just be (instruction barrier)
no-ops.


# 1.1191 08-Apr-2022 rillig

lint: remove unused message 70, add some more tests


# 1.1190 05-Apr-2022 rillig

tests/lint: add tests for a few early messages


# 1.1189 28-Mar-2022 christos

Add t_link


# 1.1188 12-Feb-2022 rillig

tests/make: document the history of bugs in '-k' mode

Reported in PR#49720 in 2015, fixed independently in compat.c 1.199 from
2020-12-07.


# 1.1187 12-Feb-2022 rillig

tests/make: demonstrate bug for .SILENT in jobs mode (since 2003)

Reported 2011 in PR#45356.


# 1.1186 07-Feb-2022 rillig

tests/make: demonstrate combination of .USE with transformation rule

Reported in 2003 in PR toolchain/20993. Linking a transformation rule
with .USE or .USEBEFORE node makes the transformation rule fail.


# 1.1185 23-Jan-2022 rillig

tests/make: migrate modts to varmod-to-separator and explain


# 1.1184 23-Jan-2022 rillig

tests/make: rename var-class to var-scope

There is no such concept as a "variable class" in make, these tests
focus on the variable scope instead.


# 1.1183 23-Jan-2022 rillig

tests/make: extend test suite, move old tests to 2020 scheme

The tests from envfirst.mk are now in opt-env.mk.
The tests from modword.mk are now in varmod-select-words.mk.


# 1.1182 19-Jan-2022 rillig

tests/make: demonstrate wrong location in diagnostic (since 2018-12-22)

When a target has multiple places where commands are defined, the
diagnostics mixed up the filename in some cases.


# 1.1181 28-Dec-2021 rillig

tests/make: document inconsistencies between '!=' and '::!='

Found while trying to make the error messages from Cmd_Exec more
detailed.


# 1.1180 23-Dec-2021 rillig

tests/make: explain the current behavior of the option '--version'


# 1.1179 20-Dec-2021 rillig

tests/lint: test excess braces around initializers


# 1.1178 14-Dec-2021 rillig

make: remove unreachable code for parsing the dependency operator

At the point where ParseDependencyOp is called, cp is guaranteed to
point to either ':' or '!'.

No functional change.


# 1.1177 13-Dec-2021 rillig

tests/make: extend tests for parsing makefiles


# 1.1176 12-Dec-2021 rillig

tests/make: test and document the newly added "variable" .SUFFIXES


# 1.1175 06-Dec-2021 rillig

tests/lint: demonstrate wrong warning for __builtin_alloca


# 1.1174 05-Dec-2021 rillig

make: fix use-after-free in modifier ':@'

Without memory allocator debugging, the newly added test doesn't show
any obvious failure.

With memory allocator debugging enabled, all make versions since
2016.02.27.16.20.06 crash with a segmentation fault.


# 1.1173 28-Nov-2021 rillig

tests/indent: migrate token_question to lsym_question and extend it


# 1.1172 28-Nov-2021 rillig

tests/indent: migrate test token_case_label to lsym_case_label


# 1.1171 28-Nov-2021 rillig

tests/indent: migrate token_comma to lsym_comma

The section on initializer values is new.


# 1.1170 28-Nov-2021 rillig

tests/indent: move test for ':' to lsym_token.c


# 1.1169 28-Nov-2021 rillig

indent: treat L"string" as a single token

There is never whitespace between the 'L' and the string literal or the
character constant. There might be a backslash-newline between them, but
that case was not handled before either.

No functional change.


# 1.1168 18-Nov-2021 rillig

tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.


# 1.1167 18-Nov-2021 rillig

distrib/sets: sort mi file


# 1.1166 18-Nov-2021 thorpej

Add a test case for backtrace(3) across a signal handler.


# 1.1165 17-Nov-2021 kre

Adjust new libcurses test filenames to the ones atually installed.
Possibly the intent was that the names used here were correct, and
the error is where they're installed - if so, that can be corrected later.

Hopefully this will fix the remaining current build issue.


# 1.1164 16-Nov-2021 blymn

Add more check files for libcurses tests.


# 1.1163 15-Nov-2021 blymn

Add new check files for curses atf.


# 1.1162 30-Oct-2021 rillig

lint: warn if an enum name is used for mismatched array access

This helps to keep the enum definition and the straight-forward
implementation of a to_string or name function in sync.

The test for message 241 had to be adjusted because of exactly this bug.
That test defined a bit mask enum but accessed it like a value enum
type.


# 1.1161 23-Oct-2021 rillig

tests/indent: migrate remaining tests from t_indent to t_options

The test types_from_file was a subset of opt_U and thus has been
removed.


# 1.1160 23-Oct-2021 rillig

tests/indent: migrate test for '-bap -sob' to t_options


# 1.1159 23-Oct-2021 rillig

tests/indent: migrate test for '--version' to t_options


# 1.1158 23-Oct-2021 rillig

tests/indent: migrate test for offsetof to t_options


# 1.1157 23-Oct-2021 rillig

tests/indent: remove redundant test list_head

The test cases are already in fmt_decl.c, in old_style_definition and
LIST_HEAD.


# 1.1156 23-Oct-2021 rillig

tests/indent: migrate f_decls to using t_options, add more tests


# 1.1155 23-Oct-2021 thorpej

Fix a regression introduced in kern_event.c,v 1.129 that would cause
"udata" to get clobbered on ONESHOT events, and add a unit test for it.
Reported by martin@ (manifested in his case as a KASSERT() firing when
running unit tests in COMPAT_NETBSD32).


# 1.1154 23-Oct-2021 thorpej

Add support for the EVFILT_EMPTY filter, which is activated when the
write buffer associated with the file descriptor is empty. This is
currently implemented only for sockets, and is intended primarily to
provide visibility to applications that all previously written data
has been acknowledged by the TCP layer on the receiver. Compatible
with the same filter in FreeBSD.


# 1.1153 22-Oct-2021 rillig

tests/indent: fix file list


# 1.1152 22-Oct-2021 rillig

tests/indent: fix file list

lex.c got renamed to lex_ident.c.


# 1.1151 22-Oct-2021 rillig

tests/indent: migrate integer options tests to t_options


# 1.1150 22-Oct-2021 rillig

tests/indent: migrate tests for parentheses, struct, #if, wide char


# 1.1149 22-Oct-2021 rillig

tests/indent: migrate a few more tests to t_options


# 1.1148 19-Oct-2021 rillig

tests/indent: add test for INDENT OFF/ON comments

Just to prevent unintended side effects when fixing bugs in this area.


# 1.1147 18-Oct-2021 rillig

tests/indent: remove redundant tests for '-ncs' and '-pcs'

These tests are already covered by opt_cs.c and opt_pcs.c.


# 1.1146 18-Oct-2021 rillig

tests/indent: condense test for indentation level, add missing files


# 1.1145 18-Oct-2021 rillig

tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.


# 1.1144 18-Oct-2021 rillig

tests/indent: extend tests for labels, extract test driver

Having the test driver in a separate file allows to run it on its own,
as 'awk -f t_options.awk label.c'. When the test driver warns, exit 1;
this is only needed for the standalone version, when run from inside ATF
the warnings on stderr already suffice to make the test fail in the end.


# 1.1143 18-Oct-2021 rillig

tests/indent: consolidate tests for comments

These tests have been the motivation for t_options.sh, which allows to
run indent with various command line options on the same input, without
having to create 3 files per test case.

A test file actually contains several tests, all separated by '#indent'
directives. Isolating each of these tests is simpler than having to pick
up the corresponding sections from 3 separate files. Running indent on
each small test case isolates the test cases from each other, preventing
them to influence later test cases. Exactly this had happened when
support for C99 comments was added in March 2021, which later turned
out to be done wrong.


# 1.1142 18-Oct-2021 rillig

tests/indent: merge tests for numbers into token_ident

The previous tests 'binary' and 'float' not only test binary and
floating point numbers, making their names too specific. Move them into
a new test token_ident that covers all "identifier-like" tokens, just as
in the code.

The test cases for the option '-cs' are already covered more
systematically in opt_cs.c, so remove that test.


# 1.1141 16-Oct-2021 rillig

tests/indent: add newly added t_options to file list


# 1.1140 16-Oct-2021 rillig

tests/indent: remove accidentally added file from the mi list


# 1.1139 16-Oct-2021 rillig

tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.


# 1.1138 14-Oct-2021 rillig

tests/indent: provide full line coverage for argument handling


# 1.1137 13-Oct-2021 rillig

indent: check command line options stricter

Previously, bool options were allowed to have trailing garbage. For
example, the option '-bacc' could be spelled '-bacchus' as well.

Check that the exact option name is given in the command line, to
prevent typos in the configuration files and to reduce surprises just in
case a future option is a prefix of an existing option, or vice versa.

Add a new test program for error handling. Most of these tests are so
simple that it would be overkill to create 3 files for each test.


# 1.1136 13-Oct-2021 thorpej

Add support for the NOTE_SECONDS, NOTE_MSECONDS, NOTE_USECONDS,
NOTE_NSECONDS, and NOTE_ABSTIME filter flags to EVFILT_TIMER,
API-compatible with the same in FreeBSD.


# 1.1135 10-Oct-2021 thorpej

Add a test case for the race condition in PR kern/50094, modeled after
the Go run-time scenario described in the PR.


# 1.1134 10-Oct-2021 thorpej

Add a test case to heavily exercise EVFILT_PROC + NOTE_TRACK.


# 1.1133 07-Oct-2021 rillig

tests/indent: test parsing of command line options in profile file


# 1.1132 05-Oct-2021 rillig

tests/indent: demonstrate off-by-one error in edge case


# 1.1131 30-Sep-2021 yamaguchi

Added tests for the linear hook APIs


# 1.1130 26-Sep-2021 rillig

tests/lint: add tests for platform characteristics

Running lint in usr.bin/make on i386 fails due to this warning:

cond.c(800): warning: argument #3 is converted from 'unsigned char' to
'unsigned int' due to prototype [259]

This warning only occurred on i386 but not on sparc or x86_64. Try to
reproduce the test situation in platform_int.

The platform code in t_integration.sh was not strict enough, it didn't
check for multiple conditions, such as in msg_132_ilp32. That test was
only supposed to run on ILP32 platforms where size_t is unsigned int. It
also ran on sparc, even though size_t is long there.


# 1.1129 25-Sep-2021 rillig

tests/indent: test deeply nested struct declarations


# 1.1128 25-Sep-2021 rillig

tests/indent: test edge cases for the tokenizer


# 1.1127 25-Sep-2021 rillig

tests/indent: test lexing of character constants and string literals


# 1.1126 19-Sep-2021 thorpej

Add native implementations of eventfd(2) and timerfd(2), compatible with
the Linux interfaces of the same name.


# 1.1125 13-Sep-2021 rillig

tests/lint: add more tests for direct-abstract-declarator

Lint's grammar in this area differs a lot from the grammar in C99. GCC's
parser has a long comment about special cases in this area. It's tricky
to even parse these type names correctly, let alone assign them the
correct types, that's why it needs more tests before trying to refactor
that code.


# 1.1124 12-Sep-2021 rillig

lint: add more details to error about redeclaration

Message 27 is triggered by several conditions. The one triggered by
register_vget in sbin/fsck_lfs/vnode.c needs more details than the
others.


# 1.1123 10-Sep-2021 rillig

tests/lint: test line number tracking with \v and \f


# 1.1122 03-Sep-2021 rillig

tests/lint: test GCC builtins for overflow in strict bool mode

Seen in inetd.c.


# 1.1121 31-Aug-2021 rillig

tests/lint: add test for prototype conversions in C90

The purpose of warning 259 is to find function calls that differ in the
ABI. The warning's original purpose was not to warn about lossy
conversions, that's just a side effect.

Warning 259 had been implemented before C99 was published, which is more
than 20 years ago. In the meantime, almost all code has migrated to
using function prototypes. With the default lint flags from NetBSD's
<sys.mk>, it would rather make sense to focus on lossy conversions now.

To prepare for potentially upcoming differences in lint's C90 and C99
modes, clone the test now as far as possible. The test for C90 mode is
smaller than for C99 mode, since 'long long' was not available back
then.


# 1.1120 30-Aug-2021 rillig

tests/make: explain where "${var}" in .for loops comes from


# 1.1119 29-Aug-2021 christos

Inetd enhancements by James Browning, Gabe Coffland, Alex Gavin, Solomon Ritzow
Described in:
https://www.mail-archive.com/tech-userlevel@netbsd.org/msg03114.html
And developed in:
https://github.com/ritzow/src/pull/1

From their notes:

All new functionality should be explained by the updated manpage.

The manpage has been refactored a bit: A new section "Directives"
has been added and the information about default hostnames and
IPsec directives has been moved there, and the new file include
directive information is also there.

getconfigent has the most major changes. A newline is no longer
read immediately, but is called only by a "goto more" (inside an
if(false) block). This allows multiple definitions or directives
to exist on a single line for anything that doesn't terminate using
a newline. This means a key-values service definition can be followed
by another key-values service definition, a positional definition,
or an ipsec, hostname, or .include directive on the same line.

memset is no longer used explicitly to clear the servtab structure,
a function init_servtab() is used instead, which uses a C struct
initializer.

The servtab se_group field is its own allocation now, and not just
a pointer into the user:group string.

Refactored some stuff out of getconfigent to separate functions
for use by parse_v2.c. These functions in inetd.c are named with
the form parse_*()

parse_v2.c only has code for parsing a key-values service definition
into a provided servtab. It should not have anything that affects
global state other than line and line_number.

Some function prototypes, structures, and #defines have been moved
from inetd.c to inetd.h.

The function config_root replaces config as the function called on
a config file load/reload. The code removed from the end of
config(void) is now called in config_root, so it is not run on each
recursive config call.

setconfig(void) was removed and its code added into config_root
because that is the only place it is called, and redundant checks
for non-null globals were removed because they are always freed by
endconfig. The fseek code was also removed because the config files
are always closed by endconfig.

Rate limiting code was updated to add a per-service per-IP rate
limiting form. Some of that code was refactored out of other places
into functions with names in the form rl_*()

We have not added any of the license or version information to the
new files parse_v2.c, parse_v2.h, and inetd.h and we have not
updated the license or version info for inetd.c.

Security related:

The behavior when reading invalid IPsec strings has changed. Inetd
no longer exits, it quits reading the current config file instead.
Could this impact program security?

We have not checked for memory leaks. Solomon tried to use dmalloc
without success. getconfigent seemed to have a memory leak at each
"goto more". It seems like inetd has never free'd allocated strings
when throwing away erroneous service definitions during parsing
(i.e. when "goto more" is called when parsing fields). OpenBSD's
version calls freeconfig on "goto more"
(https://github.com/openbsd/src/blob/c5eae130d6c937080c3d30d124e8c8b86db7d625/usr.sbin/inetd/inetd.c#L1049)
but NetBSD only calls it when service definitions are no longer
needed. This has been fixed. freeconfig is called immediately before
any "goto more". There shouldn't be any time when a servtab is in
an invalid state where freeconfig would break.


# 1.1118 28-Aug-2021 rillig

tests/lint: demonstrate hashcode sorting of the lint2 output

The hashcodes modulo 1009 are:

48 func7000
637 func0000
646 no_prototype
697 func1000
757 func2000
817 func3000
877 func4000
937 func5000
997 func6000


# 1.1117 25-Aug-2021 rillig

tests/lint: test conversion from long long to intptr_t on ilp32

Seen in usr.bin/make/var.c:1608.


# 1.1116 24-Aug-2021 rillig

lint: allow libraries to use 128-bit integer types


# 1.1115 24-Aug-2021 rillig

tests/lint2: reduce indentation for mi files


# 1.1114 22-Aug-2021 rillig

tests/lint: demonstrate wrong constant folding in strict bool mode

Found while investigating wrong constant folding in default mode.


# 1.1113 19-Aug-2021 rillig

tests/lint: test folding of constant expressions

Since November 2001, there is a comment above the function 'fold' that
suggests there are a few bugs concerning overflow detection. Add some
first 'proper regression tests' to prove these bugs.


# 1.1112 16-Aug-2021 rillig

tests/lint: test arithmetic promotions and enums


# 1.1111 12-Aug-2021 martin

add directory for debug data for mkdep tests


# 1.1110 11-Aug-2021 rillig

tests/mkdep: test findcc

This function is used by both mkdep and lint.


# 1.1109 09-Aug-2021 rillig

lint: warn about 'char * = strchr(const char *, int)'

Found in findcc.c, there are about 25 other instances of this
incongruency in the whole source tree.

For more examples of functions from the C Standard Library that
implicitly remove the 'const' qualifier from an argument, see the C++
include file 'cstring'.


# 1.1108 08-Aug-2021 rillig

tests/lint: make list of tests simpler

Since the file /usr/tests/usr.bin/xlint/lint2/tests has only been in the
file set for a few minutes, it is not marked as obsolete but simply
removed.


# 1.1107 07-Aug-2021 rillig

tests/lint: test reading of 128-bit integer types and printf


# 1.1106 07-Aug-2021 rillig

tests/lint: add test for reading the lint1 output


# 1.1105 06-Aug-2021 martin

Fix copy+pasto (wrong dir for t_lint2)


# 1.1104 05-Aug-2021 rillig

tests/lint: add test skeletons for messages from lint2


# 1.1103 05-Aug-2021 rillig

tests/lint: test emitting 128-bit integer types for lint2


# 1.1102 03-Aug-2021 rillig

tests/lint: test GCC extension for casting to union type


# 1.1101 03-Aug-2021 rillig

tests/lint: test casting a struct to another struct


# 1.1100 01-Aug-2021 rillig

tests/lint: test the usual arithmetic conversions in traditional C


# 1.1099 01-Aug-2021 rillig

tests/lint: test the usual arithmetic conversions

The function 'balance' does not mention __uint128_t and nevertheless
works as expected. Need to investigate further.


# 1.1098 31-Jul-2021 rillig

tests/make: split tests for the variable modifier ':O'

The tests for parse errors are now in varmod-order, which lets the other
tests focus on the desired behavior of the modifiers.


# 1.1097 30-Jul-2021 rillig

tests/make: register test varmod-order-numeric


# 1.1096 25-Jul-2021 rillig

tests/lint: cover every code line in the grammar


# 1.1095 25-Jul-2021 rillig

tests/lint: test declarators with attributes


# 1.1094 25-Jul-2021 rillig

tests/lint: demonstrate missing support for GCC typeof


# 1.1093 25-Jul-2021 rillig

tests/lint: test parse errors in statements

These errors are really unrealistic. Most parse errors that occur in
statements are already handled elsewhere and continue with the next
semicolon.

The tests had to be split into two separate files because lint assumes
that after the 5th parse error, it does not make sense to continue this
translation unit.


# 1.1092 25-Jul-2021 rillig

tests/lint: test parsing of type_name


# 1.1091 15-Jul-2021 rillig

tests/lint: cover more edge cases in the parser


# 1.1090 15-Jul-2021 rillig

tests/lint: test struct declarations


# 1.1089 15-Jul-2021 rillig

tests/lint: test precedence of operators


# 1.1088 14-Jul-2021 rillig

tests/lint: add several tests for edge cases in the grammar


# 1.1087 14-Jul-2021 ozaki-r

tests: add tests for ALTQ CBQ


# 1.1086 13-Jul-2021 rillig

tests/lint: test binary integer literals and underscores


# 1.1085 11-Jul-2021 rillig

lint: support __attribute__((hot))

The corresponding attribute 'cold' was already added in cgram.y 1.84
from 2016-12-29.


# 1.1084 11-Jul-2021 rillig

tests/lint: test dangling else


# 1.1083 10-Jul-2021 rillig

tests/lint: test declarations


# 1.1082 10-Jul-2021 rillig

tests/lint: add more tests for covering the grammar


# 1.1081 09-Jul-2021 rillig

tests/lint: add test for unrealistic edge cases in declarations

The example code for triggering these grammar rules looks completely
contrived. Even if lint had not implemented these cases, hopefully
nobody would have ever noticed.


# 1.1080 09-Jul-2021 yamaguchi

added tests for IFF_PROMISC of vlan(4)


# 1.1079 08-Jul-2021 christos

Add new interrupted stdio tests


# 1.1078 08-Jul-2021 rillig

tests/lint: add tests for C90 mode and malformed declarations

In the grammar, 148 lines are still uncovered by the tests. The
untested parts are mostly obscure declarations and a few parse errors.


# 1.1077 06-Jul-2021 rillig

tests/lint: add tests for GCC __attribute__

Before fixing the wrong handling of __attribute__ that is demonstrated
at the end of gcc_attribute.c, ensure that the attribute handling works
in the most basic cases.

Lint currently accepts __attribute__ in more places than it should.
This leads to some ambiguities in the grammar.


# 1.1076 04-Jul-2021 rillig

test/lint: demonstrate wrong warnings for 128-bit shifts


# 1.1075 04-Jul-2021 rillig

lint: remove remaining support for lvalue casts

These had been GCC extensions until GCC 3.4, they were removed in GCC
4.0.


# 1.1074 04-Jul-2021 rillig

lint: remove outdated assertion

Since err.c 1.12 from 2000-07-06, lint allows to suppress individual
error messages. Suppressed error messages do not increment nerr.
Keeping nerr at 0 had triggered the assertion.


# 1.1073 04-Jul-2021 rillig

tests/lint: add test for suppressing errors in strict bool mode


# 1.1072 03-Jul-2021 rillig

tests/lint: fix test for character comparison on macppc

On macppc, char == unsigned char, which generates one more warning than
on platforms where char == signed char.


# 1.1071 02-Jul-2021 rillig

tests/lint: add test for array subscripts in C99 initialization


# 1.1070 29-Jun-2021 rillig

lint: fix wrong warning about out-of-range value '\xff' for char

This only affects platforms where char has the same representation as
unsigned char.


# 1.1069 29-Jun-2021 rillig

tests/lint: add test that only runs where char == unsigned char

There a 4 regular NetBSD builds where lint is activated. All these
builds run on platforms where char == signed char.

The official test runs from https://releng.netbsd.org/test-results.html
mostly have char == signed char as well.

However, lint behaves differently on platforms with char == unsigned
char. On these platforms, a simple "char ch = '\xff'" leads to the
bogus warning that "conversion of 'int' to 'char' is out of range".


# 1.1068 29-Jun-2021 rillig

tests/lint: add tests for ILP32 platforms

Previously, all tests for lint had to produce the exact same output, no
matter which platform they ran on. This differs from practical needs
since lint is intended to produce different results depending on whether
the platform is ILP32 or LP64.

Examples for these are type conversions and the widths of the integer
types during lexical analysis.


# 1.1067 27-Jun-2021 rillig

lint: require C11 for _Generic

This does not have any effect in practice since the option -g
(originally meant for GCC extensions to the C standards) implicitly
allows all features from C11, since err.c 1.111 from 2021-04-14.

Since the default lint flags for NetBSD builds include the option -g,
this allows all C11 features.

Currently it is not possible to say "allow GNU extensions but not C11".


# 1.1066 27-Jun-2021 rillig

lint: fix option -Ac11, add test for _Generic

Previously, selecting the option -Ac11 allowed features from C11 but at
the same time prohibited 'long long', which was added in C99. This was
caused by the option -s, which is interpreted as "allow features from
C90, but no later".

The test for _Generic, which has been added in C11, demonstrates that
the current implementation is broken. Lint currently thinks that the
return type of a _Generic selection is the type of the expression, but
it really is the type of the selected expression. In the current tests,
this is always 'const char *', but C11 does not require that the types
of a generic selection are compatible.


# 1.1065 27-Jun-2021 rillig

tests/lint: fix list of files to be installed


# 1.1064 27-Jun-2021 rillig

tests/lint: rename expected .ln file to .exp-ln

This way, the hack for suffixes is no longer needed.


# 1.1063 20-Jun-2021 rillig

tests/lint: test syntax error in initialization using designator

This test prepares the upcoming refactoring of the grammar.


# 1.1062 19-Jun-2021 rillig

lint: fix endless loop on unfinished comment at EOF

Found using afl.


# 1.1061 19-Jun-2021 rillig

lint: fix assertion after malformed for loop

Found using afl.


# 1.1060 19-Jun-2021 rillig

lint: fix assertion failure in struct with unnamed member

Found using afl.


# 1.1059 19-Jun-2021 rillig

lint: fix crash in malformed initialization


# 1.1058 19-Jun-2021 rillig

tests/lint: add test cases for lexical analysis


# 1.1057 16-Jun-2021 rillig

tests/make: demonstrate wrong error handling in jobs mode


Revision tags: cjep_sun2x-base1
# 1.1056 06-Jun-2021 blymn

New check files added for the libcurses addstr test.


# 1.1055 05-Jun-2021 blymn

New check file for libcurses clear test.


Revision tags: cjep_sun2x-base cjep_staticlib_x-base1
# 1.1054 25-May-2021 rillig

branches: 1.1054.2;
tests/lint: make test d_gcc_extension platform-independent

That test was intended to test the keywords '__extension__' and
'__typeof'. The GCC builtin functions were just a side-effect.

These built-in functions generated error messages on platforms such as
amd64 where sizeof(long double) != sizeof(double), but not on others
such as sparc.

The current infrastructure for the lint tests cannot handle tests with
platform-dependent outcome.


# 1.1053 17-May-2021 yamaguchi

Add a new link-aggregation pseudo interface named lagg(4)

- FreeBSD's lagg(4) based implementation
- MP-safe and MP-scalable


# 1.1052 16-May-2021 rillig

lint: add more specific warning for bit-field of type plain 'int'

Previously, declaring a bit-field of type plain 'int' resulted in this
warning:

warning: nonportable bit-field type 'int' [34]

This warning was too unspecific to be actionable, and until yesterday it
didn't even include the type. In order to allow this warning to be
understood and properly fixed, describe the actual nonportability more
precisely:

warning: bit-field of type plain 'int' has
implementation-defined signedness [344]


# 1.1051 16-May-2021 rillig

tests/lint: add expected output for testing '&' in switch statement


# 1.1050 14-May-2021 rillig

tests/lint: test bitwise mismatch in switch statement


Revision tags: cjep_staticlib_x-base
# 1.1049 02-May-2021 rillig

branches: 1.1049.2;
tests/lint: add test for bit-field types in GCC mode


# 1.1048 02-May-2021 rillig

tests/lint: demonstrate missing support for __packed __aligned


# 1.1047 30-Apr-2021 rillig

tests/lint: add very basic tests for GCC __attribute__


# 1.1046 27-Apr-2021 rillig

tests/make: test the combination of -de with -j1

The test cases are the same as in opt-debug-errors.mk. The output
differs in several details though.

Even though the option '-k' is given (which is the default for any tests
that don't override it in unit-tests/Makefile), there is no message
"(continuing)" anywhere.

The failed target is printed twice. Once before the failed commands,
once after. This redundancy is not necessary and may be removed in a
follow-up commit.

The printed commands are in their unexpanded form, which may or may not
be more helpful than the expanded and space-normalized form of compat
mode. Either way, this is an unnecessary inconsistency between compat
mode and jobs mode.

In jobs mode, the message "make: stopped in $dir" is printed for each
failure, which is helpful since each of the jobs may have started in a
separate directory.


# 1.1045 22-Apr-2021 rillig

tests/lint: add test for typeof after statement

Found by christos@.


# 1.1044 18-Apr-2021 rillig

tests/lint: add emit.ln to the release files


# 1.1043 18-Apr-2021 rillig

lint: test emitting of symbol information in the .ln files

Even though the new test is quite large, it didn't find any bugs in the
code. The only thing I'm unsure about is why static functions are
exported as well, since they are supposed to be local to the translation
unit.


# 1.1042 17-Apr-2021 rillig

tests/lint: demonstrate assertion failure in initialization


# 1.1041 15-Apr-2021 rillig

tests/make: demonstrate handling of null bytes


# 1.1040 14-Apr-2021 rillig

lint: add test for newly added message about static array size


# 1.1039 09-Apr-2021 rillig

tests/lint: demonstrate wrong lint warning about complex variables


# 1.1038 08-Apr-2021 rillig

lint: in code from included files, print stack trace

Previously, the standard NetBSD build generated several lint warnings in
lhash.h from OpenSSL, without providing any hint as to which file
actually included that header. In cases like these, lint now interprets
the line number information in the preprocessor output from GCC to
reconstruct the exact include path to the file in question.

The program check-expect.lua had to be rewritten almost completely since
it assumed that all diagnostics would come from the main file. In all
existing tests, this was true, but these tests did not cover all cases
that occurred in practice. Now it records the complete location of the
diagnostic instead of just the line number.


# 1.1037 05-Apr-2021 rillig

lint: warn about for wrong type cast in argument to ctype.h functions

The argument to most of the functions from <ctype.h> "shall either be
representable as an 'unsigned char' or shall equal the value of the
macro EOF".

When confronted with the infamous warning 'array subscript has type
char', there are enough programmers who don't know the background of
that warning and thus fix it in a wrong way. Neither GCC nor Clang
explain its warning to target these programmers.

Both GCC and Clang warn about 'array subscript has type char', but they
ignore the other requirements of the <ctype.h> functions, even though
these are in the C standard library.

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94182
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95177
https://stackoverflow.com/a/60696378


# 1.1036 04-Apr-2021 rillig

tests/make: split test for modifier ':@' into separate files

The file varmod-loop.mk has grown too large to be single-purpose, plus
it combined parse-time and run-time tests. This has the downside that
as soon as a parse-time test results in an error, the run-time tests are
not run anymore.


Revision tags: thorpej-futex-base
# 1.1035 02-Apr-2021 rillig

tests/lint: prevent typo from tree.c 1.264 from happening again


# 1.1034 28-Mar-2021 rillig

lint: remove wrong warning about wrong initializer type

The following code is valid:

int valid = {{{ 3 }}};

C90 3.5.7 and C99 6.7.8 both say that the "initializer for a scalar
shall be a single expression, optionally enclosed in braces". They
don't put any upper bound on the amount of braces, not even in the
"Translation limits" section.


# 1.1033 23-Mar-2021 rillig

tests/lint: test initialization using string literals

The errors in line 74 and 75 of the test are wrong. Everything is fine
there. The bug lies in init_array_using_string, try to see if you can
spot it, neither GCC 9.3.0 nor Clang 8.0.1 could.


# 1.1032 14-Mar-2021 rillig

tests/make: add test for short-circuit evaluation of modifiers


# 1.1031 12-Mar-2021 rillig

tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.


# 1.1030 09-Mar-2021 rillig

tests/indent: demonstrate strange alignment for global variables


# 1.1029 08-Mar-2021 rillig

tests/indent: demonstrate wrong removed empty line before '//'


# 1.1028 08-Mar-2021 rillig

tests/indent: demonstrate another bug in nested blocks


# 1.1027 08-Mar-2021 rillig

tests/indent: add test for output line counting


# 1.1026 07-Mar-2021 rillig

lint: in strict C mode, warn about initialization with '[a ... b]'

https://gcc.gnu.org/onlinedocs/gcc/Case-Ranges.html


# 1.1025 06-Mar-2021 rillig

tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.


# 1.1024 28-Feb-2021 rillig

lint: fix null pointer dereference on parse error

Fixes PR bin/22119.


# 1.1023 28-Feb-2021 rillig

lint: add test to demonstrate that PR bin/20264 has been fixed


# 1.1022 21-Feb-2021 rillig

indent: add test demonstrating that indent cannot handle C99

indent cannot handle line-end comments.

The indent test suite requires each test file to have both a NetBSD and
a FreeBSD RCS ID. If the FreeBSD RCS ID is missing, the test will
silently pass since in that case, an empty file is compared with an
empty file. See the /start/,/end/ operator in t_indent.sh.


# 1.1021 21-Feb-2021 rillig

lint: add another test for C99 initializers


# 1.1020 19-Feb-2021 rillig

lint: warn about mismatch in getopt handling


# 1.1019 16-Feb-2021 kre

PR bin/55979

Add a sh ATF test to demonstrate a bug in the way that \0 characters
are dropped from scripts. This test will eventually be extended to
test other potential sh script input related issues.

When initially committed, this test should fail. It should succeed
when the fix for the PR is committed (soon).

Nb: this tests only the \0 related issues from the PR, the MSAN
detected uninitialised variable (struct field) can only be detected
by MSAN, as it has no visible impact on the operation of the shell
when running on any real (or even emulated) hardware.
(It will, however, also be fixed).


# 1.1018 14-Feb-2021 rillig

make: add test for the variable modifier ':sh'


# 1.1017 13-Feb-2021 rillig

tests/libcurses: add test for addbytes


# 1.1016 07-Feb-2021 rillig

libcurses: demonstrate bug in addch that doubles tab indentation

When adding "\t" via addch, win.curx advances by twice the spaces as
intended. This bug was introduced somewhere between NetBSD 8.0 and 9.0.

Adding "\t" via addstr does not have this bug.

This bug causes the installation menu of sysinst to be have its menu
items indented by 16 characters instead of only 8. This in turn
produces an ugly line break in the German translation.

The test framework for libcurses is not well integrated into ATF.
Whenever the expected output is longer than the actual output, or vice
versa, the test passes nevertheless. This makes it necessary to
constantly look into atf-run.log to see whether the actual output is
indeed equal to the expected output, which is crucial, especially for
telling the difference between addstr and addnstr.

Reusing the .chk files for several tests is not a good idea either. For
example, addstr and waddstr are supposed to produce the same result for
ASCII-only text, so it was tempting to use the same file. But waddstr
seems to have a bug (maybe undefined behavior), at least waddstr returns
ERR in one case where it shouldn't. This means that currently the
expected output (acknowledging the bug) must be different.

The "expected" test output in waddstr.chk looks completely broken, but
that's exactly what the test produces right now.


# 1.1015 01-Feb-2021 rillig

make: add test for reading from make's stdin

Just out of curiosity whether that really works. It does.


# 1.1014 30-Jan-2021 rillig

make(1): add test for combining the options -j, -n, -t

This is a preparation for refactoring the complicated condition in
JobStart.


# 1.1013 29-Jan-2021 rillig

make(1): demonstrate unnecessary creation of empty files in jobs mode


# 1.1012 17-Jan-2021 rillig

lint: add more tests for system headers in strict bool mode


# 1.1011 14-Jan-2021 rillig

lint: add tests for newly added messages for strict bool mode


# 1.1010 10-Jan-2021 rillig

lint: add test for triggering assertion failures in lint1


# 1.1009 10-Jan-2021 rillig

lint: add test for treating _Bool as non-scalar type

This strict mode is not yet implemented. The plan is to use it for
usr.bin/make, to get rid of the many possible variants of defining the
Boolean type in make.h. These variants did find some bugs, but not
reliably so. Using static analysis seems more promising for this.

In an early stage of developing this test, lint1 crashed in the enum
definition in line 213, where the node for the '?:' had been NULL. This
can happen in other situations as well, such as with syntax errors, but
these should be rare, as lint is usually only run if the compiler has
accepted the source code. Still, there should not be any assertion
failures while running lint1.


# 1.1008 10-Jan-2021 rillig

lint: demonstrate wrong handling of conversion to _Bool


# 1.1007 02-Jan-2021 rillig

lint: add a test for each message produced by lint1

Having a test for each message ensures that upcoming refactorings don't
break the basic functionality. Adding the tests will also discover
previously unknown bugs in lint.

The tests ensure that every lint message can actually be triggered, and
they demonstrate how to do so. Having a separate file for each test
leaves enough space for documenting historical anecdotes, rationale or
edge cases, keeping them away from the source code.

The interesting details of this commit are in Makefile and
t_integration.sh. All other files are just auto-generated.

When running the tests as part of ATF, they are packed together as a
single test case. Conceptually, it would have been better to have each
test as a separate test case, but ATF quickly becomes very slow as soon
as a test program defines too many test cases, and 50 is already too
many. The time complexity is O(n^2), not O(n) as one would expect.
It's the same problem as in tests/usr.bin/make, which has over 300 test
cases as well.


# 1.1006 01-Jan-2021 rillig

lint: demonstrate bug in handling of nested C9X struct initializers


# 1.1005 01-Jan-2021 rillig

lint: fix segmentation fault when checking returned enum types (211)


# 1.1004 31-Dec-2020 rillig

lint: check that in "if (cond)", cond is scalar


# 1.1003 31-Dec-2020 rillig

make(1): add test for error handling and expansion in .for loops


# 1.1002 30-Dec-2020 rillig

make(1): add test for .endfor without corresponding .for


# 1.1001 30-Dec-2020 rillig

lint: add test for old style function arguments


# 1.1000 29-Dec-2020 rillig

make(1): add test that explains how variables are exported

Exporting the variables at the right time and with the correct values is
a subtle issue. The current implementation carefully marks variables as
ready to be exported, then exports them and at the same time tries to
export as few variables as possible, to avoid memory leaks. This test
describes and explains how all this works in detail.

This test also justifies that the call to Var_ReexportVars happens in
the make process itself, not in the child processes, no matter whether
these are created with vfork or (only theoretically) with plain fork.
This has changed in compat.c 1.217, job.c 1.390 and main.c 1.504 from
2020-12-27.


# 1.999 28-Dec-2020 rillig

lint1: add forgotten tests


# 1.998 28-Dec-2020 rillig

lint1: fix file list for recently added test output


# 1.997 27-Dec-2020 rillig

make(1): add test for expansion errors in jobs mode

Since compat mode and jobs mode are implemented separately and vary in
lots of small details, each of them needs to be tested on its own.


# 1.996 19-Dec-2020 rillig

make(1): add test for null byte in .for loop body


# 1.995 19-Dec-2020 rillig

make(1): demonstrate wrong line numbers in .for loops, since 2007-01-01


# 1.994 14-Dec-2020 rillig

make(1): add test for parsing the end of a condition


# 1.993 13-Dec-2020 rillig

branches: 1.993.2;
make(1): demonstrate wrong error handling in compat mode


# 1.992 13-Dec-2020 rillig

make(1): add test for misspelled directives

This test allows the other directive-* tests to focus on the purpose of
the individual directive, allowing these tests to continue after
parsing, without errors.


# 1.991 13-Dec-2020 roy

t_ossaudio was installed for clang, so remove gcc marking


# 1.990 12-Dec-2020 rillig

make(1): add test for a shell with error control

None of the predefined shells has error control, and the corresponding
code had not been covered by the existing unit tests.


# 1.989 12-Dec-2020 pgoyette

Also add the new test to the sets lists.


# 1.988 10-Dec-2020 rillig

make(1): test all combinations of switches for running commands

The code in JobPrintSpecials is rather complicated and contains
surprising interaction between some of the switches.

To see the exact effects of the switches, record the current state and
its output, to prevent accidental breakage during the upcoming
refactorings.


# 1.987 09-Dec-2020 rillig

make(1): add test for the -n option combined with RunFlags


# 1.986 09-Dec-2020 rillig

make(1): add test for combining -j1 with -n


# 1.985 07-Dec-2020 rillig

make(1): add tests and tutorial for the ?= assignment operator


# 1.984 07-Dec-2020 rillig

make(1): add new unit test opt-keep-going-multiple.mk to file lists


# 1.983 06-Dec-2020 rillig

make(1): add test for .END after failed main node


# 1.982 01-Dec-2020 rillig

make(1): add test and tutorial for indirect modifiers


# 1.981 01-Dec-2020 rillig

make(1): add test for the special .MAKEFLAGS variable


# 1.980 01-Dec-2020 rillig

make(1): add tests for suppressing "stopped in"

These tests demonstrate the unwanted behavior described in PR bin/55578
and PR bin/55832.


# 1.979 30-Nov-2020 sjg

Added meta-cmd-cmp


# 1.978 24-Nov-2020 rillig

make(1): add test for bug in error handling of .BEGIN in -k mode


# 1.977 24-Nov-2020 rillig

make(1): add test for error in dependency of .END node in -k mode


# 1.976 24-Nov-2020 rillig

make(1): add test for missing "Stop" after error in .END


# 1.975 23-Nov-2020 rillig

make(1): test that .PHONY targets are not resolved using suffix rules


# 1.974 22-Nov-2020 rillig

make(1): add test for debug output from transformation rules


# 1.973 22-Nov-2020 rillig

make(1): add another unit test for suffix handling


# 1.972 22-Nov-2020 rillig

make(1): document the selection of the main target


# 1.971 21-Nov-2020 rillig

make(1): add test for incomplete transformation rule


# 1.970 16-Nov-2020 rillig

make(1): add test for self-referencing suffix rule

Just to ensure that make doesn't run into an endless loop.


# 1.969 14-Nov-2020 rillig

make(1): add test for the -t option in jobs mode


# 1.968 13-Nov-2020 sjg

Add new make unit-test


# 1.967 10-Nov-2020 rillig

make(1): add more tests for parsing .if directives

The details of parsing are quite tricky and not documented in the manual
page. Record the current behavior to be a little safer in future
refactorings.


# 1.966 09-Nov-2020 rillig

make(1): move test for != assignments to var-op-shell


# 1.965 08-Nov-2020 rillig

make(1): in lint mode, only allow '&&' and '||', not '&' and '|'

These variants of the condition operators are neither documented in the
manual page nor are they used in practice.


# 1.964 08-Nov-2020 rillig

make(1): add test for expanding variable expressions


# 1.963 08-Nov-2020 rillig

make(1): add newly added test to file list


# 1.962 07-Nov-2020 rillig

make(1): add test for job command flags


# 1.961 04-Nov-2020 rillig

make(1): add test for undefined variables in command line arguments

The variable discardUndefined has an implicit negation in its name,
which makes it hard to understand. Plus, most of the time it is true.
It's better to have a flag that is false most of the time and has a
positive name.

On the first attempt of inverting that variable, I stumbled upon
MainParseArgs, which initially leaves discardUndefined == FALSE, and
after handling the dashed options, sets it to TRUE. This would make a
difference when more command line arguments would be added later via the
.MAKEFLAGS special target.

Upon further inspection, the only place where discardUndefined is used
is in VarAssign_EvalSubst in parse.c, and that place is not reachable
from any of the dashed options. Therefore, discardUndefined could
already be set at the very beginning of MainParseArgs or even when
initializing the global variable itself, without any observable
difference.

Not even the ::= variable modifier could do anything about this since it
is not reachable from the dashed command line options as well, and in
addition, it expands its right-hand side in any case, always discarding
undefined variables. Oh, these little inconsistencies everywhere.


# 1.960 03-Nov-2020 rillig

make(1): move tests from directives.mk to separate tests


# 1.959 02-Nov-2020 rillig

make(1): add test for parse errors in commands in lint mode (-dL)

The difference to non-lint mode is that the exit status is now 2 instead
of 0.


# 1.958 02-Nov-2020 rillig

make(1): add test for parse errors in shell commands, compat mode


# 1.957 02-Nov-2020 rillig

remove extraneous tab, sort entries alphabetically (by fmt-list)


# 1.956 02-Nov-2020 mrg

add missing files (one from me, one from someone else :-)


# 1.955 01-Nov-2020 christos

Add tests for col


# 1.954 31-Oct-2020 rillig

make(1): add test for recursive variable expressions


# 1.953 31-Oct-2020 rillig

make(1): merge the SysV modifier tests into varmod-sysv


# 1.952 31-Oct-2020 rillig

use the same indentation for all libcurses test files


# 1.951 24-Oct-2020 blymn

Add new tests and check files for libcurses from the Google Summoer of Code
project.


# 1.950 24-Oct-2020 rillig

make(1): add test for looking up suffixes


# 1.949 23-Oct-2020 rillig

make(1): add test for dependencies of the form '%.o: %.c'


# 1.948 23-Oct-2020 rillig

make(1): add test case in which .BEGIN depends on .END

Just for fun.


# 1.947 23-Oct-2020 rillig

make(1): add test for the '::' dependency operator


# 1.946 23-Oct-2020 rillig

make(1): move tests from cond2.mk to varmod-ifelse.mk


# 1.945 23-Oct-2020 rillig

make(1): add test for .ERROR_CMD in jobs mode


# 1.944 20-Oct-2020 rillig

make(1): split test suffixes.mk into simpler, isolated tests

The code in suff.c is already hard to understand, and so were the tests
in suffixes.mk since several independent topics were merged into a
single test.

Splitting this test into a separate test per issue allows to document
the expected and actual behavior in more detail. That's complicated
enough already.

PR bin/49086


# 1.943 18-Oct-2020 rillig

make(1): add test for turning a target into a transformation


# 1.942 16-Oct-2020 mgorny

Try to fix tests/sys/x86 again

Thank to Martin Husemann for the suggestion.


# 1.941 15-Oct-2020 mgorny

Move the new x86 test into x86-specific lists


# 1.940 15-Oct-2020 mgorny

Add tests for process_xmm_to_s87() and process_s87_to_xmm()


# 1.939 08-Oct-2020 rillig

make(1): move test for .CURDIR from misc.mk to varname-dot-curname.mk


# 1.938 04-Oct-2020 rillig

make(1): add tests for parsing assignments, especially :sh

Luckily nobody uses the :sh variable assignment modifier since its
syntactical variant != is simpler.


# 1.937 03-Oct-2020 rillig

make(1): add unit test for the Towers of Hanoi puzzle


# 1.936 03-Oct-2020 rillig

make(1): add tests for the various supported shells


# 1.935 02-Oct-2020 rillig

make(1): add tests for parsing and exporting variables

Once again, there are a few surprises deeply hidden inside the edge
cases.


# 1.934 01-Oct-2020 pgoyette

Fix up the debug stuff for if_tap and if_vether


# 1.933 30-Sep-2020 roy

Add rump_open_tap


# 1.932 29-Sep-2020 roy

vether(4): Add ATF tests based on the tap(4) tests.


# 1.931 27-Sep-2020 rillig

make(1): add test for merging long lines of job output


# 1.930 25-Sep-2020 rillig

make(1): add test for harmless bug in Parse_File

When there is a dependency group at the end of a top-level makefile,
this dependency group is not finished properly. This allows to add
further commands to the targets of this dependency group, which was not
intended.


# 1.929 25-Sep-2020 rillig

make(1): add test for deleting the suffixes during parsing


# 1.928 25-Sep-2020 rillig

make(1): add test for partial expansion of undefined variables


# 1.927 23-Sep-2020 rillig

make(1): add variant of the counter test

I had expected that using the ::+= modifier instead of the ::= modifier
would work, since the assignment modifier for COUNTER no longer contains
a reference to itself. But instead of ending up at 4, the counter even
goes up to 6.


# 1.926 23-Sep-2020 rillig

make(1): fix assertion failure in -j mode with .END node

There had been two separate global variables for the .END node, and in
parallel mode, only the one in jobs.c was initialized.

The code in JobRun heads over to Compat_Make without calling Compat_Run
first, which left the variable ENDNode uninitialized.


# 1.925 22-Sep-2020 kamil

Add new RTLD test file for r_debug

New tests:
- self
- dlopen

Both check whether the r_debug structure seems to be well-formed, without
and with a dlopen(3) call.


# 1.924 14-Sep-2020 rillig

make(1): add test for undefined expressions in conditions in lint mode


# 1.923 14-Sep-2020 rillig

make(1): add tests for numbers in conditions


# 1.922 13-Sep-2020 rillig

make(1): add recently added tests to distrib file list


# 1.921 08-Sep-2020 christos

Add bind test


# 1.920 05-Sep-2020 rillig

make(1): move test for -dg1 from opt-debug-g1 to opt-debug-graph1


# 1.919 05-Sep-2020 rillig

make(1): add tests for each debug option


# 1.918 04-Sep-2020 rillig

make(1): add test for the special variable MAKEFILE


# 1.917 04-Sep-2020 rillig

re-indent and sort distrib/sets/lists/tests/mi

This way, the fields 2 and 3 don't jump horizontally as often as before,
which makes the appearance of the whole file as calm and organized as it
should be.


# 1.916 04-Sep-2020 rillig

make(1): extend tests for the :hash variable modifier

The previous test vectors didn't contain any hash with a leading zero.
This could have been a simple programming mistake by using %8x instead
of the intended %08x. Using snprintf wouldn't have been possible anyway
since the hex digits are printed in little-endian order, but without
reversing the bits of each digit. Kind of unusual, but doesn't affect
the distribution of the hashes.


# 1.915 02-Sep-2020 rillig

make(1): add test for the .for directive

For a long time, I had assumed that the iteration variables of a .for
loop are just normal global variables. This assumption was wrong but
didn't have any consequences.

The iteration variables of a .for loop can just be accessed like global
variables, therefore it is not obvious that they are implemented in a
completely different way.

There are some edge cases in conditions used inside .for loops, in which
the iteration variables cannot be used like normal variables. An
example is brought up in https://gnats.netbsd.org/47888, which observes
that the defined() and empty() functions in conditions only work with
variables but ignore the iteration "variables", simply because these are
not variables but only expressions.


# 1.914 29-Aug-2020 rillig

make(1): add tests for .else and .for + .endif


# 1.913 29-Aug-2020 rillig

make(1): fix assertion failure for .SUFFIXES in archives

This occurred in the posix1.mk test, even though it is disabled in
unit-tests. But in tests/usr.bin/make it still runs. There, it should
have produced an "expected failure" but crashed instead.

The archive-suffix test is the stripped-down version of the posix1 test.


# 1.912 28-Aug-2020 rillig

make(1): add test for interrupting a command


# 1.911 28-Aug-2020 rillig

make(1): add tests for the special .INCLUDES and .LIBS variables


# 1.910 27-Aug-2020 rillig

make(1): add test for the -dg1 option


# 1.909 27-Aug-2020 riastradh

Remove bogus Atffile and Kyuafile entries for if_wg tests.


# 1.908 27-Aug-2020 riastradh

Sort and deduplicate set lists.


# 1.907 26-Aug-2020 riastradh

Clarify wg(4)'s relation to WireGuard, pending further discussion.

Still planning to replace wgconfig(8) and wg-keygen(8) by one wg(8)
tool compatible with wireguard-tools; update wg(4) for the minor
changes from the 2018-06-30 spec to the 2020-06-01 spec; &c. This just
clarifies the current state of affairs as it exists in the development
tree for now.

Mark the man page EXPERIMENTAL for extra clarity.


# 1.906 24-Aug-2020 riastradh

Restore obsolete entries for make's modorder tests.

These tests were removed a week ago, but their set list entries were
removed rather than marked obsolete.


# 1.905 24-Aug-2020 martin

Backout previous, commiter was dazed and confused


# 1.904 24-Aug-2020 martin

Add modorder* make unit test files


# 1.903 23-Aug-2020 rillig

make(1): add tests for numeric comparisons in .if directives


# 1.902 23-Aug-2020 rillig

make(1): add test for the newly added .SHELL variable


# 1.901 22-Aug-2020 rillig

make(1): add test for expanding wildcards in directories

This test covers DirExpandInt.


# 1.900 22-Aug-2020 rillig

make(1): add test for assigning to the variable named ""

This has been possible at least since 2013, probably much longer.


# 1.899 22-Aug-2020 rillig

make(1): add test for deferred variable expansion in dependencies


# 1.898 22-Aug-2020 rillig

make(1): add test for the special "..." in shell commands


# 1.897 22-Aug-2020 rillig

make(1): add test for combining :: and .USEBEFORE


# 1.896 20-Aug-2020 riastradh

[ozaki-r] Add wg files


# 1.895 20-Aug-2020 rillig

make(1): add test for parsing functions in .if conditions


# 1.894 18-Aug-2020 nakayama

Quoted from the top of the file:
# Note: don't delete entries from here - mark them as "obsolete" instead.


# 1.893 18-Aug-2020 perseant

Add skipped test for in-kernel roll-forward agent


# 1.892 16-Aug-2020 rillig

make(1): move tests for the :Ox modifier into separate file

The test has been extended by ensuring that the shuffled words are still
the same. Comparing two shuffled lists is probabilistic, but comparing
their sorted results is not, therefore that's completely sensible to do.

When writing this test, by coincidence I discovered how to generate the
"Undefined variable" error message. Unfortunately, the error message is
wrong since the variable NUMBERS is defined at that point. In summary,
that error message is shown when it shouldn't, and when it should it is
not shown. Still, I'm glad that I finally found it.


# 1.891 16-Aug-2020 rillig

make(1): move tests for the :M modifier into separate files

The test for the different escaping has been adjusted to actually show
the different parsing results in the test output. To do this, it had to
get its own file since it needs the -dv debug flag and specialized
post-processing.


# 1.890 16-Aug-2020 rillig

make(1): add dummies for fine-grained tests, one per single feature

The test names have been derived from the current manual page.

All these tests are dummies right now, and the code from the existing
tests will be moved into the new tests step by step.

This is done to prevent modmisc, escape, varmod-edge and varmisc from
growing without any bounds, and to reduce the side-effects of one test
to the others.


# 1.889 14-Aug-2020 riastradh

New system call getrandom() compatible with Linux and others.

Three ways to call:

getrandom(p, n, 0) Blocks at boot until full entropy.
Returns up to n bytes at p; guarantees
up to 256 bytes even if interrupted
after blocking. getrandom(0,0,0)
serves as an entropy barrier: return
only after system has full entropy.

getrandom(p, n, GRND_INSECURE) Never blocks. Guarantees up to 256
bytes even if interrupted. Equivalent
to /dev/urandom. Safe only after
successful getrandom(...,0),
getrandom(...,GRND_RANDOM), or read
from /dev/random.

getrandom(p, n, GRND_RANDOM) May block at any time. Returns up to n
bytes at p, but no guarantees about how
many -- may return as short as 1 byte.
Equivalent to /dev/random. Legacy.
Provided only for source compatibility
with Linux.

Can also use flags|GRND_NONBLOCK to fail with EWOULDBLOCK/EAGAIN
without producing any output instead of blocking.

- The combination GRND_INSECURE|GRND_NONBLOCK is the same as
GRND_INSECURE, since GRND_INSECURE never blocks anyway.

- The combinations GRND_INSECURE|GRND_RANDOM and
GRND_INSECURE|GRND_RANDOM|GRND_NONBLOCK are nonsensical and fail
with EINVAL.

As proposed on tech-userlevel, tech-crypto, tech-security, and
tech-kern, and subsequently adopted by core (minus the getentropy part
of the proposal, because other operating systems and participants in
the discussion couldn't come to an agreement about getentropy and
blocking semantics):

https://mail-index.netbsd.org/tech-userlevel/2020/05/02/msg012333.html


# 1.888 09-Aug-2020 rillig

make(1): add test for .USE combined with inference rule without commands

Discovered by christos.


# 1.887 09-Aug-2020 rillig

make(1): add test for non-obvious .MAKE.EXPORTED edge case


# 1.886 07-Aug-2020 rillig

make(1): add test for exporting variables


# 1.885 06-Aug-2020 rillig

make(1): add test for unintended "recursive variable" in -dL mode


# 1.884 03-Aug-2020 rillig

make(1): in lint mode, disallow dynamic variable names in :@ modifier

This is an extremely obscure feature that hopefully nobody ever
considered using.


# 1.883 02-Aug-2020 rillig

make(1): add test for nested VAR_SUBST assignments


# 1.882 31-Jul-2020 rillig

make(1): add test for braces in dependency lines

The comment at DirExpandCurly says something about "recursively", but the
nested braces don't work.

The manual page only mentions that "{} may be used", but it keeps quiet
about the exact meaning and also doesn't mention any nesting.


# 1.881 28-Jul-2020 rillig

make(1): add test for setting .OBJDIR via the command line


# 1.880 27-Jul-2020 rillig

make(1): add tests for parsing directives like .if and .info


# 1.879 27-Jul-2020 rillig

make(1): add very basic test for archive handling

The whole code in arch.c had been uncovered by tests before.

The code coverage shows that neither the archive name nor the member
contain any $, even though archive.mk looks like it. It could be
necessary to place the variable assignments below the dependency line,
to force late evaluation.


# 1.878 26-Jul-2020 rillig

make(1): add test for off-by-one error in Var_Parse


# 1.877 26-Jul-2020 riastradh

Another /usr/libdata/usr/tests/sys/crypto/chacha set list entry.

(Why do we need this here _and_ in debug/mi?)


# 1.876 25-Jul-2020 riastradh

Add kernel ChaCha test to exercise all available implementations.


# 1.875 25-Jul-2020 rillig

make(1): add newly added unit tests


# 1.874 17-Jul-2020 kamil

Add ppoll() a compatibility wrapper around pollts(2)

Submitted by Apurva Nandan.


# 1.873 06-Jul-2020 christos

new mapped test.


# 1.872 03-Jul-2020 jruoho

Add a check for PR bin/54692.


# 1.871 03-Jul-2020 jruoho

Add a check for the overflow noted in PR lib/46542.


# 1.870 01-Jul-2020 jruoho

Add basic checks for magic symlink(7)'s. These include a case for PR lib/55361,
although it seems that realpath(3) has bigger problems with these symlinks.


# 1.869 01-Jul-2020 jruoho

Add basic checks for a64l(3), l64a(3), and l64a_r(3).


# 1.868 30-Jun-2020 lukem

fix sets for MKKYUA


# 1.867 30-Jun-2020 riastradh

New test sys/crypto/aes/t_aes.

Runs aes_selftest on all kernel AES implementations supported on the
current hardware, not just the preferred one.


# 1.866 30-Jun-2020 jruoho

After a comedy of errors, move t_mbtowc to its final resting place.


# 1.865 30-Jun-2020 jruoho

Check that DTrace's execsnoop and opensnoop work (cf. PR kern/53417).


# 1.864 30-Jun-2020 jruoho

Add a couple of tests for sequential ifconfig(8) options, incl. PR kern/41912.


# 1.863 29-Jun-2020 riastradh

New cgd cipher adiantum.

Adiantum is a wide-block cipher, built out of AES, XChaCha12,
Poly1305, and NH, defined in

Paul Crowley and Eric Biggers, `Adiantum: length-preserving
encryption for entry-level processors', IACR Transactions on
Symmetric Cryptology 2018(4), pp. 39--61.

Adiantum provides better security than a narrow-block cipher with CBC
or XTS, because every bit of each sector affects every other bit,
whereas with CBC each block of plaintext only affects the following
blocks of ciphertext in the disk sector, and with XTS each block of
plaintext only affects its own block of ciphertext and nothing else.

Adiantum generally provides much better performance than
constant-time AES-CBC or AES-XTS software do without hardware
support, and performance comparable to or better than the
variable-time (i.e., leaky) AES-CBC and AES-XTS software we had
before. (Note: Adiantum also uses AES as a subroutine, but only once
per disk sector. It takes only a small fraction of the time spent by
Adiantum, so there's relatively little performance impact to using
constant-time AES software over using variable-time AES software for
it.)

Adiantum naturally scales to essentially arbitrary disk sector sizes;
sizes >=1024-bytes take the most advantage of Adiantum's design for
performance, so 4096-byte sectors would be a natural choice if we
taught cgd to change the disk sector size. (However, it's a
different cipher for each disk sector size, so it _must_ be a cgd
parameter.)

The paper presents a similar construction HPolyC. The salient
difference is that HPolyC uses Poly1305 directly, whereas Adiantum
uses Poly1395(NH(...)). NH is annoying because it requires a
1072-byte key, which means the test vectors are ginormous, and
changing keys is costly; HPolyC avoids these shortcomings by using
Poly1305 directly, but HPolyC is measurably slower, costing about
1.5x what Adiantum costs on 4096-byte sectors.

For the purposes of cgd, we will reuse each key for many messages,
and there will be very few keys in total (one per cgd volume) so --
except for the annoying verbosity of test vectors -- the tradeoff
weighs in the favour of Adiantum, especially if we teach cgd to do
>>512-byte sectors.

For now, everything that Adiantum needs beyond what's already in the
kernel is gathered into a single file, including NH, Poly1305, and
XChaCha12. We can split those out -- and reuse them, and provide MD
tuned implementations, and so on -- as needed; this is just a first
pass to get Adiantum implemented for experimentation.


# 1.862 28-Jun-2020 rillig

make(1): demonstrate bug when evaluating conditions


# 1.861 27-Jun-2020 jruoho

Add also a test that writes random garbage to every ifconfig(8) option that
takes parameters. Based on quick testing, iwn(4) and wm(4) pass, but
urtwn(4) panics. Use at your own risk; in some cases, it may be possible
that horrors are written directly to the hardware.


# 1.860 27-Jun-2020 jruoho

Add t_t_mbtowc.


# 1.859 27-Jun-2020 jruoho

Move the test for mktemp(3) to the right place.


# 1.858 27-Jun-2020 jruoho

Add a simple test case that writes random garbage to (almost) every sysctl node.
This test reproduced already at least five unique panics in a few quick runs.
The test is skipped by default as it is not likely safe even without the panics.


# 1.857 27-Jun-2020 jruoho

Add a basic test for enabling/disabling network interface capabilities.


# 1.856 27-Jun-2020 jruoho

Add a test case for PR kern/53767.


# 1.855 27-Jun-2020 jruoho

Add test cases for different 802.11 options. These include cases for
PR kern/35045, PR kern/45745, and PR kern/55424.


# 1.854 25-Jun-2020 jruoho

Test creating thousands of bridge(4)'s. Unlike with tap(4) (PR kern/55417),
this test succeeeds. It is even possible to have the ultimate ifconfig(8)
output with more than 65,000 devices.


# 1.853 25-Jun-2020 jruoho

Verify that PR kern/52150 is no longer present.


# 1.852 25-Jun-2020 jruoho

Add a test case for PR kern/52744, which no longer appears to be present.


# 1.851 25-Jun-2020 jruoho

Add a test case for kern/52771.


# 1.850 25-Jun-2020 jruoho

Add a test case for PR kern/53410.


# 1.849 25-Jun-2020 jruoho

Add test cases for PR kern/53546 and PR kern/55417. Both are skipped as
both reproduce panics.


# 1.848 24-Jun-2020 jruoho

Check that fstat(1) works (cf. PR kern/55407).


# 1.847 24-Jun-2020 jruoho

Add a few checks for stdethers(8) and stdhosts(8).


# 1.846 24-Jun-2020 jruoho

Add few basic tests for cpuctl(8). These cover PR kern/45117 and PR bin/54220.
Though, the former is not explicitly tested as it hangs the system.


# 1.845 24-Jun-2020 jruoho

Add a test case for bin/54620.


# 1.844 24-Jun-2020 jruoho

Add a test case for PR bin/55389.


# 1.843 12-Jun-2020 roy

Remove in-kernel handling of Router Advertisements

This is much better handled by a user-land tool.
Proposed on tech-net here:
https://mail-index.netbsd.org/tech-net/2020/04/22/msg007766.html

Note that the ioctl SIOCGIFINFO_IN6 no longer sets flags. That now
needs to be done using the pre-existing SIOCSIFINFO_FLAGS ioctl.

Compat is fully provided where it makes sense, but trying to turn on
RA handling will obviously throw an error as it no longer exists.

Note that if you use IPv6 temporary addresses, this now needs to be
turned on in dhcpcd.conf(5) rather than in sysctl.conf(5).


# 1.842 06-Jun-2020 thorpej

Improvements to the problib(3) API:

==> Provide a much more complete set of setters and getters for different
value types in the prop_array_util(3) and prop_dictionary_util(3)
functions.

==> Overhaul the prop_data(3), prop_number(3), and prop_string(3) APIs
to be easier to use and less awkwardly named, Deprecate the old
awkward names, and produce link-time warnings when they are referenced.

==> Deprecate mutable prop_data(3) and prop_string(3) objects. The old
APIs that support them still exist, but will now produce link-time
warnings when used.

==> When the new prop_string(3) API is used, strings are internally
de-duplicated as a memory footprint optimization.

==> Provide a rich set of bounds-checked gettter functions in and a
corresponding set of convenience setters in the prop_number(3) API.

==> Add a new prop_bool_value(3) function that is equivalent to
prop_bool_true(3), but aligned with the new "value" routines in
prop_data(3), prop_string(3), and prop_number(3).


# 1.841 17-May-2020 rillig

usr.bin/make: demonstrate actual behavior of .INCLUDEDFROMFILE


# 1.840 10-May-2020 rillig

usr.bin/make: add tests for surprising dollar removal


# 1.839 30-Apr-2020 ryo

Add a test for sigaltstack(2) and SA_ONSTACK


# 1.838 29-Apr-2020 rillig

usr.bin/make: add test case for lazy conditions


# 1.837 26-Apr-2020 thorpej

Add a NetBSD native futex implementation, mostly written by riastradh@.
Map the COMPAT_LINUX futex calls to the native ones.


Revision tags: phil-wifi-20200421
# 1.836 19-Apr-2020 maxv

Add tests for USER_LDT.


Revision tags: phil-wifi-20200411
# 1.835 11-Apr-2020 christos

Add new t_extattr


Revision tags: phil-wifi-20200406
# 1.834 09-Mar-2020 christos

wrong test name


# 1.833 08-Mar-2020 mgorny

Add tests for missing libc catalog entries


# 1.832 08-Mar-2020 christos

new test for ifconfig


# 1.831 06-Mar-2020 kamil

Add new ptrace(2) test file

t_ptrace_sigchld - for SIGCHLD handler + ptrace(2).

Right now a single test is enabled (raise(SIGKILL)) and marked as failed
as it never finishes as the child is never collected before exiting the
parent uninterested about its child (SA_NOCLDWAIT).


Revision tags: is-mlppp-base
# 1.830 11-Feb-2020 isaki

Add ATF tests for audio(4).

91 passed test cases
0 failed test cases.
0 expected failed test cases.
62 skipped test cases.

There are many skipped tests, because the test itself supports full-
duplex, half-duplex and uni-directional devices but pad(4) used in ATF
tests is uni-directional device.


# 1.829 11-Feb-2020 riastradh

Test that fpu state is preserved by fork.


# 1.828 18-Jan-2020 kre

Move recently added .debug files from tests/mi to debug/mi (with all the
others) and while so doing, give them the "debug" attribute.

While here, sort.


# 1.827 17-Jan-2020 christos

fix names of debug files and missing directories


# 1.826 17-Jan-2020 christos

remove trailing ,


# 1.825 17-Jan-2020 christos

Add libarchive tests


# 1.824 03-Dec-2019 hikaru

Add HMAC-SHA-{256,384,512} test cases.


# 1.823 30-Nov-2019 pgoyette

Add the new unit-tests for make(1) to the sets list, fixing the build.


Revision tags: phil-wifi-20191119
# 1.822 05-Oct-2019 jhigh

adding full scheme comparison to libcrypt:crypt and pwhash tests


# 1.821 15-Sep-2019 christos

fexecve(2) related additions.


# 1.820 15-Sep-2019 christos

add t_fcntl


# 1.819 18-Aug-2019 kamil

Add ATF c and c++ tests for TSan, MSan, libFuzzer

These tests require Clang/LLVM 7 or newer on NetBSD.

Contributed by Yang Zheng during GSoC 2018.


Revision tags: netbsd-9-base
# 1.818 28-Jul-2019 christos

branches: 1.818.2;
add new wcsrtombs test


# 1.817 20-Jun-2019 isaki

Rewrite t_pad test.
Previous version compared the pad's output binary passed mulaw-slinear
conversion and frequency conversion with the prepared "good result".
In such case, a test may fail when the implemantation changes. In fact,
the frequency conversion algorithm was changed in isaki-audio2, so
output waveforms is not completely the same (but that's no problem with
the audio waveforms).
New version uses slinear_le/2ch/44100Hz input data and compares the
output binary with the input data. pad with no conversions should
output the same binary.
Fix PR kern/54187.


Revision tags: phil-wifi-20190609
# 1.816 07-Jun-2019 christos

new origin test


# 1.815 01-Jun-2019 kamil

Add ATF KERN_PROC_CWD tests


# 1.814 26-May-2019 christos

sort.


# 1.813 26-May-2019 hannken

Add entries for the recent tests/lib/libcurses commit.


# 1.812 26-Apr-2019 maya

Add a test case for signbit.
(paranoia prior to a libm change)


# 1.811 24-Apr-2019 kamil

Add a complete C11 threads(3) implementation

C11 Thread support library is a portable threading C API between OSs,
similar to std::threads in the C++ world.

The library is implemented as a thin shim over POSIX interfaces.

NetBSD implements the API as a part of the POSIX threading library
(libpthread(3)).

C11 threads(3) are in the process of making them an integral part
of the POSIX standard. The interface has been implemented in major
OSs and used with stopgap libraries for older versions of them.

C11 threading library is already used (with a stopgap implementation)
in the NetBSD distribution in MESA.

Original implementation by myself from 2016.

ATF tests are new and cover almost all interfaces.

Proposed on tech-userlevel@.


# 1.810 04-Apr-2019 kamil

Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.


# 1.809 26-Feb-2019 isaki

Add ATF tests for __sync_* functions instead of all_sync_ops_linkable.c


# 1.808 18-Feb-2019 rin

Belatedly add debugging symbols for t_atomic_*.


# 1.807 17-Feb-2019 isaki

Add ATF tests for atomic_ops(3).


# 1.806 09-Feb-2019 mrg

add new t_libgomp test.


# 1.805 03-Feb-2019 thorpej

Implement support for "pshared" POSIX semaphores.

Fixes lib/53273 (and Firefox's multi-process tab feature).


Revision tags: pgoyette-compat-20190127
# 1.804 25-Jan-2019 christos

PR/53908: Alex Raschi: Test that require modules belong in modules; move the
threadpool test from kernel to modules.


Revision tags: pgoyette-compat-20190118
# 1.803 17-Jan-2019 knakahara

Add ATF for ipsecif(4) pfil.


# 1.802 27-Dec-2018 christos

initfini_array test


Revision tags: pgoyette-compat-1226
# 1.801 25-Dec-2018 knakahara

Add ATF for NAT-T enabled ipsecif(4).


# 1.800 24-Dec-2018 thorpej

Add rump-based test cases for threadpool(9).


# 1.799 24-Dec-2018 thorpej

Add threadpool(9), an abstraction that provides shared pools of kernel
threads running at specific priorities, with support for unbound pools
and per-cpu pools.

Written by riastradh@, and based on the May 2014 draft, with a few changes
by me:
- Working on the assumption that a relative few priorities will actually
be used, reduce the memory footprint by using linked lists, rather than
2 large (and mostly empty) tables. The performance impact is essentially
nil, since these lists are consulted only when pools are created (and
destroyed, for DIAGNOSTIC checks), and the lists will have at most 225
entries.
- Make threadpool job object, which the caller must allocate storage for,
really opaque.
- Use typedefs for the threadpool types, to reduce the verbosity of the
API somewhat.
- Fix a bunch of pool / worker thread / job object lifecycle bugs.

Also include an ATF unit test, written by me, that exercises the basics
of the API by loading a kernel module that exposes several sysctls that
allow the ATF test script to create and destroy threadpools, schedule a
basic job, and verify that it ran.

And thus NetBSD 8.99.29 has arrived.


# 1.798 23-Dec-2018 jakllsch

Make the /usr/tests/lib/libnvmm directory and testing framework files MI.

Should fix non-amd64 build.


# 1.797 23-Dec-2018 jakllsch

further build fixes


# 1.796 05-Dec-2018 kre

Add a new test program to test the "intermediate" shell built in
utilities. That is, not the low level ones that look like syntax,
but aren't: break/continue/return; not those which are really
just external programs that are built in for efficiency (printf,
test, and kill - though kill really needs to be built in) - those
should all have separate test programs (there is a test here for the
built-in echo, as that is an entirely different thing to /bin/echo);
and also not those for which there are other tests because of the
nature of the built-in (like exit, wait, shift, ...). Lastly not
"times" either as that just seems to be too hard to test rationally.

There is a test (well, framework) for ulimit and there's also t_ulimit.sh
one of those should go, but I am not yet sure which is the best way
to reconcile things.

Note: many (in fact) most of the test cases added here are either
entirely empty (no tests at all, beyond testing that the built-in is
in fact a shell built-in) or only very rudimentary tests - assistance
in fleshing those out would be welcome (the boilerplate is all here,
all that is needed is some actual tests to run...)


Revision tags: pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930
# 1.795 23-Sep-2018 christos

merge openssl-1.1.1


Revision tags: pgoyette-compat-0906
# 1.794 05-Sep-2018 kre

Add ATF tests for printf(1)

Two new test programs, one for the version of printf in /bin/sh
and one for the command /usr/bin/printf (t_builtin and t_command)

Each test program has 28 test cases (the same in each) of which
currently 27 pass, and 1 is skipped.

See the test scripts themselves for more information.


# 1.793 21-Aug-2018 christos

add new tests, sort


# 1.792 06-Aug-2018 msaitoh

s/t_ifnametoindex/t_if_nametoindex/


# 1.791 06-Aug-2018 msaitoh

Add simple test case for if_nametoindex(3).


# 1.790 03-Aug-2018 kamil

Register micro-UBSan ATF tests in the distribution

Populate distrib files, mtree lists and add the entry in Makefile to
include the new code.


Revision tags: pgoyette-compat-0728
# 1.789 10-Jul-2018 kre

Add tests for pattern matching (filename expansion (glob), case statement
patterns, and variable expansion substring matching)

Currently (2018-07-10) all 3 sub-tests fail (sh bugs...)
Expect to see 14 (of 261) case matching sub-tests fail, 11 (of 167) filename
expansion (glob) sub-tests fail, and 6 (of 87) var substring sub-tests fail.

Also expect those numbers to reduce as sh bugs are fixed.


Revision tags: phil-wifi-base pgoyette-compat-0625
# 1.788 20-Jun-2018 maya

branches: 1.788.2;
Add test case for PR lib/50646.

Make sure that cabsl (aka __c99_cabsl) is usable from C++.


# 1.787 15-Jun-2018 yamaguchi

Add if_vlan directory to lists to fix the build failure

build.sh was failed when using "-V MKDEBUG=yes"


# 1.786 14-Jun-2018 yamaguchi

Add test cases for multicast address handling of vlan(4)

ok ozaki-r@


# 1.785 25-May-2018 martin

Add new test program


# 1.784 24-May-2018 christos

add new tests


Revision tags: pgoyette-compat-0521
# 1.783 18-May-2018 kamil

Add new ATF tests: t_fork and t_vfork

Test behavior of raise(signal) in either fork(2)ed or vfork(2)ed child.

Tests:
- raise1 SIGKILL
- raise2 SIGSTOP
- raise3 SIGTSTP
- raise4 SIGTTIN
- raise5 SIGTTOU
- raise6 SIGABRT
- raise7 SIGHUP
- raise8 SIGCONT

t_vfork:raise2 fails ignoring non-maskable SIGSTOP.

The remaining ones pass.

Sponsored by <The NetBSD Foundation>


# 1.782 02-May-2018 kamil

Add new ATF Undefined Behavior Sanitizer tests

Add new cc and c++ tests to check whether UBSan works.
These tests are prepared for GCC (in base) and Clang (with external patches).

Enable these tests for all ports by default, just verify whether we are
using GCC/Clang or a compatible compiler.

Add five equivalent C and C++ tests:
- Integer addition overflow
- Integer divide by zero
- Integer negation overflow
- Integer subtraction overflow
- VLA out of bounds

All tests pass on NetBSD/amd64.

Patch submitted by <Harry Pantazis>
Minor cleanup by <myself>


Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415
# 1.781 11-Apr-2018 kamil

Import new C and C++ ATF tests for ASan

Add new tests:
- tests/usr.bin/cc/t_asan_poison.sh
- tests/usr.bin/c++/t_asan_poison.sh

These tests verify the following build options:
- regular
- profile
- pic
- pie
- compat32
- (static unsupported)

These tests verify whether ASan code can include compiler and sanitizer
specific header: <sanitizer/asan_interface.h>. The testing code checks
the ASAN_POISON_MEMORY_REGION() functionality, poisoning valid memory and
asserting that it triggers expected failure.

Patch submitted by <Siddharth Muralee>


Revision tags: pgoyette-compat-0407
# 1.780 04-Apr-2018 kamil

Add new ATF tests for Address Sanitzier (ASan)

Add new C and C++ tests:
- t_asan_double_free
- t_asan_global_buffer_overflow
- t_asan_heap_overflow
- t_asan_off_by_one
- t_asan_uaf

Each tests checks:
- regular build
- 32-bit
- PIC
- PIE
- profile

These tests require paxctl(8) to disable ASLR in order to work in a
predictable way. This is especially true for all !regular builds with
additional compiler flags.

There are no static variations of these tests as this mode is not supported
in upstream ASan.

Enable these tests on amd64 and i386.

Patch submitted by <Siddharth Muralee>
Additional polishing by myself.


# 1.779 04-Apr-2018 kamil

Sort files in usr/tests/usr.bin/c++/

No functional change intended.


Revision tags: pgoyette-compat-0330
# 1.778 24-Mar-2018 kamil

Add new C++ ATF tests

Add new variations for existing C++ tests:
- Static
- Profile+32-bit
- PIC+32-bit
- PIC+Profile
- PIC+Profile+32-bit

All tests pass for NetBSD/amd64:
- t_cxxruntime
- t_hello
- t_static_destructor

+--------------------------------------------------------------+
| Options | cxxruntime | hello | static_destructor |
+--------------------------------------------------------------+
| None | Passed | Passed | Passed |
| 32-bit | Passed | Passed | Passed |
| PIC | Passed | Passed | Passed |
| PIE | Passed | Passed | Passed |
| Profile | Passed | Passed | Passed |
| Static | Passed | Passed | Passed |
| Profile+32-bit | Passed | Passed | Passed |
| PIC+32-bit | Passed | Passed | Passed |
| PIC+Profile | Passed | Passed | Passed |
| PIC+Profile+32-bit | Passed | Passed | Passed |
+--------------------------------------------------------------+

Add new C++11 std::call_once tests:
- t_call_once
- t_call_once2

Add new C++11 test with pthread_once(3) and C++ lambda:
- t_pthread_once

All tests with the profile option for std::call_once and
pthread_once(3) are marked as expected failure (NetBSD/amd64).

Results for *_once*:
+------------------------------------------------------------+
| Options | call_once | call_once2 | pthread_once |
+------------------------------------------------------------+
| None | Passed | Passed | Passed |
| 32-bit | Passed | Passed | Passed |
| PIC | Passed | Passed | Passed |
| PIE | Passed | Passed | Passed |
| Profile | Failed | Failed | Failed |
| Static | Passed | Passed | Passed |
| Profile+32-bit | Failed | Failed | Failed |
| PIC+32-bit | Passed | Passed | Passed |
| PIC+Profile | Failed | Failed | Failed |
| PIC+Profile+32-bit | Failed | Failed | Failed |
+------------------------------------------------------------+

Long term there is an option to refacotr the framework for C and C++ tests,
in order to reduce code duplication.

Patches sent by Yang Zheng <tomsun.0.7@gmail.com>


Revision tags: pgoyette-compat-0322 pgoyette-compat-0315
# 1.777 14-Mar-2018 kamil

Add new ATF tests: kernel/t_zombie

New tests attempting to kill, stop, drop or revive a zombie:
- signal1 (SIGKILL)
- signal2 (SIGSTOP)
- signal3 (SIGABRT)
- signal4 (SIGHUP)
- signal5 (SIGCONT)

New test race1 verifying whether there are any kernel races when processing
signals to zombies, executing in a loop for 5 seconds.

These tests were inspired by a kernel unexpected behavior when a lookup
of a dying process could result in two detected entities once as an alive
process and once as a zombie.

race1 is similar to t_ptrace_wait* race1, however without ptrace(2) involved.

Sponsored by <The NetBSD Foundation>


# 1.776 09-Mar-2018 joerg

Add ifunc support for statically linked applications on x86, ppc, sparc
and ARM.


Revision tags: pgoyette-compat-base
# 1.775 22-Feb-2018 martin

branches: 1.775.2;
PR lib/53044: remove tests not provided by OpenSSL 1.1.x


# 1.774 11-Feb-2018 christos

Add obsolete lines for the gcc-5 and openssl-1.0 lines for systems that have
installed gcc-6 and openssl-1.1. Requested by wiz@


# 1.773 08-Feb-2018 christos

add openssl to the list of selectable variables for sets and fix the sets.


# 1.772 10-Jan-2018 knakahara

add ipsec(4) interface ATF.


# 1.771 10-Dec-2017 christos

new tests


# 1.770 08-Dec-2017 christos

make _lwp_park return the remaining time to sleep in the "ts" argument
if it is a relative timestamp, as discussed in tech-kern.
XXX: pullup-8


# 1.769 07-Dec-2017 christos

new test for trapsignal


# 1.768 06-Dec-2017 christos

add interp test.


# 1.767 19-Nov-2017 martin

ATF test program for PR kern/52738: check for mtime updates after rewriting
a file.


# 1.766 01-Nov-2017 martin

Add ./usr/libdata/debug/usr/tests/net/ipsec


# 1.765 30-Oct-2017 ozaki-r

Add test cases of NAT-T (transport mode)

A small C program is added to make a special socket (UDP_ENCAP_ESPINUDP)
and keep it to handle UDP-encapsulated ESP packets.


# 1.764 02-Oct-2017 pgoyette

Add new LIST_MOVE test to sets list.


# 1.763 29-Sep-2017 maya

Add simple test for workqueue(9)


# 1.762 20-Sep-2017 ozaki-r

Add tests of rtcache invalidation


# 1.761 16-Aug-2017 joerg

Add missing strfmon_l. Noticed by Bruno Haible. Add test case.


# 1.760 10-Aug-2017 ryo

Add support IP_PKTINFO for sendmsg(2).

The source address or output interface can be specified by adding IP_PKTINFO
to the control part of the message on a SOCK_DGRAM or SOCK_RAW socket.

Reviewed by ozaki-r@ and christos@. thanks.


# 1.759 02-Aug-2017 ozaki-r

Add test cases for setsockopt(IP_IPSEC_POLICY)


# 1.758 23-Jul-2017 perseant

Add missing setlist entries for DUCET collation test.


Revision tags: perseant-stdc-iso10646-base
# 1.757 18-Jul-2017 ozaki-r

branches: 1.757.2;
Separate test files


# 1.756 14-Jul-2017 perseant

Add a simple collation test. This test is expected to fail on HEAD since
we do not yet have a working implementation of wcscoll.


# 1.755 11-Jul-2017 joerg

Implement __cxa_thread_atexit and __cxa_thread_atexit_impl. This
functions are used for destructors of thread_local objects.

If a pending destructor exists, prevent unloading of shared objects.
Introduce __dl_cxa_refcount interface for this purpose. When the last
reference is gone and the object has been dlclose'd before, the
unloading is finalized.

Ideally, __cxa_thread_atexit_impl wouldn't exist, but libstdc++ insists
on providing __cxa_thread_atexit as direct wrapper without further
patching.


# 1.754 03-Jul-2017 ozaki-r

Add test cases for IPComp


# 1.753 09-Jun-2017 knakahara

add tests of ioctl for /dev/crypto


Revision tags: netbsd-8-base
# 1.752 01-Jun-2017 perseant

branches: 1.752.2;
Add tests for btowc(3)/wctob(3) and enable compilation of the test for
digittoint(3).

The digittoint(3) test is skipped since we don't provide that function yet.

One of the test cases for btowc(3) is also skipped, since it tests conversion
to Unicode---whereas our wchar_t representation is locale-dependent.


# 1.751 31-May-2017 perseant

Add new locale tests to distrib sets, thanks pgoyette@ for the reminder


# 1.750 30-May-2017 pgoyette

Add the new t_toupper to unbreak the build


# 1.749 27-May-2017 bouyer

merge the bouyer-socketcan branch to HEAD.

CAN stands for Controller Area Network, a broadcast network used
in automation and automotive fields. For example, the NMEA2000 standard
developped for marine devices uses a CAN network as the link layer.

This is an implementation of the linux socketcan API:
https://www.kernel.org/doc/Documentation/networking/can.txt
you can also see can(4).

This adds a new socket family (AF_CAN) and protocol (PF_CAN),
as well as the canconfig(8) utility, used to set timing parameter of
CAN hardware. Also inclued is a driver for the CAN controller
found in the allwinner A20 SoC (I tested it with an Olimex lime2 board,
connected with PIC18-based CAN devices).

There is also the canloop(4) pseudo-device, which allows to use
the socketcan API without CAN hardware.

At this time the CANFD part of the linux socketcan API is not implemented.
Error frames are not implemented either. But I could get the cansend and
canreceive utilities from the canutils package to build and run with minimal
changes. tcpudmp(8) can also be used to record frames, which can be
decoded with etherreal.


# 1.748 26-May-2017 martin

Fix typo


# 1.747 26-May-2017 pgoyette

Add new t_strcol test to the sets list - hopefully fix the build


# 1.746 21-May-2017 riastradh

Remove MKCRYPTO option.

Originally, MKCRYPTO was introduced because the United States
classified cryptography as a munition and restricted its export. The
export controls were substantially relaxed fifteen years ago, and are
essentially irrelevant for software with published source code.

In the intervening time, nobody bothered to remove the option after
its motivation -- the US export restriction -- was eliminated. I'm
not aware of any other operating system that has a similar option; I
expect it is mainly out of apathy for churn that we still have it.
Today, cryptography is an essential part of modern computing -- you
can't use the internet responsibly without cryptography.

The position of the TNF board of directors is that TNF makes no
representation that MKCRYPTO=no satisfies any country's cryptography
regulations.

My personal position is that the availability of cryptography is a
basic human right; that any local laws restricting it to a privileged
few are fundamentally immoral; and that it is wrong for developers to
spend effort crippling cryptography to work around such laws.

As proposed on tech-crypto, tech-security, and tech-userlevel to no
objections:

https://mail-index.netbsd.org/tech-crypto/2017/05/06/msg000719.html
https://mail-index.netbsd.org/tech-security/2017/05/06/msg000928.html
https://mail-index.netbsd.org/tech-userlevel/2017/05/06/msg010547.html

P.S. Reviewing all the uses of MKCRYPTO in src revealed a lot of
*bad* crypto that was conditional on it, e.g. DES in telnet... That
should probably be removed too, but on the grounds that it is bad,
not on the grounds that it is (nominally) crypto.


# 1.745 21-May-2017 riastradh

Remove MKCRYPTO_RC5. Unconditionally include RC5 in libcrypto.so.

This option existed only because RC5 is covered by patents that, twenty
years ago, we had reason to suspect the patent holder, RSA, Inc., might
litigate. The two US patents in question are 5,724,428 and 5,835,600.

According to the USPTO Patent Term Calculator web site at
<https://www.uspto.gov/patent/laws-and-regulations/patent-term-calculator#heading-5>
(retrieved 2017-05-21), patents filed after 1995-06-07 expire twenty
years after the filing date.

number filing date
5,724,428 1995-11-01
5,835,600 1997-04-21

Thus, these patents appear to be expired.

As proposed on tech-crypto and tech-security:

https://mail-index.netbsd.org/tech-crypto/2017/05/05/msg000718.html
https://mail-index.netbsd.org/tech-security/2017/05/05/msg000927.html


# 1.744 20-May-2017 kre

Add a test of sh syntax & parsing (first attempt anyway.)


Revision tags: prg-localcount2-base3
# 1.743 15-May-2017 ozaki-r

Add test cases for SA lifetime


# 1.742 15-May-2017 ozaki-r

Sort


# 1.741 14-May-2017 kamil

Add new ATF C++ tests in usr.bin/c++: t_static_destructor

These tests are cloned from t_cxxruntime and check proper order of destructor
calls. They must be reported in reverse order of constructor completion.

Added tests:
- static_destructor
- static_destructor_pic
- static_destructor_pie
- static_destructor32

This test file replaces src/regress/usr.bin/c++/static_destructor.


# 1.740 14-May-2017 kamil

Add new ATF C++ tests in usr.bin/c++

These tests are cloned from t_hello and use c++ runtime basic functions.

Added tests:
- hello
- hello_pic
- hello_pie
- hello32


# 1.739 14-May-2017 kamil

Add new c++ ATF tests in usr.bin/c++: t_hello

This is a copy of t_hello from usr.bin/cc.

Added tests:
- hello
- hello_pic
- hello_pie
- hello32

These tests do not use c++ runtime library functions.

Protect these tests with MKCXX.


Revision tags: prg-localcount2-base2
# 1.738 10-May-2017 ozaki-r

Test tunnel mode with IPv4 over IPv6 and IPv6 over IPv4


Revision tags: prg-localcount2-base1
# 1.737 27-Apr-2017 ozaki-r

Add test cases for L2TP/IPsec


# 1.736 27-Apr-2017 ozaki-r

Add test cases for gif/IPsec


Revision tags: prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.735 17-Apr-2017 knakahara

branches: 1.735.2;
fix build failure


# 1.734 14-Apr-2017 ozaki-r

Add tests for ipsec

- Check if setkey correctly handles algorithms for AH/ESP
- Check IPsec of transport mode with AH/ESP over IPv4/IPv6
- Check IPsec of tunnel mode with AH/ESP over IPv4/IPv6


# 1.733 03-Apr-2017 kamil

Remove tests/kernel/t_ptrace* from the tree

ptrace(2) tests have been moved to tests/lib/libc/sys

Sponsored by <The NetBSD Foundation>


# 1.732 02-Apr-2017 kamil

Import ptrace(2) tests into appropriate directory tests/lib/libc/sys/

This is the correct directory documented in tests/README for such tests.

Discussed with <martin>

Sponsored by <The NetBSD Foundation>


# 1.731 02-Apr-2017 kamil

Remove kernel/arch/{amd64,i386,x86} tests

These files were merged with kernel/t_ptrace_wait*

This removes MD test files.

Sponsored by <The NetBSD Foundation>


# 1.730 31-Mar-2017 ozaki-r

Add t_ping_opts


# 1.729 22-Mar-2017 jdolecek

add tests for the mount update from rw to rw+log, which used to case the panic
reported in PR kern/52056


Revision tags: pgoyette-localcount-20170320
# 1.728 11-Mar-2017 ozaki-r

Separate tests for learning table of bridge


# 1.727 06-Mar-2017 christos

more lint tests


# 1.726 06-Mar-2017 christos

add new lint test


# 1.725 28-Feb-2017 ozaki-r

Add tests for loopback interface


# 1.724 22-Feb-2017 kamil

Fix build of !x86 ports

Mark debug/usr/tests/kernel/arch/x86 as MI directory.

Sponsored by <The NetBSD Foundation>


# 1.723 21-Feb-2017 kre

PR bin/50934

Add a test program for the bug described in this PR.
This is the first pkill/pgrep/prenice test (more would be good!)

This test has been confirmed to work once the bug described in the PR
has been fixed, so the test is not marked "expected to fail" even
though initially that is what should happen.

Note: the test cana also fail if the system running the tests happens
to be running processes with names that match the patterns searched for
by the test, other than the test program itself. This is expected to be
unlikely.


# 1.722 20-Feb-2017 kamil

Remove tests/lib/libc/gen/exect paths from mtree and sets

The exect tests have been removed from the distribution.

Requested by Thomas Klausner.


# 1.721 16-Feb-2017 knakahara

add l2tp(4) basic test.


# 1.720 11-Feb-2017 nakayama

Redo rev.1.718, remove trash in line end.


# 1.719 09-Feb-2017 christos

put back exect directory; we try to remove it before the files inside it and
we fail.


# 1.718 09-Feb-2017 christos

remove exect test


# 1.717 08-Feb-2017 kamil

libpthread_dbg(3) deletion from the base distribution

libpthread_dbg(3) is a remnant library from the M:N thread model
(pre-NetBSD-5.0) API to introspect threads within a process and for use
of debuggers.

Currently in the 1:1 model it's not used in GDB neither in LLDB and it's
not either planned to be used. It's current function to read pthread_t
structures is realizable within a regular debugger capable to
instrospect objects within a tracee (GDB, LLDB...).

Remaining users of this API can still use this library from
pkgsrc/devel/libpthread_dbg.

Sponsored by <The NetBSD Foundation>


# 1.716 02-Feb-2017 martin

Add test program for PR kern/51762


# 1.715 27-Jan-2017 hannken

Add test for read/write to readonly update mount.


Revision tags: bouyer-socketcan-base
# 1.714 14-Jan-2017 christos

branches: 1.714.2;
add new test file


Revision tags: pgoyette-localcount-20170107
# 1.713 05-Jan-2017 wiz

Tag cleanup: if the last column contains 'obsolete', the one before should too.


# 1.712 02-Jan-2017 martin

Add misising mixerctl file


# 1.711 02-Jan-2017 christos

Add mixerctl tests


# 1.710 19-Dec-2016 maya

adjust set lists for t_fe_round


# 1.709 15-Dec-2016 kre

More sets list sorting (maybe this time they're really all done)


# 1.708 13-Dec-2016 kamil

Add regs1 in arch/i386/t_ptrace_wait*

regs1:
Call PT_GETREGS and iterate over General Purpose registers

Sponsored by <The NetBSD Foundation>


# 1.707 09-Dec-2016 kamil

Attach t_exect to ATF tests and distribution

Add missing SIGTRAP handler. Assert there that the signal is SIGTRAP as
expected and si_code TRAP_TRACE.

This test will break on some ports that have dummy or incomplete
implementation of exect(2).

This test works on amd64 correctly.

Sponsored by <The NetBSD Foundation>


# 1.706 02-Dec-2016 kamil

Refactor location of amd64-specific ATF tests to new dir kernel/arch/amd64

Rename
- tests/kernel/t_ptrace_amd64_wait.c
to
- tests/kernel/arch/amd64/t_ptrace_wait.c
and adapt appropriate files accordingly.

New directory will be used for more amd64-specific tests, verifying the
MD parts of the kernel.

Remove old entries from distrib/sets/lists as they were added a while ago.

Sponsored by <The NetBSD Foundation>


# 1.705 02-Dec-2016 kamil

Fix !amd64 sets

Sponsored by <The NetBS Foundation>


# 1.704 01-Dec-2016 kamil

Add t_ptrace_amd64_wait{,3,4,6,id,pid} tests

Sponsored by <The NetBSD Foundation>


# 1.703 26-Nov-2016 ozaki-r

Add basic tests for vlan(4)


# 1.702 18-Nov-2016 kamil

Add new test file lib/libpthread_dbg/t_threads

This test contains threads1 test that:
Asserts that td_thr_iter() call without extra logic works

This tests fails and is linked with gnats:
PR lib/51635: td_thr_iter in <pthread_dbg.h> seems broken

Sponsored by <The NetBSD Foundation>


# 1.701 16-Nov-2016 kamil

Add new test-suite t_dummy for libpthread_dbg

At the moment this test does nothing except reports failure from td_open()
for overloaded (implemented) dummy1_proc_lookup() (.proc_lookup from
td_proc_callbacks_t) of the following form:

static int
dummy1_proc_lookup(void *arg, const char *sym, caddr_t *addr)
{
return TD_ERR_ERR;
}

This file and directory with tests is placeholder for new ones, without
further need to alter mtree and distribution sets.

The libpthread_dbg interface and library is used by gdb(1) to handle
threads in applications.

Sponsored by <The NetBSD Foundation>


# 1.700 15-Nov-2016 skrll

Fix librefuse falout.... Hi pho


# 1.699 11-Nov-2016 njoly

New clock_nanosleep(2) testcase.


# 1.698 11-Nov-2016 alnsn

Add 3des-cbc tests with 192 bits key.


# 1.697 10-Nov-2016 alnsn

Add t_cgd_blowfish.


# 1.696 07-Nov-2016 kamil

Add new tests for combination of wait(2) interfaces with ptrace(2)

Move out wait(2) specific tests from t_ptrace and put them to t_ptrace_wait

Add generic code fragments to reuse the same source-code for every member
of the wait(2) family, namely:
- wait(2)
- waitpid(2)
- waitid(2)
- wait3(2)
- wait4(2)
- wait6(2)

Currently in the new test-suite there are the following tests:
- traceme1
- traceme2
- traceme3
- traceme4
- attach1

Not all tests are possible to be executed against every wait(2)-like
interface, therefore they will be disabled in such case. Currently this
limits attach1 to waitpid(2), waitid(2), wait4(2), wait6(2), while the
other tests (traceme 1-4) run with all of the interfaces.

The construct of this file is dedicated for addition of new tests in the
close future.

As of now all of the tests pass correctly.

Thanks for Robert Elz for suggestions on improving the code (earlier draft
of this new form).

Sponsored by <The NetBSD Foundation>.


# 1.695 07-Nov-2016 ozaki-r

Add basic tests for IPv6 Path MTU Discovery


# 1.694 06-Nov-2016 alnsn

Add "crypto" category to t_cgd_aes.


# 1.693 06-Nov-2016 kamil

Add new tests: tests/lib/libc/sys/t_wait_noproc and t_wait_noproc_wnohang

The t_wait_noproc test checks whether wait(2)-family of functions return
error and set ECHILD for lack of childs.

The t_wait_noproc_wnohang adds to options (except wait(2), wait3(2)) new
parameter WNOHANG and verifies that error is still signaled and errno set
to ECHILD.

Currently t_wait_noproc_wnohang reports failures, these have been marked as
expected and referenced to PR standards/51606.

The problem report is authored by Robert Elz, and the initial regression
has been notified by Nicolas Joly.

Remove redundant test in tests/lib/libc/sys/t_wait for wait6(2) with no
WNOHANG specified.

Sponsored by <The NetBSD Foundation>.


# 1.692 06-Nov-2016 alnsn

Add tests for not-yet-committed cgd algorithm AES-XTS.

The tests are marked as expected failures.


Revision tags: pgoyette-localcount-20161104
# 1.691 02-Nov-2016 kamil

Add new test t_ptrace with traceme1

This test is a placeholder for further checks of the native ptrace(2)
function calls.

XXX: Is it safe to call ATF functions from a child? FreeBSD seems to
construct dedicated asserts for them.

XXX: printf(3) calls from a child are not intercepted by atf-run(1)

Sponsored by <The NetBSD Foundation>.


# 1.690 31-Oct-2016 ozaki-r

Add tests for ping6 options

- -S <sourceaddr>
- -I <interface>
- -g <gateway>


# 1.689 30-Oct-2016 kamil

Add new test t_timedmutex

This test is a clone on t_mutex with additional two tests for timed-mutex
specific block.

All simple-mutex (not with the timed property according to the C11 wording)
specific tests are covered by pthread_mutex_timedlock(3) with parameter
ts_lengthy of sufficiently large tv_sec value (right now UINT16_MAX). If,
a test will hang, it won't wait UINT16_MAX seconds, but will be terminated
within the default timeout for ATF tests (right now 300 [sec] in my
NetBSD/amd64 setup).

This test was inspired by a classic selflock test failure of
pthread_mutex_timedlock(3) of the following form:

#include <assert.h>
#include <errno.h>
#include <pthread.h>
#include <stdio.h>
#include <time.h>

int main(int argc, char **argv)
{
pthread_mutex_t mtx;
struct timespec ts;

ts.tv_sec = 0;
ts.tv_nsec = 1000;
printf("ts{.tv_sec = %d, .tv_nsec=%ld}\n", ts.tv_sec, ts.tv_nsec);
fflush(stdout);

printf("mtx_init\n");
assert(pthread_mutex_init(&mtx, NULL) == 0);

printf("mtx_lock\n");
assert(pthread_mutex_lock(&mtx) == 0);

printf("mtx_timedlock\n");
assert(pthread_mutex_timedlock(&mtx, &ts) == ETIMEDOUT);

printf("mtx_unlock\n");
assert(pthread_mutex_unlock(&mtx) == 0);

printf("mtx_destroy\n");
assert(pthread_mutex_destroy(&mtx) == 0);

return 0;
}

Current NetBSD implementation wrongly hangs on this test.

The issue was detected during development of the C11 portable threads.

My local tests in chroot presents that the are further issues:

t_timedmutex (21/25): 10 test cases
mutex1: [0.001142s] Failed: /usr/src/tests/lib/libpthread/t_timedmutex.c:75: *param != 20
mutex2: [0.261499s] Passed.
mutex3: [0.261496s] Passed.
mutex4: [0.001204s] Failed: /usr/src/tests/lib/libpthread/t_timedmutex.c:265: pthread_mutex_timedlock(&mutex, &ts_lengthy): Connection timed out
mutex5: [0.001235s] Failed: /usr/src/tests/lib/libpthread/t_timedmutex.c:337: pthread_mutex_timedlock(&mutex5, &ts_lengthy): Connection timed out
mutex6: [21.218497s] Failed: /usr/src/tests/lib/libpthread/t_timedmutex.c:512: start != 1
mutexattr1: [0.001328s] Passed.
mutexattr2: [0.001175s] Passed.
timedmutex1: [301.119397s] Failed: Test case timed out after 300 seconds
timedmutex2: [301.123081s] Failed: Test case timed out after 300 seconds
[623.990659s]

I'm also receiveing the same failure in the mutex6 test in t_mutex, so
there might be a false positives due to local chroot(8) issues.

Commit approved by <christos>.


# 1.688 22-Oct-2016 abhinav

Add tests for uniq(1) based on the example test cases provided in the POSIX man page.
Ok christos


# 1.687 04-Oct-2016 ozaki-r

Add tests for sysctl net.inet.ip.mtudisc

From suzu-ken@IIJ


Revision tags: localcount-20160914
# 1.686 05-Sep-2016 ozaki-r

Add very basic tests for tun devices


# 1.685 31-Aug-2016 maya

Add failing test for casinh


# 1.684 22-Aug-2016 maya

add failing test for PR lib/51427
ilogb(INFINITY)=-INT_MAX, it should be INT_MAX

while here, test raised exceptions, other values.

XXX some platforms don't have exceptions


# 1.683 19-Aug-2016 christos

new lint test


# 1.682 18-Aug-2016 christos

new lint test


# 1.681 14-Aug-2016 jakllsch

tests for sys/dev/clock_subr.c


Revision tags: pgoyette-localcount-20160806
# 1.680 30-Jul-2016 njoly

New getsockname(2) testcase for UNIX domain sockets.


# 1.679 29-Jul-2016 pgoyette

Add files for the new fss(4) test


Revision tags: pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.678 13-Jul-2016 matt

branches: 1.678.2;
Fix libproc compat setting


# 1.677 01-Jul-2016 christos

Add hmac(3)


# 1.676 29-Jun-2016 christos

fix sets for MKCRYPTO=no


# 1.675 16-Jun-2016 pgoyette

Add input/output files for new test case - fix build


# 1.674 21-Apr-2016 ozaki-r

Add tests of route flags using IPv6 addresses


# 1.673 15-Apr-2016 ozaki-r

Add a new test case for PPPoE using PAP

From s-yamaguchi@IIJ (with some tweaks by me)


# 1.672 09-Apr-2016 riastradh

Introduce pserialize-safe linked lists.

These are like LIST_* from queue(3), but issue the appropriate memory
barriers for pserialize readers and writers.

Discussed on tech-kern:

https://mail-index.netbsd.org/tech-kern/2016/04/03/msg020365.html


# 1.671 08-Apr-2016 gson

Add regression tests for some past gdb bugs.


# 1.670 06-Apr-2016 christos

Add wait tests.


# 1.669 20-Mar-2016 christos

Add command substitution test.


# 1.668 16-Mar-2016 christos

Add the shift test


# 1.667 16-Mar-2016 christos

new sh tests


# 1.666 13-Mar-2016 christos

Add new sh test


# 1.665 08-Mar-2016 christos

remove obsolete test


# 1.664 04-Mar-2016 ozaki-r

Add tests for tap(4)


# 1.663 23-Feb-2016 christos

add t_option


# 1.662 22-Feb-2016 christos

new shell test


# 1.661 29-Jan-2016 ozaki-r

Add tests for a gateway not on the local subnet

The tests are derived from the example at
http://www.netbsd.org/docs/network/#nonsubnetgateway ,
which has come up in PR 50717.


# 1.660 25-Jan-2016 jnemeth

Add t_hypot to fix build break. Hi gson!


# 1.659 05-Jan-2016 jakllsch

Add some tests for the kernel HID parser.


# 1.658 01-Jan-2016 jakllsch

tests for libusbhid (many of which fail)


# 1.657 05-Dec-2015 christos

new files


# 1.656 04-Dec-2015 christos

add gpt directory


# 1.655 04-Dec-2015 christos

Add gpt tests


# 1.654 18-Nov-2015 christos

Add new db test.


# 1.653 12-Nov-2015 ozaki-r

Add tests of IPv6 link local address

From s-yamaguchi@IIJ


# 1.652 11-Nov-2015 ozaki-r

Add tests for RA

From s-yamaguchi@IIJ (with some tweaks by me)


# 1.651 05-Nov-2015 knakahara

add basic if_gif tests to ATF.


# 1.650 14-Oct-2015 christos

add new test


# 1.649 07-Oct-2015 ozaki-r

Add tests for assigining/deleting IP addresses

The tests help to find defects related to creation/deletion
of routes/llentries and assigning/deleting of IP addresses.


# 1.648 25-Sep-2015 martin

Try to fix set lists for libproc and librtld_db. The latter is probably
wrong and needs to be redone with COMPATARCHDIRS magic, but I can't
find any documentation how to do it. Matt?


# 1.647 24-Sep-2015 christos

debug for libproc


# 1.646 24-Sep-2015 christos

update for libproc/librtld_db/dtrace changes


# 1.645 14-Sep-2015 ozaki-r

Add tests for IPv6 ICMP redirect

Note that tests for redirect timeout doesn't work for now due to
PR kern/50240.

From s-yamaguchi@IIJ (with some fixes and tweaks by ozaki-r)


# 1.644 31-Aug-2015 ozaki-r

Add tests for ICMP redirect timeout


# 1.643 27-Aug-2015 rjs

Don't make fifofs test depend on rump.


# 1.642 23-Aug-2015 mrg

move the obsolete list files into their respective sets. this means
that if you install a new set and run "postinstall fix obsolete"
the expected things happen.

(hi 12.5 year old me who thought base was better than etc set, which
it really was, but this is better again :-)


# 1.641 10-Aug-2015 mrg

now that we only support gcc 4.8, make all the gcc tags just "gcc".
this should help with next-gcc, when we can add back gcc=48 and
gcc=5x tags, as necessary.


# 1.640 10-Aug-2015 mrg

obsolete and clean up gcc=3 (3.3), gcc=4 (4.1), and gcc=45 (4.5) sets.


# 1.639 06-Aug-2015 ozaki-r

Add basic tests for IPv6 Address Lifetime Expiry


# 1.638 03-Aug-2015 ozaki-r

Add tests for NDP


# 1.637 30-Jul-2015 ozaki-r

Add tests for IPv4 DAD


# 1.636 29-Jul-2015 christos

fix name of the test


# 1.635 29-Jul-2015 christos

new lint test.


# 1.634 29-Jul-2015 ozaki-r

Add tests for ARP


# 1.633 28-Jul-2015 christos

new test


# 1.632 01-Jul-2015 christos

new test


# 1.631 01-Jul-2015 ozaki-r

Add tests of interface creation/destruction


# 1.630 24-Jun-2015 matt

Remove spurious rump from directories


# 1.629 22-Jun-2015 christos

add new db test


# 1.628 22-Jun-2015 matt

Update some of the set lists to use the compatdir/compatfile
compattestsdir/compattestsfile as well the kmod auto-entry creation.
Remove entries that are now instantiated by the above.


# 1.627 27-May-2015 kefren

Add another simple MPLS test but using this time a mixed IPv4/IPv6 LSR
This test encapsulates IPv6 packets, pass them over MPLS to an IPv6
neighbour that switches label and passes forward to an IPv4
neighbour. There, the IPv6 packet is decapsulated and passed to IPv6 stack
For the return path we test both implicit and explicit null encapsulations


# 1.626 27-May-2015 kefren

Add a simple IPv6/MPLS test


# 1.625 26-May-2015 htodd

Revert wrong build fix.


# 1.624 26-May-2015 htodd

Fix debug build.


# 1.623 26-May-2015 ozaki-r

Run mcast tests on rump kernels

The tests on anita qemus failed due to that the host network environment
didn't meet the tests.

The change makes the tests independent from host environments
and the tests will pass on any environments including anita qemus.

Discussed on tech-kern and tech-net.


# 1.622 18-May-2015 ozaki-r

Add tests for route flags


# 1.621 15-May-2015 ozaki-r

Add missing rump flag to net/route test files


# 1.620 13-May-2015 ozaki-r

Add basic tests for IP forwarding


# 1.619 11-May-2015 christos

add new lint test.


# 1.618 05-May-2015 sjg

New unit-test for make


# 1.617 01-May-2015 christos

- new test for strtoi
- namespace protection for strto{i,u}
- separate manpages for strto{i,u} from the ones for strto{u,}l
From: Kamil Rytarowski


# 1.616 09-Apr-2015 ginsbach

Split inet_addr(3) tests from t_inet_network into stand-alone t_inet_addr,
so that t_inet_network only contains tests for inet_network(3).


# 1.615 05-Apr-2015 martin

Add new bind(2) test program


# 1.614 03-Apr-2015 christos

add another lint test


# 1.613 29-Mar-2015 chopps

- Add new tests for -c check flag in resize_ffs


# 1.612 06-Feb-2015 rjs

Fix build when MKRUMP=no.


# 1.611 31-Jan-2015 christos

PR/49617: Kirk Russell: new posix_fallocate test


# 1.610 14-Jan-2015 christos

add vnode kqueue test from PR/48958


# 1.609 06-Jan-2015 mrg

fix MKGCC=no builds.


# 1.608 05-Jan-2015 christos

add in_cksum tests


# 1.607 05-Jan-2015 joerg

Add missing gcccmds tags.


# 1.606 05-Jan-2015 mrg

fix MKGCCCMDS=no, and turn it on by default for sun2.


# 1.605 21-Dec-2014 martin

Add new test program


# 1.604 20-Dec-2014 uebayasi

config(1): Fix test breakage

Now config(1) checks the content of $S/conf/Makefile.kern.inc. Install it
into config(1) test directory to fix test. Noticed by Martin Husemann.


# 1.603 08-Dec-2014 ozaki-r

Add basic tests for ifconf (SIOCGIFCONF)


# 1.602 02-Dec-2014 christos

add new address printing tests.


# 1.601 21-Nov-2014 ozaki-r

Add missing file entries of tests/usr.bin/xlint/lint1

This unbreaks the build.


# 1.600 15-Nov-2014 uebayasi

Merge tests.


# 1.599 14-Nov-2014 uebayasi

Test orphan ELF section placement.


# 1.598 14-Nov-2014 uebayasi

Test __start_xxx/__stop_xxx symbol generation.


# 1.597 14-Nov-2014 uebayasi

Minimal linker script test.


# 1.596 29-Oct-2014 uebayasi

config(1): Check minimal config(1) output files


# 1.595 20-Oct-2014 christos

t_mcast is not a rump test (but should be).


# 1.594 15-Oct-2014 justin

PR standards/49279 add tests for open_memstream, ported from OpenBSD


# 1.593 13-Oct-2014 uebayasi

Sort.


# 1.592 11-Oct-2014 christos

add multicast tests


# 1.591 18-Sep-2014 ozaki-r

Add net/if_bridge test


# 1.590 25-Aug-2014 joerg

Add basic support for indirect functions. It allows providing a public
function symbol with an implementation choosen at run time.
Refactor calls to functions by address in ld.elf_so to create temporary
function descriptors on the stack, if the address is not leaked outside.

Limitations:
- no support for initialising static storage with function pointers
- no support for unnamed resolver functions

Inspired by FreeBSD's r228435 by kib@freebsd.org.


# 1.589 24-Aug-2014 apb

Add tests for backslash escaping in make(1).

Many of these tests fail, and I have populated the escape.exp file with
the results that I expect, not with the results that make(1) actually
produces.

Also update the set lists for these tests.


# 1.588 24-Aug-2014 apb

sort


# 1.587 23-Aug-2014 christos

new make tests


# 1.586 22-Aug-2014 apb

Test make(1) by running the maintained tests, not unmaintained
copies of them.

* Remove all old tests from src/tests/usr.bin/make/d_*. These tests
were unmaintained old copies of the actual tests which are maintained
under src/usr.bin/make/unit-tests. One exception is the test in
d_unmatchedvarparen.mk, which was new, but has nw been added to
src/usr.bin/make/unit-tests/varmisc.mk.
* In src/tests/usr.bin/make/Makefile, copy all
the tests from src/usr.bin/make/unit-tests to
${DESTDIR}/usr/tests/usr.bin/make/unit-tests.
* In src/tests/usr.bin/make/t_make.sh, run the tests installed above,
instead of the old tests.
* In etc/mtree/NetBSD.dist.tests, create the
usr/tests/usr.bin/make/unit-tests diectory.
* Update the set lists for all the above.


# 1.585 22-Aug-2014 apb

sort


Revision tags: netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.584 09-Aug-2014 gson

branches: 1.584.2;
Test that reading a CTLTYPE_INT sysctl variable into a buffer that is
too small returns ENOMEM, and that reading it into a buffer that is
large enough returns the expected sizeof(int) bytes of data.


# 1.583 07-Aug-2014 jmmv

Add missing Kyuafile.


# 1.582 18-Jul-2014 christos

Add t_minherit.


# 1.581 12-Jul-2014 dholland

Mark stray files obsolete (don't just remove them); noted by Paul Goyette.
(hi darrenr)


# 1.580 12-Jul-2014 darrenr

Test n17_6 does not yet exist so remove unrequired files and test case


# 1.579 09-Jul-2014 alnsn

Add t_cop and t_extmem kernel bpfjit tests to the build.


# 1.578 08-Jul-2014 alnsn

Add t_mbuf tests to the build.


# 1.577 07-Jul-2014 alnsn

Add bpf/t_mbuf test to the build.


# 1.576 01-Jul-2014 htodd

Fix build for ipf tests.


# 1.575 30-Jun-2014 alnsn

Add new net/t_bpfjit test.


# 1.574 25-Jun-2014 alnsn

Add new libbpfjit tests.


# 1.573 23-Jun-2014 shm

Add bm(3) tests


# 1.572 16-Jun-2014 joerg

Add modfl(3). From FreeBSD.


# 1.571 31-May-2014 christos

add missing files for dotcmd tests


# 1.570 31-May-2014 christos

new shell tests


# 1.569 15-May-2014 apb

sort


Revision tags: yamt-pagecache-base9
# 1.568 10-May-2014 martin

Add a test case for PR kern/48787.


# 1.567 29-Apr-2014 uebayasi

Minimal execve(2) ATF test.


# 1.566 17-Apr-2014 pgoyette

Reference the correct test file name...

Hello again, xtos!


# 1.565 17-Apr-2014 christos

add new lint tests


# 1.564 06-Apr-2014 christos

add stp*cpy tests.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
# 1.563 08-Feb-2014 jmmv

branches: 1.563.2;
Update file lists for atf 0.19.

This has been tested with both MKKYUA=no (the default) and MKKYUA=yes, as
well as with a non-clean tree and a clean build. Hopefully I got the
details right... but they were tricky!


# 1.562 04-Feb-2014 njoly

Handle another declaration after statement case for lint in c99 mode.
Add the corresponding testcase.


# 1.561 01-Feb-2014 jmmv

Add missing Kyuafile for usr.bin/vmstat tests.


# 1.560 30-Jan-2014 joerg

Add test for uint64 to real long double conversion.


# 1.559 17-Jan-2014 pgoyette

Update sets lists for new h_sha1hmac test program.


# 1.558 15-Jan-2014 martin

Obsolete /usr/tests/opencrypto


# 1.557 14-Jan-2014 pgoyette

Update sets list for new opencrypto test suite


# 1.556 09-Jan-2014 christos

add new resolv.conf file


# 1.555 07-Jan-2014 gson

Add some minimal tests of vmstat(1), to serve as regression tests
for PR bin/44518.


# 1.554 06-Jan-2014 gson

Make t_hostent test cases that query the DNS work on systems with no
Internet connectivity, by hijacking DNS queries and /etc/resolv.conf
accesses using librumphijack and providing a minimal DNS server to
answer the queries.


# 1.553 02-Jan-2014 tho

Drop superflous "picinstall" flag on "obsolete" items

Reported by apb@, thanks!


# 1.552 02-Jan-2014 tho

Mark all _pic.a archive files with the 'picinstall' flag.

This fixes checkflist with MKPICINSTALL=no.

ok christos@.


# 1.551 12-Nov-2013 kefren

mark t_ldp_static obsolete (this time correctly)


# 1.550 12-Nov-2013 joerg

Initial version of fmodl from FreeBSD.
Basic test case for the fmod family.


# 1.549 12-Nov-2013 kefren

Retire t_ldp_static. It's too heavy weighted for releng's anita and mostly
unsuited for atf.


# 1.548 11-Nov-2013 joerg

NetBSD 6.99.26: Switch i386 and amd64 to the x87 default control word
as initial value for new processes. This means that long double
computations get the expected 63bit mantissa. Binaries tagged as
compiled for 6.99.25 and older get the old value.

Add a simple test case to ensure that double and long double computation
are working correctly.


# 1.547 27-Oct-2013 apb

sort


# 1.546 12-Oct-2013 christos

add new t_tcp test


# 1.545 16-Aug-2013 christos

new hostent related tests.


# 1.544 11-Aug-2013 joerg

Sort entries in strcmp order.


# 1.543 10-Aug-2013 dholland

+tp


# 1.542 25-Jul-2013 kefren

add a couple of tests for dynamic MPLS routes generation using ldpd


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.541 23-Jul-2013 kefren

Add a test for RFC4182


# 1.540 19-Jul-2013 kefren

Add a couple of basic IP/MPLS forwarding tests


Revision tags: riastradh-drm2-base
# 1.539 03-Jul-2013 nakayama

branches: 1.539.2;
Enable tests which does not require rump if MKRUMP=no.
Pointed out by christos on source-changes-d.


# 1.538 02-Jul-2013 nakayama

rump is required for tests under tests/net/net.


# 1.537 27-Jun-2013 christos

add pktinfo tests


# 1.536 28-May-2013 joerg

Add mbsnrtowcs and wcsnrtombs. Approved by core.


# 1.535 22-Apr-2013 christos

new t_mktemp


# 1.534 17-Apr-2013 riz

Add ./usr/tests/kernel/t_umountstress to set lists, to fix the build.


# 1.533 14-Apr-2013 jmmv

Add missing Kyuafile.


# 1.532 28-Mar-2013 christos

new test


Revision tags: agc-symver-base
# 1.531 23-Mar-2013 christos

try to fix sun2


# 1.530 21-Mar-2013 christos

new dlopen tests for libpthread.


# 1.529 08-Mar-2013 martin

Adapt to renamed test program


# 1.528 08-Mar-2013 martin

Add new test program t_sigtimedwait_pr_47625.


# 1.527 28-Feb-2013 christos

Locale I/O tests.


# 1.526 28-Feb-2013 martin

Add new testprogram


# 1.525 26-Feb-2013 christos

add a new rpc test


# 1.524 25-Feb-2013 jmmv

Update file lists to reflect the import of kyua-atf-compat, which has the
side-effect of marking several atf-related entries as obsolete (when
MKKYUA!=no).


# 1.523 23-Feb-2013 jmmv

Remove duplicate (and possibly invalid) 'atf' tags from 3 tests.


# 1.522 23-Feb-2013 jmmv

Autogenerate Kyuafiles next to Atffiles when MKKYUA is set.

This is suboptimal: the current high-level definitions of test programs
in the Makefiles do not carry enough information to support all the
features of Kyuafiles. For example, it is not possible to register test
programs that do *not* use the ATF libraries, which is something that
has been frequently requested around here; nor it is possible to attach
arbitrary metadata to test programs from the Makefile, which is handy
particularly for ATF-less test programs.

For these reasons, consider this a transitional step.

Note that, with this change, you should now be able to use the 'kyua'
tool to run the tests in /usr/tests.


# 1.521 23-Feb-2013 jmmv

Register directories and files provided by kyua-cli.


# 1.520 19-Feb-2013 jmmv

Enable the build of kyua-testers and register its files and directories.
This is conditional on MKKYUA.


# 1.519 17-Feb-2013 htodd

Fix build by adding obsolete to files in /usr/tests/examples.


# 1.518 16-Feb-2013 jmmv

Hook Lutok into the build. This is all protected by the MKKYUA guard.


# 1.517 16-Feb-2013 jmmv

Move tests for examples from tests/examples to tests/share/examples.

This is to match the layout of the installed and source files more closely.
While doing this, honor the MKSHARE variable, as the files these tests
validate are only installed when MKSHARE=yes.


# 1.516 15-Feb-2013 jmmv

Update file lists for atf 0.17.


Revision tags: yamt-pagecache-base8
# 1.515 16-Jan-2013 christos

Add a new "debug" set that gets built when ${MKDEBUG} is set. On evbarm:
-rw-r--r-- 1 root src 35806068 Jan 16 10:47 base.tgz
-rw-r--r-- 1 root src 57374069 Jan 16 10:48 comp.tgz
-rw-r--r-- 1 root src 101286193 Jan 16 10:49 debug.tgz
...
This allows always building the debugging code and libraries but not
installing it (although now it is placed in the default sets if ${MKDEBUG}
is set


# 1.514 06-Jan-2013 christos

add the udp test.


# 1.513 02-Jan-2013 christos

fix mtree sets


Revision tags: yamt-pagecache-base7
# 1.512 04-Dec-2012 jruoho

Move the bitmap(3) test to the "right" place. Note it in bitops(3). Xrefs.


# 1.511 01-Dec-2012 christos

add a bitops test


# 1.510 30-Nov-2012 pgoyette

Remove the now-obsolete ipf/t_bpf.sh test


# 1.509 23-Nov-2012 njoly

Adjust for usr/tests/lib/libc/c063 debug entries.


# 1.508 20-Nov-2012 agc

add missing destdir files for netpgpverify addition


# 1.507 20-Nov-2012 agc

add test files for netpgpverify


# 1.506 18-Nov-2012 manu

Add most system calls for POSIX extended API set, part 2, with test cases:
faccessat(2), fchmodat(2), fchownat(2), fstatat(2), mkdirat(2), mkfifoat(2),
mknodat(2), linkat(2), readlinkat(2), symlinkat(2), renameat(2), unlinkat(2),
utimensat(2), openat(2).

Also implement O_SEARCH for openat(2)

Still missing:
- some flags for openat(2)
- fexecve(2) implementation


# 1.505 17-Nov-2012 joerg

Unbreak the NOTE_TRACK event of EVFILT_PROC. When attaching to the child
process, proc_find can't be used as the child is still in state SIDL.


# 1.504 12-Nov-2012 njoly

Adjust for tests/lib/{libbpfjit,libsljit} debug entries.


# 1.503 11-Nov-2012 alnsn

Build libbpfjit test to the build.


# 1.502 08-Nov-2012 pgoyette

Include the newly-converted tests/lib/libc/gen/t_sleep test


# 1.501 07-Nov-2012 pgoyette

Add the ATF file-locking test


# 1.500 05-Nov-2012 alnsn

Untie libsljit directory from MKSLJIT.


# 1.499 05-Nov-2012 pgoyette

Add new SysV IPC test


# 1.498 05-Nov-2012 alnsn

Build sljit test when MKSLJIT != no and set MKSLJIT to yes on amd64 and i386.


# 1.497 03-Nov-2012 pgoyette

Add tests/mqueue


Revision tags: yamt-pagecache-base6
# 1.496 27-Sep-2012 joerg

Add regression test for cdbr(3) and cdbw(3).


# 1.495 18-Sep-2012 martin

npftest.conf is not dependend on pic


# 1.494 13-Sep-2012 martin

npftest only is build with dynamic libraries


# 1.493 12-Sep-2012 rjs

Allow build with MKRUMP=no.


# 1.492 12-Sep-2012 martin

Set list changes for npftest binary and npf tests


# 1.491 12-Sep-2012 manu

branches: 1.491.2;
setcontext() used to be incompatible with -lpthread since it affected
the TLS pointer, therefore wrecking the pthread environement.

Some ports had _UC_TLSBASE flag or equivalent (_UC_UNIQUE on alpha)
that controlled whether setcontext() would change the TLS pointer.
This change let libpthread override setcontext() with its own version
that unsets _UC_TLSBASE, enabling safe usage of setcontext() with
-lpthread.

We also have the following required changes here:
- rename alpha's _UC_UNIQUE into _UC_TLSBASE
- add _UC_TLSBASE definition in header file for all ports
(powerpc, sh3, sparc and sparc64 lack the implementation for now)
- introduce a libc stub that can be overriden for setcontext()
- modify MD libcs swapcontext() implementations so that they use the
setcontext() libc stub instead of doing a plain system call.

While we are there:
- document various MD _UC_* flags in header file
- add libc and libpthread tests for swapcontext() behavior
(hopefully helpful to spot MD problems introduced with this change)

Future work:
- Deciding whether kernel support or _UC_TLSBASE should be added for
powerpc, sh3, sparc and sparc64 is left to portmasters
sparc64

Approved by core@


# 1.490 26-Aug-2012 jmmv

Add placeholder test programs for share/mk files.

The main goal of this change is to simplify the further addition of test
cases for the share/mk infrastructure by adding a few placeholder test
programs to the tests tree.

To not leave these test programs empty, I have added a bunch of extremely
simple test cases to them.


# 1.489 24-Aug-2012 jmmv

Sanitize the regex test cases.

- Merge h_regex_att (att.c) and t_regex_att.sh into a single C test program.
The former was really a test program, and the latter just a very strange
driver for it.

- Stop using awk to generate the shell test programs. This is unnecessary
and confusing. Instead, change t_regex.sh to generate the test case
functions on the fly with eval (as done in many other places).


# 1.488 14-Aug-2012 alnsn

Build and install t_bpfilter.


# 1.487 13-Aug-2012 christos

add fdpass files


# 1.486 11-Aug-2012 nakayama

Fix MKRUMP=no build.


# 1.485 10-Aug-2012 joerg

Make GCC entries optional.


# 1.484 10-Aug-2012 joerg

No need to check for MKRUMP twice.


# 1.483 08-Aug-2012 christos

fix pasto


# 1.482 08-Aug-2012 christos

adjust for MKRUMP = no


# 1.481 28-Jul-2012 njoly

Add testcase for PR/46743


# 1.480 23-Jul-2012 pgoyette

Oppps - should not removes lines from this file, just mark the old entries
as obsolete. Thanks for pointing this out, Berndt!


# 1.479 23-Jul-2012 pgoyette

Tests n201 and n202 have been removed with the recent update to ipf


# 1.478 22-Jul-2012 joerg

Add basic regression test for nbperf(1)


# 1.477 14-Jul-2012 christos

no more CRYPTO_{IDEA,MDC2}


# 1.476 11-Jul-2012 jmmv

Update file sets for atf 0.16.

In particular, add entries for the new libatf-c and libatf-c++ shared
libraries. I have followed existing entries to come up with the right
lines to add... but this is quite tricky, so please forgive any fallout
that may follow (and let me know if there is any!).


# 1.475 22-Jun-2012 christos

add recvmmsg test


# 1.474 11-Jun-2012 njoly

New testcase to check limits flags for ulimit builtin.


# 1.473 06-Jun-2012 martin

Add a basic test for infocmp - this would have cought todays terminfo
lossage (PR lib/46553).


# 1.472 03-Jun-2012 joerg

Switch terminfo(3) to cdb(5).


# 1.471 01-Jun-2012 skrll

Fix t_backtrace.debug entry.


# 1.470 27-May-2012 christos

sets for execinfo test


Revision tags: yamt-pagecache-base5
# 1.469 21-May-2012 martin

Calling _lwp_create() with a bogus ucontext could trigger a kernel
assertion failure (and thus a crash in DIAGNOSTIC kernels). Independently
discovered by YAMAMOTO Takashi and Joel Sing.

To avoid this, introduce a cpu_mcontext_validate() function and move all
sanity checks from cpu_setmcontext() there. Also untangle the netbsd32
compat mess slightly and add a cpu_mcontext32_validate() cousin there.

Add an exhaustive atf test case, based partly on code from Joel Sing.

Should finally fix the remaining open part of PR kern/43903.


# 1.468 18-May-2012 jruoho

Add a test case for PR kern/46463. From Richard Hansen.


# 1.467 30-Apr-2012 njoly

Move module related debug entries to module.mi list to fix MKDEBUG=yes
and MKKMOD=no builds. Add missing k_helper3.debug line.


# 1.466 20-Apr-2012 jruoho

Add few unit tests for mlock(2), including a case for PR kern/44788.


# 1.465 19-Apr-2012 jruoho

Add a test case for PR bin/39546.


Revision tags: yamt-pagecache-base4
# 1.464 14-Apr-2012 jruoho

Add a test case for PR kern/46328 (tested naively with tcpdump(8)).


# 1.463 10-Apr-2012 jruoho

Test that sysctl(8) does not segfault, as reported by pgoyette@ on current
users.


# 1.462 30-Mar-2012 jruoho

Add regression tests for PR bin/3914 and PR bin/27140.


# 1.461 29-Mar-2012 jruoho

Few fundamental consistency checks for the abs(3) family.


# 1.460 29-Mar-2012 jruoho

Few naive consistency checks for the atoi(3) family.


# 1.459 28-Mar-2012 jruoho

Add a small test that checks that random(3) does not always return zero when
the RNG is initialized with zero. Prompoted by the recent nasty bug in the
OpenBSD libc.


# 1.458 27-Mar-2012 jruoho

Add regression tests for the 1990s bugs PR bin/3538 and PR bin/4841.


# 1.457 27-Mar-2012 jruoho

Append a case for (fixed) PR bin/25899. From Min Sik Kim.


# 1.456 24-Mar-2012 tron

Update entries for IPFilter regression tests.


# 1.455 24-Mar-2012 matt

Mark ipf entries with ipfilter so that MKIPFILTER=no works.


# 1.454 23-Mar-2012 christos

add new tests


# 1.453 20-Mar-2012 jruoho

Add regression tests for PR bin/12424, PR bin/12316, and PR bin/14253,
all fixed long time ago.


# 1.452 19-Mar-2012 njoly

Adjust to unbreak mkdebug build.


# 1.451 19-Mar-2012 jruoho

Add regression tests for PR bin/2642 and PR bin/23836, both fixed long ago.


# 1.450 18-Mar-2012 christos

add t_cdefs


# 1.449 18-Mar-2012 jruoho

Add a case for PR bin/44973.


# 1.448 18-Mar-2012 jruoho

Add a test case for PR bin/28126. Does not fail with GNU sed.


# 1.447 18-Mar-2012 jruoho

Add a case for PR lib/41558. It is unclear whether this is a bug, but at
least it is documented now. Probably it would be better to follow Linux,
where the test case does not fail.


# 1.446 17-Mar-2012 jruoho

Move the _lwp_ctl(2) preemption counter check to the right place.


# 1.445 17-Mar-2012 jruoho

Adjust set lists and mtree.


# 1.444 17-Mar-2012 jruoho

Add few basic tests for realpath(3).


# 1.443 17-Mar-2012 jruoho

Adjust set lists and mtree.


# 1.442 11-Mar-2012 njoly

Small typo.


# 1.441 11-Mar-2012 jruoho

Adjust set lists and mtree.


# 1.440 10-Mar-2012 christos

add awk tests


Revision tags: netbsd-6-base
# 1.439 15-Feb-2012 riz

branches: 1.439.2;
Back out the recent import of IPFilter 5.1.1 for the upcoming branch,
which will now have IPFilter 4.1.34. IPFilter 5.1.1 will be restored
post-branch.

ok: core, releng.


# 1.438 14-Feb-2012 njoly

Kill dup lines.


# 1.437 14-Feb-2012 riz

Fix the build after ipfilter tests were added.


# 1.436 13-Feb-2012 martin

Move posix_spawn tests to lib/libc/gen/posix_spawn - they test both libc
and kernel, but that is an implementation detail unrelated to the tests
themselfs.
Ok: releng


# 1.435 11-Feb-2012 martin

Add userland part of posix_spawn. Libc functions imported from FreeBSD.
Based on Charles Zhang's summer of code project.


# 1.434 18-Jan-2012 bouyer

Make parts of the quota tests useable for more than quotas:
- rename h_quota2_server to h_ffs_server, there's nothing about quotas
in there.
- extract non-quota parts of quotas_common.sh to ffs_common.sh


# 1.433 27-Dec-2011 pgoyette

Add the Atffile for libcrypt tests


# 1.432 27-Dec-2011 christos

Add crypt tests.


# 1.431 25-Dec-2011 christos

more lint tests


# 1.430 21-Dec-2011 pgoyette

Include the fifofs Atffile


# 1.429 21-Dec-2011 christos

add the directories


# 1.428 21-Dec-2011 christos

Add a fifofs test.


# 1.427 24-Nov-2011 christos

add t_subr_prf


# 1.426 22-Nov-2011 cheusov

Regression tests for awk(1) (PR 44063)


# 1.425 21-Nov-2011 joerg

Add test cases for strcspn, strpbrk, strspn, wcscspn, wcspbrk and
wcsspn.


# 1.424 17-Nov-2011 christos

add kevent test


# 1.423 14-Nov-2011 christos

add t_evaltested


# 1.422 12-Nov-2011 riz

Add /usr/tests/examples/Atffile to fix the build.


# 1.421 12-Nov-2011 jmmv

Register the new asm examples and their tests.


Revision tags: yamt-pagecache-base3
# 1.420 08-Nov-2011 jruoho

Few naive checks for cpuset(3) and ftok(3).


Revision tags: yamt-pagecache-base2
# 1.419 06-Nov-2011 christos

Add the libtre tests
XXX: It would be *really* nice to share the data with libc/regex since
this is just another copy.


# 1.418 06-Nov-2011 christos

new regex tests


# 1.417 05-Nov-2011 jruoho

Move connect(2), listen(2) and socketpair(2) tests to the right place.


# 1.416 05-Nov-2011 jruoho

Few naive checks for time(3).


# 1.415 05-Nov-2011 jruoho

Add 21 unit tests for the XSI message queues.


# 1.414 04-Nov-2011 christos

add t_socketpair


Revision tags: yamt-pagecache-base
# 1.413 01-Nov-2011 pgoyette

branches: 1.413.2;
Add t_ether_aton test


# 1.412 31-Oct-2011 christos

add pipe2 tests


# 1.411 16-Oct-2011 jruoho

Basic checks for the root functions.


# 1.410 16-Oct-2011 jruoho

Basic IEEE tests for the hyperbolic sine and cosine.


# 1.409 15-Oct-2011 jruoho

Move the sigaction(2) test to the right place.


# 1.408 15-Oct-2011 jruoho

Move the ucontext(2) test to the right place.


# 1.407 15-Oct-2011 jruoho

Move the writev(2) test to the right place.


# 1.406 15-Oct-2011 jruoho

Move the clock_gettime(2) timer test to the right place.


# 1.405 15-Oct-2011 jruoho

Follow the design principles of tests(7) by merging 't_poll3w' to 't_poll'
as a test case instead of separate file.


# 1.404 15-Oct-2011 jruoho

Move the mkdir(2) test to the right place.


# 1.403 15-Oct-2011 jruoho

Move the pipe(2) test to the right place.


# 1.402 15-Oct-2011 jruoho

Move the posix_fadvise(2) test to the right place.


# 1.401 13-Oct-2011 njoly

Do not delete nul.in line, but tag it as obsolete.


# 1.400 11-Oct-2011 dholland

Don't use 'nul' in filenames as windows will belch.
(Caught by importing the tree into mercurial)


# 1.399 09-Oct-2011 christos

add the regex exhaustion test


# 1.398 04-Oct-2011 christos

add new test


# 1.397 28-Sep-2011 christos

Add a sockaddr_un test.


# 1.396 24-Sep-2011 christos

Add rfc6056 tests


# 1.395 24-Sep-2011 christos

Add the pty test.


# 1.394 19-Sep-2011 pgoyette

Mark the tests/lib/libc/ieefp directory obsolete, as well as its former
contents.


# 1.393 19-Sep-2011 njoly

Small typo (t_fpsclassify -> t_fpclassify).


# 1.392 19-Sep-2011 jruoho

Add missing entries.


# 1.391 19-Sep-2011 jruoho

Move duplicate ldexp(3) test out from the tests/libc.


# 1.390 19-Sep-2011 jruoho

Move the tests/libc/ieeefp to tests/libc/gen to match the structure of libc.
Also rename the test files to gain functional scope.


# 1.389 18-Sep-2011 jruoho

IEEE checks for the exponential family.


# 1.388 17-Sep-2011 jruoho

IEEE checks for the arcus functions.


# 1.387 17-Sep-2011 jruoho

Few tests for the error functions.


# 1.386 17-Sep-2011 jruoho

IEEE corner case tests for the pow(3) family (incl. PR lib/45372).


# 1.385 14-Sep-2011 jruoho

Some tests for sine, cosine, and tangent.


# 1.384 12-Sep-2011 jruoho

Merge 't_floor' to 't_ceil', and simplify.


# 1.383 12-Sep-2011 jruoho

Start systematic testing of libm(3) by first evaluating the corner cases
(NaN, +0.0, -0.0, +Inf, -Inf) for the ldexp(3) and scalbn(3) families.


# 1.382 11-Sep-2011 jruoho

See that system(3) works.


# 1.381 11-Sep-2011 jruoho

Naive tests for the naive putc(3) family.


# 1.380 11-Sep-2011 jruoho

Few unit tests for the fopen(3) family.


# 1.379 11-Sep-2011 jruoho

Couple of unit tests for fflush(3).


# 1.378 27-Aug-2011 dyoung

Build and install ppath(3) tests.


# 1.377 25-Aug-2011 dyoung

Set-list repair: remove the 'gcccmds' tag from lines where it does not
belong.


# 1.376 15-Jul-2011 jruoho

Split out the -lpthread tests to a separate file.

XXX: The only thing gained from this is seeing whether -lpthread breaks
the getenv(3) family. Yet, a strict hypothesis about this would require
that the two test files are identical, which they are not.


# 1.375 15-Jul-2011 jruoho

Rename two test files to get functional scope (and avoid confusion
with ctype(3)). No functional change.


# 1.374 15-Jul-2011 jruoho

Few naive unit tests for the getprotoent(3) family.


# 1.373 08-Jul-2011 jruoho

Split out 't_printf' and 't_scanf' from 't_format' to gain the common
"functional scope" for the test files.


# 1.372 07-Jul-2011 jruoho

Move 't_glob_star' to 't_glob' for glob(3).


# 1.371 07-Jul-2011 jruoho

Merge 't_environment' and 't_environment_pth'.


# 1.370 07-Jul-2011 pgoyette

Mark the ..../syscall/ test directories obsolete as well as their contents


# 1.369 07-Jul-2011 jruoho

Move 't_syslog_pthread' to 't_syslog' for consistency with libc.


# 1.368 07-Jul-2011 jruoho

Split out the string tests from t_string.c for consistency.


# 1.367 07-Jul-2011 jruoho

Remove 't_cerror' (this is tested by numerous individual tests).
Rename 't_context' to 't_getcontext' for consistency.


# 1.366 07-Jul-2011 jruoho

Adjust for tests/libc/sys.


# 1.365 07-Jul-2011 jruoho

Deprecate tests/sycall. The tests will be added back to tests/libc/sys.


# 1.364 07-Jul-2011 jruoho

Move the 'syscall/t_cmsg' test to 'include/sys/t_socket'.


# 1.363 04-Jul-2011 jruoho

Few tests for mkfifo(2).


# 1.362 04-Jul-2011 jruoho

Few fundamental checks for chroot(2) and fchroot(2).


# 1.361 04-Jul-2011 jruoho

Basic tests for issetugid(2).


# 1.360 03-Jul-2011 jruoho

Three simple unit tests for revoke(2).


# 1.359 03-Jul-2011 jruoho

Few naive test cases for link(2).


# 1.358 03-Jul-2011 mrg

mark all the ld.elf_so tests as mkpic.


# 1.357 03-Jul-2011 jruoho

Few naive tests for unlink(2).


# 1.356 03-Jul-2011 jruoho

Few simple tests for mknod(2), including a skipped one for PR kern/45111.


# 1.355 25-Jun-2011 nonaka

PR/45015: ld.elf_so: support ELF symbol versioning
Applied latest patch.


# 1.354 20-Jun-2011 jruoho

Few naive tests for truncate(2).


# 1.353 17-Jun-2011 christos

terminfo has moved.


# 1.352 14-Jun-2011 jruoho

Test that assert(3) works.


# 1.351 14-Jun-2011 jruoho

Add few basic tests for the getlogin(2) family.


# 1.350 12-Jun-2011 plunky

reinstate ssp:raw test, slightly differently.. this one is built
with -fstack-protector-all and tests that the compiler built in
stack protection works, by poking directly outside the buffer


# 1.349 09-Jun-2011 spz

and fix the sets for the addition of srp and evp tests in libcrypto


# 1.348 04-Jun-2011 jruoho

Add some tests for strtol(3).


# 1.347 04-Jun-2011 jruoho

Add some tests for stat(2) (or tests that use stat(2)).


# 1.346 03-Jun-2011 jruoho

Add some fundamental checks for memset(3). Prompted by a recent nasty
bug in the Google Android libc.


# 1.345 03-Jun-2011 jruoho

Test also setdomainname(3).


# 1.344 02-Jun-2011 jruoho

Few naive tests for sethostname(3).


# 1.343 02-Jun-2011 jruoho

A simple test for mincore(2).


# 1.342 01-Jun-2011 tron

Add new test "syscall/t_poll".


Revision tags: cherry-xenmp-base
# 1.341 30-May-2011 njoly

branches: 1.341.2;
Add testcase for PR bin/45004, to exercize suffixes lists for
mkdep(1).


# 1.340 28-May-2011 tron

Move regression test for PR kern/44986 from "kernel" to "syscalls" as
the later directory seems to be a better fit.


# 1.339 28-May-2011 tron

Add two test cases for pollts(2):
- The first tests basic functionality e.g. timeouts and correct events.
- The second tests whether pollts(2) correctly restores the signal mask.
This test currently fails because of PR kern/44986.


# 1.338 20-May-2011 joerg

lib/libobjc/t_threads is GCC-specific


# 1.337 18-May-2011 christos

add pselect


# 1.336 10-May-2011 jruoho

Few naive tests for pause(3).


# 1.335 09-May-2011 jruoho

Add a test case for PR kern/44946. This tests that common first level sysctl
nodes (ddb, hw, machdep, etc.) are not writable by a normal user.


# 1.334 09-May-2011 jruoho

Few basic tests for exit(3).


# 1.333 09-May-2011 jruoho

Few basic tests for strerror(3).


# 1.332 09-May-2011 jruoho

Few basic tests for closefrom(3).


# 1.331 05-May-2011 jruoho

Try to mirror the real source with the test directory structure (otherwise
the latter carries a risk of becoming a difficult mess to manage.)


# 1.330 05-May-2011 jruoho

Few fundamental consistency checks for alarm(2).


# 1.329 05-May-2011 jruoho

Follow the real tree with the test directory structure.


# 1.328 05-May-2011 jruoho

Fix some glitches (a human doing machine's work).


# 1.327 05-May-2011 jruoho

Follow the real tree with the test directory structure.


# 1.326 03-May-2011 jruoho

Add a test case for PR bin/26453.


# 1.325 03-May-2011 jruoho

Add a test for PR bin/41880.


# 1.324 03-May-2011 jruoho

A test for non-critical/low PR bin/42179.


# 1.323 03-May-2011 jruoho

Verify that PR bin/42628 is no longer an issue.


# 1.322 03-May-2011 jruoho

Add a test for non-critical/low PR bin/43141.


# 1.321 03-May-2011 jruoho

Some naive tests for the bswap(3) family.


# 1.320 02-May-2011 jruoho

Few basic tests for getitimer(2) and setitimer(2).


# 1.319 02-May-2011 pgoyette

Also add the Atffile to the sets list


# 1.318 01-May-2011 jruoho

Verify PR standards/44921.


# 1.317 01-May-2011 jruoho

Naive tests for clearerr(3).

Converted from the "PCCA" test suite by Stathis Kamperis.


# 1.316 01-May-2011 jruoho

Add a test for PR lib/41673 (another trivial errno "bug").


# 1.315 01-May-2011 jruoho

Few basic tests for nanosleep(2).


# 1.314 01-May-2011 jruoho

Two elementary tests for gettimeofday(2).


# 1.313 30-Apr-2011 jruoho

Few fundamental consistency checks for kill(2).


# 1.312 30-Apr-2011 alnsn

Add files required for the new testcase in t_awk.sh.


# 1.311 22-Apr-2011 joerg

Add t_threadjmp


# 1.310 17-Apr-2011 jruoho

Few simple tests for getgroups(2).


# 1.309 12-Apr-2011 matt

Fix MKDEBUG set lists.


# 1.308 11-Apr-2011 martin

Add libm/t_infinity


# 1.307 10-Apr-2011 jruoho

Formally verify PR standards/44777.


# 1.306 10-Apr-2011 blymn

Add libcurses tests


# 1.305 10-Apr-2011 jruoho

Verify that PR standards/21401 is no longer an issue.


# 1.304 10-Apr-2011 jruoho

Add tests for PR standards/44847 and PR standards/18067.


# 1.303 10-Apr-2011 jruoho

A naive test case for getcwd(3).


# 1.302 10-Apr-2011 jruoho

Add a test case for PR lib/41931 reported by he@. It was verified that these
fail on NetBSD 5.99.48 amd64 but pass on amd64 Linux (glibc 2.7).


# 1.301 09-Apr-2011 pgoyette

atf-ify the various locale tests


# 1.300 08-Apr-2011 jruoho

Move the round(3) checks from 't_libm' to their own 't_round'
for consistency. Add -Wfloat-equal and fix comparisons.


# 1.299 07-Apr-2011 jruoho

Add few naive test cases for msync(2).


# 1.298 07-Apr-2011 plunky

link libbluetooth tests to the build


# 1.297 06-Apr-2011 jruoho

As per PR lib/44818, remove 'lib/libpthread/t_status'. It takes two minutes
to rewrite this properly if someone misses this.


# 1.296 06-Apr-2011 jruoho

A test case for PR lib/44057.


# 1.295 06-Apr-2011 jruoho

Add few simple tests for getrusage(2), including heuristic for PR # 41734.


# 1.294 05-Apr-2011 jruoho

Basic tests for setrlimit(2).


# 1.293 05-Apr-2011 jruoho

Try to maintain the structure of libc and move 't_strtox' to 't_strtod'.


# 1.292 05-Apr-2011 jruoho

Add simple test cases for ttyname(3), strtod(3), and getgrent(3).


# 1.291 04-Apr-2011 jruoho

Use the same pattern for couple of simple setuid(2) tests.


# 1.290 04-Apr-2011 jruoho

Couple of simple tests for umask(2).


# 1.289 04-Apr-2011 he

Move the recently added tests for libexec/ld.elf_so to shl.mi, so that
the sun2 port builds again.


# 1.288 04-Apr-2011 jruoho

Few simple tests for nice(3).


# 1.287 04-Apr-2011 jruoho

Add some basic tests also for getsid(2).


# 1.286 04-Apr-2011 jruoho

Two basic tests for getpid(2).


# 1.285 03-Apr-2011 jruoho

Add couple of simple tests for access(2) and mprotect(2).


# 1.284 31-Mar-2011 joerg

Add initial regression test for ld.elf_so locking.


# 1.283 31-Mar-2011 jruoho

Add couple of simple tests for dup(2).


# 1.282 31-Mar-2011 jruoho

Add some basic tests for mmap(2), including one for the vm.user_va0_disable.


# 1.281 30-Mar-2011 jruoho

Add some naive tests for the efun(3) family of debug functions.


# 1.280 30-Mar-2011 he

Put tests depending on dlopen etc. under a test for MKPIC, and move
the corresponding entries in the set lists over to the shl.mi file.
This should bring the sun2 port back to a buildable state.


# 1.279 30-Mar-2011 jruoho

Add some basic tests for fsync(2) and <paths.h>.


# 1.278 25-Mar-2011 jruoho

Add some basic POSIX conformance tests for sched(3).


# 1.277 24-Mar-2011 jruoho

Add a naive test case for raise(3).


# 1.276 24-Mar-2011 jruoho

Add dummy test cases for ceil(3) and floor(3). It is expected that at least
one of these will fail on guest x86_64 NetBSD under Qemu. Thanks to pgoyette@
for checking the broken floor(16.999999...) = 17.


# 1.275 24-Mar-2011 jruoho

A dummy conformance-test for pthread_detach(3). I will extend this later.


# 1.274 24-Mar-2011 jruoho

A dummy conformance-test of pthread_equal(3).


# 1.273 22-Mar-2011 jmmv

+tests/lib/libutil/t_pidfile


# 1.272 19-Mar-2011 jruoho

Add a simple test file for <sys/bitops.h>. For now, only ilog2(3) is tested.


# 1.271 14-Mar-2011 pooka

test RUMPHIJACK fdoff=8


# 1.270 12-Mar-2011 bouyer

Add a test for rpc.rquotad(8)


# 1.269 12-Mar-2011 matt

Shell scripts don't have .debug versions.


# 1.268 11-Mar-2011 pooka

reality check


# 1.267 10-Mar-2011 pooka

+tp


# 1.266 10-Mar-2011 njoly

+libh_tls_{dlopen,dynamic}.so.1.debug


# 1.265 10-Mar-2011 pooka

rumpnet tests


# 1.264 10-Mar-2011 pooka

shmif_dumpbus tests


# 1.263 09-Mar-2011 joerg

Add TLS support infrastructure. For dynamic binaries, ld.elf_so exports
_rtld_tls_allocate and _rtld_tls_free. libpthread uses this functions to
setup the thread private area of all new threads. ld.elf_so is
responsible for setting up the private area for the initial thread.
Similar functions are called from _libc_init for static binaries, using
dl_iterate_phdr to access the ELF Program Header.

Add test cases to exercise the different TLS storage models. Test cases
are compiled and installed on all platforms, but are skipped on
platforms not marked for TLS support.

This material is based upon work partially supported by
The NetBSD Foundation under a contract with Joerg Sonnenberger.

It is inspired by the TLS support in FreeBSD by Doug Rabson and the
clean ups of the DragonFly port of the original FreeBSD modifications.


# 1.262 09-Mar-2011 bouyer

Use librumphijack for quota commands instead of rumpifed versions.


# 1.261 08-Mar-2011 pooka

+helper


# 1.260 07-Mar-2011 njoly

Add quota tests debug objects.


# 1.259 06-Mar-2011 bouyer

merge the bouyer-quota2 branch. This adds a new on-disk format
to store disk quota usage and limits, integrated with ffs
metadata. Usage is checked by fsck_ffs (no more quotacheck)
and is covered by the WAPBL journal. Enabled with kernel
option QUOTA2 (added where QUOTA was enabled in kernel config files),
turned on with tunefs(8) on a per-filesystem
basis. mount_mfs(8) can also turn quotas on.

See http://mail-index.netbsd.org/tech-kern/2011/02/19/msg010025.html
for details.


# 1.258 05-Mar-2011 pgoyette

sets-list dance for new ps_strings tests


Revision tags: bouyer-quota2-nbase
# 1.257 03-Mar-2011 pooka

+tp


# 1.256 26-Feb-2011 pgoyette

Read instructions...

Don't remove the ssp/h_raw entries, just mark them as obsolete


# 1.255 26-Feb-2011 pgoyette

ssp/raw test has been removed.


# 1.254 24-Feb-2011 pooka

+tests


# 1.253 23-Feb-2011 pooka

+tp


# 1.252 22-Feb-2011 pooka

+tp


# 1.251 19-Feb-2011 pooka

new test


# 1.250 18-Feb-2011 pooka

hfs


Revision tags: bouyer-quota2-base
# 1.249 16-Feb-2011 pooka

no need to create a hardlinked name for the helper, just fake argv[]


# 1.248 15-Feb-2011 pooka

another day, another tp


# 1.247 14-Feb-2011 pooka

slap this with summa dat +files


# 1.246 11-Feb-2011 pooka

+tp


# 1.245 09-Feb-2011 pooka

more testies


# 1.244 08-Feb-2011 pooka

oh no, more tests


# 1.243 06-Feb-2011 pooka

librumphijack build infra


# 1.242 03-Feb-2011 pooka

+ tests/usr.bin
+ tests/usr.bin/rump_server


# 1.241 24-Jan-2011 pooka

new helperprog


# 1.240 14-Jan-2011 pooka

branches: 1.240.2;
h_server is back, now testier than ever


# 1.239 14-Jan-2011 pooka

+tp


# 1.238 13-Jan-2011 pgoyette

Dance for t_hsearch.

While here, move the lib/libc/stdlib stuff into proper sort order. I
have no clue how stdlib suddenly comes before ssp!


# 1.237 13-Jan-2011 pgoyette

Ooopppsss - forgot the entry for the Atffile


# 1.236 13-Jan-2011 pgoyette

Sets-list and mtree dance for t_inet_network


# 1.235 13-Jan-2011 pgoyette

One more sets-list dance, for t_ptm


# 1.234 13-Jan-2011 pgoyette

Another sets-list dance for reorganizing the atf tests


# 1.233 13-Jan-2011 pgoyette

sets-list dance for nsdispatch test


# 1.232 13-Jan-2011 pgoyette

Fix entries for lib/libc/net/ entries for servent and protoent (these
should not be obsolete)


# 1.231 13-Jan-2011 pgoyette

sets-list and mtree dance for moving t_mktime & t_strptime


# 1.230 12-Jan-2011 pooka

Remember to commit the setlost stuff for the union test changes,
or there'll be vfs to pay.


# 1.229 12-Jan-2011 tron

Fix entries for debugging binaries of Atf-ified "getaddrinfo tests.


# 1.228 12-Jan-2011 pgoyette

Another sets-list dance, this time for the libc/atexit test


# 1.227 12-Jan-2011 pgoyette

Update sets list for moving of servent and protoent tests


# 1.226 12-Jan-2011 tron

Put back entries for obsolete debugging directories. They weren't
duplicates. Problem pointed out by Paul Goyette in private e-mail.


# 1.225 12-Jan-2011 tron

Remove duplicate entries for "usr/tests/lib/libc/getaddrinfo" and mark
the remaining entries as obsolete.


# 1.224 12-Jan-2011 pgoyette

Clean up some fallout from moving getaddrinfo test


# 1.223 12-Jan-2011 pgoyette

Hook up the getaddrinfo test in its new location


# 1.222 11-Jan-2011 pgoyette

sets-list dance for getaddrinfo test


# 1.221 11-Jan-2011 pooka

+tests/net/net


# 1.220 10-Jan-2011 christos

tests for sigqueue


# 1.219 08-Jan-2011 pgoyette

sets-list dance for atf version of regex test


# 1.218 08-Jan-2011 pgoyette

mtree and set-list games for xdr test


# 1.217 07-Jan-2011 pgoyette

Hook the new atf db test


# 1.216 07-Jan-2011 pgoyette

Forgot the Atffile for t_ttyio test


# 1.215 07-Jan-2011 pgoyette

Hook t_cerror and t_ttyio into the build


# 1.214 06-Jan-2011 pgoyette

Atf-ify test for mktime(3)


# 1.213 06-Jan-2011 njoly

Start unprivileged filesystem tests. For now, only chown/chmod owner
checks.


# 1.212 06-Jan-2011 pooka

+tp


# 1.211 06-Jan-2011 pooka

+helper


# 1.210 05-Jan-2011 pgoyette

Set-list magic for nsdispatch test


# 1.209 05-Jan-2011 pooka

new helper


# 1.208 05-Jan-2011 pooka

unsnafu


# 1.207 05-Jan-2011 riz

Update resize_ffs tests for byteswapped file system support, and
for UFS2 growth support. Also, reduce the number of tests run by default
while still maintaining decent coverage of features and block sizes.
Anyone working on resize_Ffs should run the tests with RESIZE_FFS_ALL_TESTS
set in the environment, which adds a lot more testing.


# 1.206 04-Jan-2011 pgoyette

Update the ieeefp tests so that they can be built on all architectures.
This enables us to avoid the set-list mess.

Build tested on amd64, i386, sun2, and vax!


# 1.205 03-Jan-2011 pgoyette

Atf-ify the atexit test


# 1.204 02-Jan-2011 pgoyette

Sets list magic for the servent/protoent/hash tests


Revision tags: matt-mips64-premerge-20101231
# 1.203 02-Jan-2011 dbj

add usr/tests/lib/libc/ieeefp and ./usr/libdata/debug/usr/tests/lib/libc/ieeefp


# 1.202 02-Jan-2011 pgoyette

Typo - it is h_getopt_long and not h_getoptlong


# 1.201 01-Jan-2011 pgoyette

Convert a few more tests from regress to atf


# 1.200 31-Dec-2010 pooka

Add some elementary tests for r/o file systems. More in 2011!


# 1.199 31-Dec-2010 pgoyette

Moving more tests out of regress and into atf mainstream


# 1.198 31-Dec-2010 pgoyette

Migrate a few miscellaneous tests from the old regress to atf


# 1.197 28-Dec-2010 pgoyette

Migrate the ldexp test to atf


# 1.196 28-Dec-2010 pgoyette

Migrate the remaining libc/gen tests to atf


# 1.195 28-Dec-2010 he

Introduce the "ssp" attribute derived from HAS_SSP from <bsd.sys.mk>.
Use it to flag entries which should only be included if the target platform
supports SSP. Fixes the build for a bunch of architectures.


# 1.194 27-Dec-2010 pgoyette

Move the various setjmp tests from regress to atf


# 1.193 27-Dec-2010 njoly

Remove unneeded t_ssp.debug entry.


# 1.192 27-Dec-2010 pgoyette

Migrate the ssp tests from regress to atf.

Of the 17 tests, 4 fail in both the regress and atf style. 3 additional
tests fails in atf that did NOT fail in regress: gets, fgets, and read.
I will investigate why, and update when I can, but it is still useful to
get these tests into the new format where they can be exercised.


# 1.191 26-Dec-2010 pgoyette

Migrate the last of the libc/string/ tests from regress to atf, and
re-enable building of t_popcount


# 1.190 25-Dec-2010 pgoyette

Migrate J.T.Conklin's public-domain str* tests from regress to atf.

While here, do some clean-up and knf.


# 1.189 25-Dec-2010 pgoyette

Move the siginfo tests from regress to atf. While here, add a new test
for PR/43655.

XXX The sigchild_dump test currently fails when execute under atf-run.
XXX It does not fail when executed directly from the shell, so there's
XXX something in atf that prevents the child process from dumping.


# 1.188 24-Dec-2010 skrll

Add support for DF_1_BIND_NOW, DF_1_NODELETE and DF_1_NOOPEN marked
objects, and the RTLD_NODELETE and RTLD_NOLOAD flags to dlopen(3).

Mark libpthread as DF_1_NOOPEN and use it to test the functionality.

Somewhat taken from FreeBSD.

Fixes PR 42029.

OK from christos and joerg.


# 1.187 23-Dec-2010 pgoyette

Migrate a couple more tests to aft


# 1.186 22-Dec-2010 pgoyette

Migrate a couple more tests from the old regress structure to atf


# 1.185 21-Dec-2010 njoly

+t_libm.debug.


# 1.184 20-Dec-2010 pgoyette

Move the only regress/lib/libm test to the new atf format


# 1.183 20-Dec-2010 njoly

Add testcase from PR/44255, that exercize parsedate(3) with sample
strings taken from the manpage.


# 1.182 20-Dec-2010 njoly

Remove unneeded .debug entry for t_swsensor script.


# 1.181 20-Dec-2010 pgoyette

Add a rump-based set of tests for sysmon_envsys(8) + powerd(8) + swsensor(4)


# 1.180 17-Dec-2010 pooka

the setlist joy for a new tp


# 1.179 15-Dec-2010 pooka

goop for initial raidframe test


# 1.178 15-Dec-2010 haad

Add usr.sbin/Attfile to test list.


# 1.177 15-Dec-2010 pooka

+traceroute tp


# 1.176 14-Dec-2010 pooka

add new, remove obsolete


# 1.175 14-Dec-2010 pooka

Add another version of the simple ping test, this time written as a
shell script and using rump_server, rump.ifconfig and rump.ping.

XXX: uses rump_allserver for now, though, since i noticed a problem
where the rump kernel syscall vector does not get updated for
dlopen()'d libraries (and hence if you dlopen librumpnet.so, socket()
still gives ENOSYS). Me be fixink it later.


# 1.174 14-Dec-2010 skrll

bah set lists. expect this lot back soon(ish).


# 1.173 14-Dec-2010 skrll

Convert a couple of old regress tests to ATF.

Remove the regress/usr.bin/rtld/dlopen/dlopen.c test as well as it's
covered by existing ATF test(s).


# 1.172 13-Dec-2010 pooka

Retire h_simpleserver and use rump_server instead.


# 1.171 12-Dec-2010 pooka

h_reboot has been superceded by rump.halt


# 1.170 09-Dec-2010 riz

Add new resize_ffs test programs, and obsolete an old one.


# 1.169 06-Dec-2010 pooka

+tp


# 1.168 03-Dec-2010 njoly

Add testcase for PR/44189: strtod(3) wrong results with "-0x".


# 1.167 03-Dec-2010 hannken

Add missing files ./usr/tests/util/make/d_unmatchedvarparen.{mk,out}


# 1.166 01-Dec-2010 njoly

Remove unexpected t_resize_ffs.debug (t_resize_ffs is an atf-sh
script).


# 1.165 01-Dec-2010 pooka

adjust previous a bit to attempt to deal with MKMONKEY


# 1.164 30-Nov-2010 riz

Add sets/mtree goop for new test program and accompanying dirs.


# 1.163 30-Nov-2010 pooka

build system gobbeldygook for tests


# 1.162 30-Nov-2010 pooka

test makecn/freecn


# 1.161 29-Nov-2010 njoly

Add missing atf keyword for Atffile.


# 1.160 23-Nov-2010 pooka

need the notorious "debug" flag for the .debug

caught by pgoyette


# 1.159 23-Nov-2010 pooka

Add simple test for md(4) which just stuffs junk into /dev/rmd0d
and checks the same data can be retrieved.


# 1.158 19-Nov-2010 njoly

Add testcase for PR/44113: printf(3) should ignore zero padding for
nan/inf.


# 1.157 19-Nov-2010 pooka

+tp


# 1.156 16-Nov-2010 tron

Add new "t_environment_pth" test to the set lists.


# 1.155 12-Nov-2010 pooka

+tp


# 1.154 11-Nov-2010 pooka

build system worship for new tests.


# 1.153 09-Nov-2010 pooka

+tp


# 1.152 07-Nov-2010 pooka

usual goop for new tp & dir


# 1.151 05-Nov-2010 pooka

+tp


# 1.150 04-Nov-2010 pooka

debug entries are sacred too


# 1.149 04-Nov-2010 pgoyette

Add files for lib/libc/stdio tests.


# 1.148 20-Oct-2010 jmmv

Adjust file lists and directories to match atf 0.11.


# 1.147 30-Sep-2010 njoly

Cleanup, sort entries and remove some duplicates.


# 1.146 23-Sep-2010 christos

new environment test


# 1.145 23-Sep-2010 he

Move shared library bits of the tests out to shl.mi, so that sun2,
which only does static linking, can complete the build.


# 1.144 09-Sep-2010 christos

add tests for glob


# 1.143 09-Sep-2010 njoly

Unobsolete libh_initfini3_dso.so.1.debug which is used by both library
and module, and remove h_initfini3_dso.so.1.debug which never existed.


# 1.142 01-Sep-2010 pooka

+tp


# 1.141 01-Sep-2010 njoly

Add missing .debug suffix.


# 1.140 27-Aug-2010 pooka

The incredible travels of Seth List.


# 1.139 25-Aug-2010 jmmv

Add entries for the libdes tests.


# 1.138 24-Aug-2010 pooka

scsipi test


# 1.137 19-Aug-2010 pooka

+10


# 1.136 17-Aug-2010 pooka

+tp


# 1.135 10-Aug-2010 pooka

+tp


# 1.134 09-Aug-2010 pooka

+tp


# 1.133 06-Aug-2010 pooka

+tp


# 1.132 04-Aug-2010 joerg

Mark correct entries as obsolete.


# 1.131 04-Aug-2010 joerg

Rename h_initfini3 dso now that it is a simple module.


# 1.130 04-Aug-2010 pooka

Actually, some nagging voice in my head tells me that all binary files
in the repo should be uuencoded, so uuencode the golden audio output.


# 1.129 04-Aug-2010 pooka

setlist lottery for dev/audio/pad test


# 1.128 02-Aug-2010 pooka

+tp


# 1.127 01-Aug-2010 jmmv

Add files for sort(1) tests.


# 1.126 31-Jul-2010 pooka

+tp


# 1.125 31-Jul-2010 jmmv

Add obsolete entries for usr/tests/lib/csu/h_initfini. Hi joerg@.


# 1.124 29-Jul-2010 njoly

Fix a few debug entries.


# 1.123 28-Jul-2010 jruoho

Add a simple test for pthread_join(3).


# 1.122 28-Jul-2010 pooka

setlist gods are not favorable to me today


# 1.121 28-Jul-2010 pooka

+tp


# 1.120 28-Jul-2010 joerg

Replace csu test case with a C++ based version. This makes the various
assembler routines obsolete. Be more exhaustive by testing dynamically
linked, statically linked and dynamically loaded.

XXX currently hard-codes /usr/tests due to limitations of bsd.test.mk


# 1.119 26-Jul-2010 pooka

setlistlust: exports for nfs tests


# 1.118 26-Jul-2010 pooka

setlist lottery for nfs tests


# 1.117 25-Jul-2010 pooka

new test


# 1.116 21-Jul-2010 nakayama

fix MKSKEY=no build.


# 1.115 19-Jul-2010 njoly

Missing .debug suffix.


# 1.114 18-Jul-2010 jmmv

Add tests for libobjc.


# 1.113 18-Jul-2010 jmmv

Add entries for lint1 tests.


# 1.112 17-Jul-2010 jmmv

Add tests for lib/csu/ and include/.


# 1.111 16-Jul-2010 jmmv

Add libpthread tests.


# 1.110 16-Jul-2010 njoly

Add some missing .debug suffix.


# 1.109 16-Jul-2010 jmmv

Add tests for libposix, libprop, librt, libskey and libutil.


# 1.108 14-Jul-2010 jmmv

Add the new kernel/t_sigaction test program.


# 1.107 14-Jul-2010 pooka

start converting renameraces to vfs


# 1.106 13-Jul-2010 pooka

tp


# 1.105 13-Jul-2010 pooka

+tp


# 1.104 11-Jul-2010 mrg

ldap is configured to depend upon MKCRYPTO no, so force MKLAP=no if
MKCRYPTO=no.
don't build pkg_install, libcrypto tests or rump_smbfs if MKCRYPTO=no.
mark librumpcrypto, rump_smb, pkg_*

fix set lists as appropriate.


# 1.103 10-Jul-2010 jmmv

t_ipf has been split into separate pieces.


# 1.102 10-Jul-2010 jmmv

Add new test programs for libcrypto.


# 1.101 07-Jul-2010 njoly

Add puffs/h_have_puffs.debug obsolete entry back.


# 1.100 06-Jul-2010 pooka

puffs test


# 1.99 06-Jul-2010 pooka

move psshfs tests from fs/puffs to fs/psshfs


# 1.98 05-Jul-2010 njoly

Add test program that use sample code from kern/41937, and fs rump
helpers to check currently supported filesystems.

t_rmdirrace (1/1): 5 test cases
ext2fs_race: Passed.
ffs_race: Passed.
msdosfs_race: Passed.
sysvbfs_race: Passed.
tmpfs_race: Passed.


# 1.97 04-Jul-2010 pooka

+tp


# 1.96 03-Jul-2010 njoly

Fix a few test entries for MKDEBUG builds.


# 1.95 03-Jul-2010 pooka

one more test_programs -> test-programs (but i didn't do a build,
just guessing based on the build log failure)


# 1.94 03-Jul-2010 jmmv

Update file lists for atf 0.10.


# 1.93 30-Jun-2010 njoly

Small xfail testcase to exercise 48k ffs image mount, from problem
reported by Hubert Feyrer on netbsd-users@.


# 1.92 29-Jun-2010 pooka

more tests


# 1.91 28-Jun-2010 pooka

test if i have mastered the setlists for adding tests


# 1.90 28-Jun-2010 pooka

+test


# 1.89 19-Jun-2010 pooka

aaand, finally, hopefully complete the simple addition by putting
h_xfail into set lists.


# 1.88 16-Jun-2010 pooka

tests


# 1.87 14-Jun-2010 pooka

fix filename


# 1.86 14-Jun-2010 pooka

ptyfs tests


# 1.85 10-Jun-2010 pooka

update


# 1.84 10-Jun-2010 pooka

update


# 1.83 09-Jun-2010 njoly

Add missing .debug extension.


# 1.82 09-Jun-2010 pooka

take care of the usual pastos invisible to the human eye


# 1.81 09-Jun-2010 pooka

+test


# 1.80 07-Jun-2010 riz

Remove a test (that a created directory had a predictable inode number)
that no longer makes sense since the vmlocking2 branch was merged.


# 1.79 05-Jun-2010 dholland

+t_sort


# 1.78 04-Jun-2010 jmmv

Adjust file lists for atf-0.9. Most notably, some files are gone for good!


# 1.77 31-May-2010 pooka

new tests


# 1.76 21-May-2010 pooka

Do you see over yonder, friend Sancho, thirty or forty hulking setlists?
I intend to do battle with them and add t_extattrctl into them.


# 1.75 19-May-2010 jruoho

Add a simple test for timer_create(2) / sigevent(3).
Case for SIGEV_THREAD commented out.


# 1.74 15-May-2010 njoly

Add some missing atf keywords to fix MKATF=no build.


# 1.73 08-May-2010 jmmv

Update file lists to match atf 0.8.


# 1.72 24-Apr-2010 lukem

add missing .debug suffix


# 1.71 21-Apr-2010 pooka

bend over


# 1.70 13-Apr-2010 pooka

Build & install msdosfs snapshot test and deal with the happy happy
joy joy setlistdist etcetc. stuff.


# 1.69 12-Apr-2010 pooka

snapshot test -> setlists


# 1.68 31-Mar-2010 pooka

add necessary build bucatini for kernfs tests


# 1.67 30-Mar-2010 pooka

add nullfs/umapfs tests to setlists etc


# 1.66 29-Mar-2010 pooka

Whoops, missed Atffile in previous. shame on me.


# 1.65 29-Mar-2010 pooka

jump through the setlist hoops for adding a new test


# 1.64 29-Mar-2010 pooka

+ ffs/t_fifos


# 1.63 16-Mar-2010 dogcow

Fix entries whose filenames do not actually end with ".sh". (Hi, jmmv!)


# 1.62 15-Mar-2010 jmmv

Register the new tests in sys/rc for rc.d scripts.


# 1.61 27-Feb-2010 martin

obsolete the popcount tests for now


# 1.60 24-Jan-2010 joerg

Add a regression test for the SHA2 family that also checks for unaligned
accesses.


# 1.59 14-Jan-2010 wiz

Consistency: set for obsolete files should be "foo-obsolete".


# 1.58 22-Dec-2009 jmmv

Update file sets to match atf 0.7.


# 1.57 15-Dec-2009 mrg

fix a bunch of issues with MKATF=no.


# 1.56 14-Dec-2009 matt

Update sets lists from matt-nb5-mips64


Revision tags: matt-premerge-20091211
# 1.55 05-Nov-2009 njoly

Remove unneeded t_event.debug (t_event is a shell script).


# 1.54 02-Nov-2009 plunky

add ATF tests for libevent


# 1.53 20-Oct-2009 jmmv

Account for the t_exitstatus to t_exit rename and the new t_wait tests in
tests/util/sh.


# 1.52 25-Sep-2009 njoly

Fix t_dlinfo debug name (add missing .debug).


# 1.51 24-Sep-2009 pooka

Add regression test to verify that linksets work correctly with rump.


# 1.50 24-Sep-2009 pooka

add regression tests for dlinfo()


# 1.49 19-Sep-2009 apb

Add new mtree tests


# 1.48 08-Sep-2009 pooka

Add test case for PR kern/42020:

t_rnd (1/1): 1 test cases
RNDADDDATA: Failed: Test case did not exit cleanly: Abort trap (core dumped)

Failed test cases:
t_rnd:RNDADDDATA


# 1.47 07-Sep-2009 he

Move ./usr/tests/modules/Atffile from tests/mi to tests/module.mi.
This should get us building for evbppc again, which doesn't do modules.


# 1.46 22-Jul-2009 joerg

Don't set debug for the directory.


# 1.45 21-Jul-2009 joerg

Add popcount(3) and the long and long long version. Name is inspired by
gnulib, the implementation goes back to the AMD Software Optimizer
guide. A number of platforms will want to replace the C version with
assembler code using native instructions.


# 1.44 20-Jul-2009 joerg

Add a fast, platform independent hash function to libc.
The algorithm used is the Jenkins hash. The name (mi_vector_hash)
reflects the nature of the hash function.
Add glue for libc ATF tests and include a test case to make sure that
(mis)alignment and endianess are handled correctly.

Bump libc minor to 169.


Revision tags: jym-xensuspend-nbase jym-xensuspend-base
# 1.43 02-May-2009 pooka

missed the "debug" column ... again


# 1.42 02-May-2009 pooka

add recent tests


# 1.41 08-Apr-2009 apb

Register new tests for mtree


# 1.40 08-Apr-2009 pooka

add debug keyword to t_renamerace.debug. spotted by Nicolas Joly


# 1.39 08-Apr-2009 pooka

tmpfs renamerace test


# 1.38 08-Apr-2009 pooka

Add ffs tests in kind of a semiguessed fashion.


# 1.37 07-Apr-2009 apb

Add tests for "mtree -C" and "mtree -D". Add "link" keyword to
previous mtree tests.


# 1.36 07-Apr-2009 apb

Add tests for mtree.


# 1.35 28-Feb-2009 njoly

Use crypto_XXX tags to fix MKCRYPTO_{IDEA,MDC2,RC5}=yes builds.
Solve PR/40667 and other reports from current-users@.


# 1.34 26-Feb-2009 njoly

Add some missing .debug extensions and remove some unneeded files
(t_ipf, Atffile) to fix MKDEBUG build.


# 1.33 20-Feb-2009 jmmv

Add directories and file lists for the new kernel and ipf tests.


# 1.32 17-Feb-2009 jmmv

Register the atf/test_programs/h_c helper.


# 1.31 17-Feb-2009 njoly

+t_cmsg.debug


# 1.30 13-Feb-2009 jmmv

Convert the threads libcrypto test to ATF and enable it. Drop the old one
in regress.


# 1.29 13-Feb-2009 jmmv

Convert libcrypto tests to ATF. Original work done by Lukasz Strzygowski
in the GSoC 2008 atfify project. Reorganization of files and build system
reworked by me.


# 1.28 13-Feb-2009 jmmv

Sync the tests list after adding several new util tests.


# 1.27 12-Feb-2009 uebayasi

Fix build for tests/syscall; pointed out by Geoff Wing.


# 1.26 19-Jan-2009 jmmv

branches: 1.26.2;
Adjust file lists after the import of ATF 0.6.


# 1.25 18-Jan-2009 he

Farm out module tests to module.mi, to accomodate evbppc which
currently does not build modules or module tests.


# 1.24 12-Nov-2008 ad

Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base mjf-devfs2-base
# 1.23 05-May-2008 jmmv

branches: 1.23.8;
Fix MKMODULAR=yes builds by resolving installation problems of the k_helper
test module after the introduction of bsd.kmodule.mk. The files list was
inconsistent with the new module structure and the Makefile did not use the
correct variable to specify the installation of the module. Hi ad@!


# 1.22 02-May-2008 ad

- Add a bsd.kmodule.mk to build new style modules.
- Set the file suffix to .kmod


# 1.21 01-May-2008 jmmv

Adjust file lists after the import of atf-0.5.


Revision tags: yamt-pf42-baseX yamt-pf42-base keiichi-mipv6-base matt-armv6-nbase
# 1.20 06-Mar-2008 jmmv

branches: 1.20.2;
Fix typo in t_modload entry.


# 1.19 02-Mar-2008 jmmv

Add the new t_modload test program.


Revision tags: hpcarm-cleanup-base mjf-devfs-base
# 1.18 10-Feb-2008 jmmv

branches: 1.18.2; 1.18.4; 1.18.6;
Register the new modules tests.


# 1.17 04-Feb-2008 jmmv

Adjust lists to match the import of atf 0.4.


Revision tags: pc532-eol-2008 matt-armv6-base
# 1.16 03-Jan-2008 jdc

branches: 1.16.2;
Add a note about marking entries as "obsolete", instead of deleting them.


# 1.15 31-Dec-2007 ad

Remove systrace. Ok core@.


# 1.14 26-Dec-2007 jmmv

Fix name of t_psshfs.


# 1.13 26-Dec-2007 jmmv

Register the new tests for puffs (psshfs only for now).


# 1.12 23-Dec-2007 jmmv

Register the directories and files related to the addition of the test
programs for connect(2) and listen(2).


Revision tags: cube-autoconf-base
# 1.11 22-Nov-2007 jmmv

Add the debug files for id's h_id helper tool.


# 1.10 19-Nov-2007 jmmv

Mark the id's libfake as obsolete and register the new h_id helper tool.


# 1.9 16-Nov-2007 jmmv

Register the files that conform the id(1), groups(1) and whoami(1) tests.


# 1.8 16-Nov-2007 yamt

h_parsers.debug -> h_parser.debug


# 1.7 14-Nov-2007 jmmv

The directories that hold the debug versions of tests cannot be marked
with the 'debug' flag, because they are always created.


# 1.6 14-Nov-2007 jmmv

Fix build of tests with an MKDEBUG build by properly creating the target
directories that will hold the debug programs and by registering those in
the file lists. (Untested, but hopefully will work.) Noted by drochner@.


# 1.5 12-Nov-2007 jmmv

Convert the regress/games tests to the atf

This change converts all the existing regression tests in regress/games
to the new framework provided by atf. As a side effect, this also moves
all the tests programs in regress/games to tests/games.


# 1.4 12-Nov-2007 jmmv

Convert the regress/sys/fs/tmpfs tests to the atf

This change converts all the existing regression tests in
regress/sys/fs/tmpfs to the new framework provided by atf. As a side
effect, this also moves all the tests programs in regress/sys/fs/tmpfs to
tests/fs/tmpfs.


# 1.3 12-Nov-2007 jmmv

Convert the regress/bin tests to the atf

This change converts all the existing regression tests in regress/bin to
the new framework provided by atf. As a side effect, this also moves all
the tests programs in regress/bin to tests/util, as they all belong to
utilities installed by the base-util-root package.


# 1.2 12-Nov-2007 jmmv

Add the atf tests

This adds reachover Makefiles to build and install the atf tests.


# 1.1 12-Nov-2007 jmmv

Add the tests.tgz set

This adds a new tests.tgz set to releases which includes all the tests
for the system. It is important to note that this set does not rely on
comp.tgz: a user of the system can run the tests without having the
development tools installed, which can be useful in a production machine.


# 1.1400 12-Nov-2025 sjg

Add tests for make:sh1


# 1.1399 21-Oct-2025 perseant

Add tests for LFS resize and new fcntl commands.


# 1.1398 13-Oct-2025 kre

add entries for new tests/fs/lfs/t_{basic,orphan}


# 1.1397 10-Oct-2025 christos

Commit GSoC 2025 aio project by Ethan Miller:
https://blog.netbsd.org/tnf/entry/gsoc2025_asynchronous_i_o_framework


# 1.1396 06-Oct-2025 riastradh

libpthread: Test pthread stubs in threaded vs non-threaded programs.

PR lib/59685: libcrypto should not depend on libpthread


# 1.1395 06-Oct-2025 riastradh

libpthread: Test pthread_create link errors without -(l)pthread.

Prompted by:

PR lib/59685: libcrypto should not depend on libpthread


# 1.1394 15-Sep-2025 riastradh

ctype(3): New environment variable LIBC_ALLOWCTYPEABUSE.

If set, this does not force the ctype(3) functions to crash when
passed invalid inputs -- instead, they will return nonsense results,
and possibly print warnings to stderr, as is their right in
implementing undefined behaviour.

The nature of the nonsense results is unspecified. Currently, is*()
will always return true (even if that leads to mutually contradictory
conclusions, like isalpha and isdigit, or isgraph and isblank), and
tolower/toupper() will always return EOF. But perhaps in the future
the results may be randomized.

This way, if an application like firefox crashes on ctype abuse, you
can opt to accept the consequences of nonsense results instead by
running `env LIBC_ALLOWCTYPEABUSE= firefox' until the application is
fixed.

PR lib/58208: ctype(3) provides poor runtime feedback of abuse


# 1.1393 06-Sep-2025 rillig

lint: reword message for bit-shift in trad-C90 migration mode

Mentioning the type names gives a hint about why the behavior differs;
the message only occurs when the type of the shift amount has higher
rank than the type of the shifted value.


# 1.1392 31-Aug-2025 rillig

lint: check for mismatches in snprintb conversions

Seen in sh3/dmacreg.h, SH3_DMAC_CHCR_BITS.


# 1.1391 06-Aug-2025 charlotte

distrib/sets/lists/tests/mi: Add missing Kyuafiles (from MKKYUA build)


# 1.1390 04-Aug-2025 sjg

We don't need echo.inc


# 1.1389 04-Aug-2025 sjg

Add echo.inc


# 1.1388 03-Aug-2025 sjg

make: ensure output captured in meta file is accurate

In CollectOutput() a newline before the end of job->outBuf
results in a short write to stdout, but meta_job_output()
was recording the entire string in the meta file, so on
next call the left overs would be duplicated in the meta file.

Pass a length to meta_job_output() if it should only report part of
the data in meta file.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
# 1.1387 20-Jul-2025 joe

branches: 1.1387.2;

l2 only tests

for this test suite, we test to ensure that all frames
are passed by default when no layer 2 rules are set in the config

reviewed by christos@


# 1.1386 18-Jul-2025 christos

Fixes for openssl-3.5.1


# 1.1385 17-Jul-2025 kre

ATF test additions for O_CLOFORK.

These are Ricardo Branco's ATF test modifications for O_CLOFORK
& SOCK_CLOFORK (with some FD_CLOFORK included).

These have all been made able to be built & run in an environment
where O_CLOFORK (etc) are not yet visible to userland.


# 1.1384 17-Jul-2025 christos

fix version


# 1.1383 17-Jul-2025 christos

more openssl=35 additions.


# 1.1382 29-Jun-2025 rillig

tests/make: test backslash at the end of a line and in the :M modifier

As described in PR bin/46139 by David A. Holland.


# 1.1381 27-Jun-2025 rillig

tests/make: test missing support for $^

Test provided by Diogo Santos via PR bin/59018; extended by me for .WAIT
and implicit rules.


# 1.1380 13-Jun-2025 rillig

make: add on-demand inter-process stack traces

When debugging a build that heavily uses nested calls to sub-makes, the
chain of calls is useful to quickly assess the situation. If explicitly
requested, include the actions from any parent processes in the stack
traces.

Reviewed by: sjg


# 1.1379 05-Jun-2025 kre

Add the new "expected" file which should have been in the prev commit.


# 1.1378 05-Jun-2025 rillig

make: remove empty line from diagnostic, add tests for output handling

The warning for the invalid internal option "-J" does not need a
trailing newline, as that is provided by Parse_Error already.

Having this newline in the output demonstrated a previously unknown bug
in handling the output of child commands in parallel mode. There, empty
lines are randomly discarded, depending on the chunks in which the
output from the child process is copied to make's stdout. See
job-output.mk for a demonstration.

The test for the Korn shell did not run the Korn shell in error handling
mode, as the error handling mode only affects the parallel mode but the
test didn't switch to that mode.

After fixing the shell-ksh.mk test, the single '"' in the output looked
suspicious, and indeed, the shell-csh.mk test had the same problem of
filtering more characters from the output than intended.


# 1.1377 05-Jun-2025 rillig

distrib/sets/lists/tests/mi: remove duplicate line


# 1.1376 02-May-2025 riastradh

lib/csu: Test a static PIE with RELR relocations.

PR bin/59360: ld.elf_so(8): missing RELR support


# 1.1375 02-May-2025 rillig

tests/strpct: demonstrate rounding errors


# 1.1374 02-May-2025 riastradh

ld.elf_so: Add a trivial test for R_*_RELATIVE relocations.

PR bin/59360: ld.elf_so(8): missing RELR support


# 1.1373 27-Apr-2025 martin

Fix names of new CSU tests


# 1.1372 27-Apr-2025 riastradh

lib/csu: Add tests of {static, dynamic} x {pie, non-pie}.

Main goal here is to test static pies, but let's take advantage of
this to test the same code several ways, since the csu logic has some
differences for static vs dynamic builds too like the ordering of
_libc_init calls.

PR lib/59359: static pies are broken


# 1.1371 22-Apr-2025 nia

Add basic tests for timespec_get(3), timespec_getres(3)

PR standards/58608


# 1.1370 20-Apr-2025 riastradh

Test stack pointer alignment in various scenarios.

1. elf entry point
2. main function
3. signal handler

Extend the test to amd64 while here -- fortunately both aarch64 and
amd64 pass, but others, such as mips, will fail:

PR kern/59327: user stack pointer is not aligned properly

This extends the test that was previously written for:

PR kern/58149: aarch64: Cannot return from a signal handler if SP was
misaligned when the signal arrived

With any luck, this will help us to systematically eradicate misaligned
stack pointers as hypothesized to be the reason for:

PR port-mips/59236: Multiple segfaults in erlite3 boot


# 1.1369 16-Apr-2025 riastradh

t_rtld_r_debug: Test this as a non-PIE executable too.

On MIPS, non-PIEs can use DT_MIPS_RLD_MAP or DT_MIPS_RLD_MAP_REL,
while PIEs can't use DT_MIPS_RLD_MAP because it relies on an absolute
virtual address baked into the file. So it's important to test both.

PR port-mips/59296: t_rtld_r_debug test is failing


# 1.1368 13-Apr-2025 rillig

tests/make: add tests for POSIX mode


# 1.1367 09-Apr-2025 kre

Undo previous, I suspect committed by mistake.

The t_close_range (and close_range() itself) hasn't been committed
yet, so adding the test in here can't be correct (yet).


# 1.1366 09-Apr-2025 christos

updates for new OpenSSH


# 1.1365 05-Apr-2025 riastradh

t_compat_cancel: Update set lists.

PR lib/59240: POSIX.1-2024: cancellation point audit
PR lib/59247: pthread_cancelstub.c is inadequately tested


# 1.1364 01-Apr-2025 riastradh

stddef.h: New nullptr_t, unreachable().

Define __STDC_VERSION_STDDEF_H__ while here.

Order content according to standard, and quote the relevant clauses,
to make it easier to audit.

PR standards/58605: C23: __STDC_*_H__ versions
PR standards/58620: C23: <stddef.h> unreachable() macro
PR standards/58621: C23: <stddef.h> nullptr_t


# 1.1363 31-Mar-2025 riastradh

pthread_cancel(3): Add some automatic tests.

PR lib/59240: POSIX.1-2024: cancellation point audit
PR lib/59134: POSIX-1.2024: pthread_setcancelstate must be
async-signal-safe


# 1.1362 28-Mar-2025 riastradh

t_ctype: New test for ctype(3) functions/macros.

PR lib/58208: ctype(3) provides poor runtime feedback of abuse


# 1.1361 13-Mar-2025 riastradh

execve(2), posix_spawn(2): Add test case for an embarrassing bug.

PR kern/58091: after fork/execve or posix_spawn, parent kill(child,
SIGTERM) has race condition making it unreliable


# 1.1360 02-Mar-2025 riastradh

libc: New _r variants of heapsort, mergesort, qsort.

Also kheapsort_r for kernel/standalone use.

These variants allow the caller to pass a cookie through to the
comparison function, e.g. if you want to sort an array of indices
into a buffer.

qsort_r is new in POSIX.1-2024; the others are obvious analogues of
our nonstandard extensions for heapsort and mergesort.

PR lib/58931: qsort_r() missing


# 1.1359 27-Feb-2025 riastradh

Test whether exec/spawn will zero registers.

Currently implemented only for a handful of architectures; should
extend this to all the others, and extend as appropriate if we find
more register content is worth testing (like maybe vector registers,
but they are managed differently anyway and less likely to leak).

VAX test contributed (and tested) by Kalvis Duckmanton, with some
tweaks by me; the others written and tested by me. IA64 skipped,
even though I suspect it _would_ leak if the kernel code ran as is,
because I have no way to test it.

PR kern/59084: exec/spawn leaks register content


# 1.1358 23-Jan-2025 christos

add new test


# 1.1357 18-Jan-2025 rillig

tests/gcov: demonstrate wrong coverage report after vfork/exec

Discovered in usr.bin/make, function Cmd_Exec.

The coverage test I ran on 2024-07-13 was still good. I don't remember
the exact version of NetBSD-current I was running back then.

With NetBSD-current from 2025-01-17, gcov does not report full coverage
data after a vfork/exec call. Running the test program inside ktrace
shows that after a vfork call, the child process writes its coverage data
back, probably right before the exec call, but the parent process
doesn't.

Running a child process through system(3) is not affected; there,
posix_spawn is used instead of vfork/exec.


# 1.1356 10-Jan-2025 rillig

tests/make: test expressions based on undefined variables

When an undefined variable is used in a conditional, make complains about
"Malformed conditional", which is wrong since the conditional is
well-formed but errors out during evaluation.

In order to fix this wrong error message and preserve the remaining
behavior, cover the places in which an expression is evaluated with
undefined expressions being an error (VARE_EVAL_DEFINED), but with
neither producing an error message nor handling errors. This combination
results in the same behavior as evaluating the expressions in the mode
that allows undefined variables to be used in expressions.


# 1.1355 02-Jan-2025 kre

Fix build after recent regex tests addition (make it be an addition, and
don't forget tests/libtre)


# 1.1354 01-Jan-2025 christos

new regex test.


# 1.1353 23-Dec-2024 riastradh

distrib/sets/lists/tests/mi: Copied & pasted wrong line, oops.

This shiny new test is definitely not obsolete!

Should fix:

atf-run: ERROR: Cannot locate the t_time_arith file

PR kern/58922: itimer(9): arithmetic overflow
PR kern/58925: itimer(9) responds erratically to clock wound back
PR kern/58926: itimer(9) integer overflow in overrun counting
PR kern/58927: itimer(9): overrun accounting is broken


# 1.1352 22-Dec-2024 riastradh

t_time_arith: New test for timer calculations.

This will facilitate fixing various problems in the arithmetic to
determine, given an itimer's scheduled time (it_value) and periodic
interval (it_interval) along with the current time of actual expiry
(now), what time the itimer should be rescheduled for (next, new
value of it_timer) on the same clock.

Later we can also put tests for other functions like tvtohz here, and
make them test many different values of hz/tick.

XXX Not 100% sure about all of these cases -- there is some room for
reasonable discussion about what the right answer is. But we have
unquestionably implemented the wrong thing for many of these cases,
even if the answers this test checks for may not be quite right yet.

PR kern/58922: itimer(9): arithmetic overflow
PR kern/58925: itimer(9) responds erratically to clock wound back
PR kern/58926: itimer(9) integer overflow in overrun counting
PR kern/58927: itimer(9): overrun accounting is broken


# 1.1351 18-Dec-2024 riastradh

tests/usr.bin/cc: Add test for ctype(3) detection.

PR lib/58912: ctype(3) abuse detection fails for variable references


# 1.1350 17-Dec-2024 christos

add a PT_KILL test.


# 1.1349 08-Dec-2024 rillig

lint: warn about do-while macros that end with a semicolon


# 1.1348 01-Dec-2024 rillig

lint: warn about function definitions that still use identifier lists


# 1.1347 23-Nov-2024 rillig

lint: use separate message when discarding a qualifier in call


# 1.1346 10-Nov-2024 riastradh

tests/kernel/t_cloexec: New tests for close-on-exec.

Verified that the following tests fail on a netbsd-10 kernel:

- clonedev_posixspawn
- dup3_posixspawn
- fcntldupfd_posixspawn

PR kern/58822: close-on-exec is broken for dup3 and opening cloning
devices


# 1.1345 30-Oct-2024 christos

Hook zstd to the build and enable it for libarchive and file.


# 1.1344 18-Oct-2024 christos

add makefs test


# 1.1343 17-Oct-2024 christos

more libarchive tests


# 1.1342 12-Oct-2024 riastradh

ftp(1): Add test for custom HTTP header fields.

Based on a patch from Sunil Nimmagadda <sunil@nimmagadda.net>.

PR bin/58581: ftp(1) should allow specifying header fields in http
requests


# 1.1341 09-Oct-2024 kre

Add a test for clock_nanotime() [ PR kern/58733 ]

Add a t_nanosleep test to the kernel tests, to (to a limited extent)
validate its functionality.

Initially this concentrates on the issue from PR kern/58733
where if a process paused in nanosleep() is stopped, and then
continued, and if it is using TIMER_ABSTIME, the call will
return prematurely, but indicating success.

There are (currently) 4 test cases, to test all 4 possibilities
using CLOCK_MONOTONIC and CLOCK_REALTIME (if someone wants to
add any other clocks that make sense, that should be easy) and
TIMER_ABSTIME and TIMER_RELTIME.

Currently both TIMER_ABSTIME tests fail (the TIMER_RELTIME
tests pass). When the kernel bug is fixed, the ABSTIME
tests should be fixed along with it.

These tests are currently somewhat crude, and I'm not sure
how well they will work on a qemu test system (they work as
expected on bare metal).


# 1.1340 03-Oct-2024 christos

new semtimedop(2) GSoC 2024 (Shivraj Jamgade)


# 1.1339 19-Sep-2024 gdt

tests: Add test for remquo

This test currently fails, because remquo has bugs. (A bugfix will be
committed soon.) Test vectors derived from results from code by
Charles Karney in GeodesicLib/proj, and manually inspected.


# 1.1338 15-Sep-2024 martin

Mark new if_bridge test files as conditional on RUMP


# 1.1337 09-Sep-2024 riastradh

math.h: Add math_errhandling, MATH_ERRNO, MATH_ERREXCEPT.

XXX Should maybe put a __math_errhandling in machine/math.h, but only
VAX uses MATH_ERRNO and that's not likely to change any time soon, so
this will serve for now with less churn.

PR standards/56234: missing C99 frobs in <math.h>


# 1.1336 03-Sep-2024 ozaki-r

distrib: install uuencoded pcap files for testing


# 1.1335 02-Sep-2024 ozaki-r

distrib, etc: install shmif_pcapin and its tests


# 1.1334 27-Aug-2024 riastradh

arc4random(3): Add automatic tests.

This verifies that:
- arc4random zeroes its state and reseeds itself on fork
- arc4random reseeds itself on entropy consolidation (e.g., VM clone)
- arc4random falls back to global state if it can't allocate local
state because address space limits cause mmap to fail

NOTE: This adds a new libc symbol __arc4random_global, but it's in
the reserved namespace and only used by t_arc4random, so no libc
minor bump.

PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork


# 1.1333 20-Aug-2024 ozaki-r

tests: add tests for shmif

The test file is placed under tests/net, not tests/rump/rumpnet,
to leverage utility functions provided for tests in there.


# 1.1332 15-Aug-2024 riastradh

libc: New functions c8rtomb(3) and mbrtoc8(3).

New in C23, for converting from UTF-8 to locale-dependent multibyte
sequences (c8rtomb) or vice versa (mbrtoc8), along with the new type
char8_t.

Conditional on either:
- _NETBSD_SOURCE
- _ISOC23_SOURCE
- __STDC_VERSION__ >= 202311L

(Riding the libc minor bump from this morning for the UTF-16/UTF-32
versions from C11.)

PR standards/58601: uchar.h C23 compliance: char8_t, mbrtoc8, c8rtomb


# 1.1331 15-Aug-2024 riastradh

libc: New C11 functions mbrtoc16, mbrtoc32, c16rtomb, c32rtomb.

The mbrtoc16/32 functions read mulitbyte strings according to the
current locale into UTF-16/32 code unit sequences; the c16/32rtomb
functions write UTF-16/32 code unit sequences into multibyte strings
according to the current locale. The `r' means restartable: they
work incrementally and pick up where they left off.

NOTE: This bumps the libc minor version, since it adds new symbols.

PR lib/52374: <uchar.h> missing


# 1.1330 15-Aug-2024 riastradh

uchar.h: New header file for C11 (and C++11) compliance.

Implementation of the new functions mbrtoc16, c16rtomb, mbrtoc32, and
c32rtomb to come later. Updates for C23 to come later.

PR lib/52374: <uchar.h> missing


# 1.1329 09-Aug-2024 bad

add tests/kernel/t_umount.c: test case for unmount(2)

demonstrate that failing to umount and async mounted file system causes the
kernel syncer to start flushing dirty buffers for it.

PR kern/58564: async mounts revert to being synced after failed unmount


# 1.1328 10-Jul-2024 rillig

lint: add warning for '!(var = constant)'

This catches expressions like 'ATF_CHECK(errno = ENOENT)', which was
intended to use '==' instead of '='.


# 1.1327 10-Jul-2024 rillig

distrib/lists: format list of test files


# 1.1326 07-Jul-2024 riastradh

t_ifunc: Test with all combinations of {relro, bindnow}.

PR lib/57792


# 1.1325 01-Jul-2024 rillig

tests/make: add newly added test to file list


Revision tags: perseant-exfatfs-base-20240630 perseant-exfatfs-base
# 1.1324 16-Jun-2024 rillig

branches: 1.1324.2;
tests/morse: add basic tests


# 1.1323 15-Jun-2024 wiz

Really mark obsolete


# 1.1322 15-Jun-2024 wiz

add some obsolete files to set lists


# 1.1321 13-Jun-2024 martin

Add new test files for new libarchive version


# 1.1320 10-Jun-2024 kre

More libarchive update fallout, don't expect tests we don't install
any more to be present in the contructed filesystem


# 1.1319 09-Jun-2024 rillig

lint: warn about lossy floating point constant to integer conversions


# 1.1318 08-Jun-2024 rillig

tests/lint: group tests by topic


# 1.1317 08-Jun-2024 rillig

tests/lint: reorganize tests

Tests for a single working language construct don't usually need a
separate file, they can be grouped together, like in expr.c or gcc.c.


# 1.1316 11-May-2024 rillig

lint: warn when comparing an integer to a floating point constant


# 1.1315 05-May-2024 riastradh

tests/lib/libm: Test nextafter/nexttoward and variants.

The tests are fairly trivial but should work without any conditionals
about floating-point formats.


# 1.1314 28-Apr-2024 rillig

tests/cd9660: replace compressed blob with readable hexdump

This test is skipped in most circumstances because it creates a file
whose apparent size is 4.5 GB. It's an ISO 9660 image though,
containing mostly null bytes. Nevertheless, tmpfs doesn't allow such a
big file to be created, so this test is skipped in settings where /tmp
is on a tmpfs.

If the test is run, the ISO image is uncompressed, which takes several
minutes. Replace bzip2 with direct file creation from a hex dump of
that disk image, which is easier to inspect manually and also faster by
about 3 magnitudes.


# 1.1313 28-Apr-2024 riastradh

libstdc++: Add test for PR lib/58206, sync_with_stdio busted.


# 1.1312 22-Apr-2024 pho

Add a test for kern/58149

aarch64: Cannot return from a signal handler if SP was misaligned when the signal arrived


# 1.1311 15-Mar-2024 riastradh

libcrypto: Add some trivial tests for truncated SHA-512 variants.

These should use more of the test vectors from

https://csrc.nist.gov/Projects/Cryptographic-Algorithm-Validation-Program/Secure-Hashing#Testing

but this will do for now to detect the buffer overrun rake we left
lying around for ourselves.

PR lib/58039


# 1.1310 14-Mar-2024 rillig

tests/stat: test the left-aligned and right-aligned 'S' format


# 1.1309 03-Mar-2024 rillig

lint: check for unreachable bits and fields in snprintb formats

While here, clean up a few existing checks.


# 1.1308 02-Mar-2024 rillig

lint: check snprintb formats for overlapping bits and fields


# 1.1307 01-Mar-2024 rillig

lint: test format strings from snprintb calls

The functions snprintb and snprintb_m are specific to NetBSD, and their
format strings are tricky to get correct. Provide some assistance in
catching the most common mistakes.


# 1.1306 19-Feb-2024 riastradh

longjmp(3): Add test for PR lib/57946.


# 1.1305 03-Feb-2024 rillig

lint: warn about short octal escape followed by '8' or '9'

These mistakes is typically found in snprintb format directives but is
probably a typo everywhere else as well.


# 1.1304 02-Feb-2024 rillig

tests/lint: test UTF-8 mode


# 1.1303 02-Feb-2024 rillig

tests/lint: test lexing of characters and strings


# 1.1302 27-Jan-2024 rillig

tests/lint: test integer constants in different language levels


# 1.1301 25-Jan-2024 mrg

add missing mtree subdir and it's Atffile.


# 1.1300 25-Jan-2024 riastradh

mtree(8): Test the installed sets.

Except etc and xetc, which likely won't match for reasons that aren't
great, like etc including empty log files which in an installed
system have probably changed.

This test will probably fail, but we should make sure it doesn't!

PR misc/57877


# 1.1299 23-Jan-2024 rillig

tests/lint: revert accidental addition of test for lint message 356


# 1.1298 23-Jan-2024 rillig

lint: rename symt_t to symbol_kind

It was confusing to have two kinds of "symbol type" (s_type and s_symt),
so rename all related identifiers to be more distinctive.

No functional change.


# 1.1297 24-Nov-2023 riastradh

pthread: Add tests for pthread user stack allocation.

PR lib/57721

XXX pullup-10
XXX pullup-9
XXX pullup-8


# 1.1296 10-Nov-2023 christos

Add test for:
PR/57689: RVP: getcwd() not overridable with -D_FORTIFY_SOURCE


# 1.1295 17-Oct-2023 rjs

The t_fdrestart test requires rump.


# 1.1294 15-Oct-2023 riastradh

t_fdrestart: New test of closing fd with another thread in I/O on it.

Adapted from regress/sys/kern/dislodgefd.

PR kern/57659


# 1.1293 26-Aug-2023 rillig

tests/usr.bin/error: add basic tests for several error message styles


# 1.1292 26-Aug-2023 riastradh

certctl(8): New tool for managing OpenSSL CA certificates.

Same command-line syntax as FreeBSD, clearer semantics about which
parts are config and which parts are cache.


# 1.1291 20-Aug-2023 riastradh

distrib/sets/lists/tests: Correction: h_inotify_* are MI.

Debug lists are probably still wrong, though -- looks like there's no
rule to change h_inotify_*.out.debug to h_inotify_*.debug. Out of
energy to look into this further, though; please fix me!


# 1.1290 20-Aug-2023 riastradh

distrib/sets/lists: /usr/tests/compat/linux/h_* is amd64-only for now.


# 1.1289 20-Aug-2023 riastradh

distrib/sets/lists: Add .debug files for new compat/linux tests.


# 1.1288 19-Aug-2023 christos

Add inotify tests


# 1.1287 07-Aug-2023 rillig

tests/lint: show that portable mode depends on PTRDIFF_TSPEC

Since 2023.07.08.12.45.43, lint warns in lib/libkvm on i386.


# 1.1286 06-Aug-2023 rillig

tests/lint: document how much of C99 lint already implements


# 1.1285 04-Aug-2023 riastradh

t_ubsan, t_ubsanxx: Remove gcc=10, gcc=12 conditionals.

These are built unconditionally. Should help fix the clang build.


# 1.1284 03-Aug-2023 rillig

lint: make '_Static_assert' only available in C11 or C23 mode


# 1.1283 03-Aug-2023 rin

Fix lists for HAVE_GCC=12.


# 1.1282 03-Aug-2023 nia

Revert addition of epoll to libc until discussion concludes


# 1.1281 01-Aug-2023 mrg

various updates for GCC 12

- bump some shlibs
- add new header files
- add compiler-version header files
- disable sanitizer libraries for gcc12 for now


# 1.1280 30-Jul-2023 riastradh

ld.elf_so: Add some known-answer tests for hash functions.

Make sure the testing mechanism detects the traditional overflow bug.


# 1.1279 29-Jul-2023 christos

Add tests for t_memfd_create and fix bug found by tests


# 1.1278 28-Jul-2023 christos

Add epoll(2) from Theodore Preduta as part of GSoC 2023


# 1.1277 15-Jul-2023 rillig

tests/lint: demonstrate use-after-free in GCC statement expression


# 1.1276 12-Jul-2023 rillig

tests/lint: add test for _Noreturn from C11


# 1.1275 07-Jul-2023 rillig

tests/lint: merge duplicate tests for C11 _Atomic


# 1.1274 05-Jul-2023 rillig

tests/lint: add platform-specific tests for troublesome pointer casts


# 1.1273 03-Jul-2023 rillig

tests/lint: move platform-specific query tests to separate files

This fixes the tests on 'unsigned char' platforms.

Thanks martin@ for the notification.


# 1.1272 02-Jul-2023 rillig

lint: add initial support for C23

Required by xsrc/external/mit/MesaLib.old, brw_eu_validate.c, which
initializes a struct using empty braces: 'return (struct string){};'.


# 1.1271 16-Jun-2023 rillig

indent: merge lexer symbols for type in/outside parentheses


# 1.1270 16-Jun-2023 wiz

mark some openssl 1.1 files as obsolete with openssl 3


# 1.1269 16-Jun-2023 rillig

tests/make: add test for multiple-inclusion guards


# 1.1268 16-Jun-2023 rillig

tests/make: clean up tests for the ':M' and ':S' modifiers


# 1.1267 14-Jun-2023 rillig

indent: merge parser symbols for stmt and stmt_list

They were handled in exactly the same way.


# 1.1266 01-Jun-2023 rillig

tests/make: clean up comments, extend a few tests


# 1.1265 31-May-2023 riastradh

ld.elf_so: New test for extern initial-exec TLS, PR toolchain/50277.

XXX pullup-10


# 1.1264 20-May-2023 rillig

tests/indent: migrate test driver from AWK to Lua

Lua reports more details when os.execute fails, which is useful when
running old versions of indent for comparison. The new test driver also
supports multiple test files in the same run.


# 1.1263 13-May-2023 rillig

tests/indent: add test for lexing of numbers


# 1.1262 13-May-2023 rillig

distrib/sets: format tests list


# 1.1261 10-May-2023 christos

update the sets for OpenSSL-3.x


# 1.1260 10-May-2023 rillig

tests/make: clean up tests for .for loops

Most of the tests from forloop.mk were already in directive-for.mk.


# 1.1259 09-May-2023 sjg

make: add :mtime to provide mtime of file

The value of the variable is passed to stat(2)
and st_mtime is new value.
An optional arg can be used if stat(2) fails, otherwise
the current time is used.

See varmod-mtime.mk for usage examples.


# 1.1258 23-Apr-2023 rillig

tests/lint: test command line parsing for message and query IDs

The parsing methods differ but shouldn't.


# 1.1257 21-Apr-2023 gutteridge

Add new test t_open_pr_57260

New test case that reflects the fix in PR kern/57260. The majority of
work for this case itself was by riastradh@, who'd supplied the basis
for it in the ticket, and provided further guidance.


# 1.1256 28-Mar-2023 rillig

lint: warn about 'extern' declarations inside function bodies

https://mail-index.netbsd.org/tech-userlevel/2023/03/15/msg013727.html

The previous attempt (message 351 about 'extern' declarations outside
headers) did not cover the proposal from the tech-userlevel mailing list
but instead warns about a different usage pattern of the 'extern'
keyword.


# 1.1255 28-Mar-2023 rillig

lint: warn about extern declarations outside headers

https://mail-index.netbsd.org/tech-userlevel/2023/03/15/msg013727.html


# 1.1254 27-Feb-2023 rillig

lint: split platform-specific test for loss of accuracy

Lint distinguishes between platforms where size_t is unsigned int and
platforms where size_t is unsigned long.


# 1.1253 24-Feb-2023 martin

Add mew file make/unit-tests/meta-ignore.inc


# 1.1252 05-Feb-2023 rillig

tests/lint: merge tests for initialization


# 1.1251 05-Feb-2023 rillig

tests/lint: remove redundant tests

The names of the tests were misleading: 'recursive' should have been
'nested', and the interesting topic in the 'cast' tests was not the cast
but the pointer dereference.


# 1.1250 30-Jan-2023 christos

add t_strchrnul


# 1.1249 29-Jan-2023 rillig

tests/lint: merge tests for '>>'


# 1.1248 23-Jan-2023 sjg

make: .[NO]READONLY for control of read-only variables

Reviewed by: rillig


# 1.1247 22-Jan-2023 rillig

tests/lint: merge tests for declaration after statement


# 1.1246 21-Jan-2023 rillig

lint: add support for the C11 type qualifier '_Atomic'

That keyword can be used as a type specifier as well, support for that
will be added later.


# 1.1245 21-Jan-2023 rillig

tests/lint: test _Atomic, added in C11


# 1.1244 19-Jan-2023 rillig

tests/make: rename files that are not test cases


# 1.1243 16-Jan-2023 rillig

distrib/sets: add missing directory for xlint tests


# 1.1242 15-Jan-2023 rillig

tests/lint: add basic tests for lint (not lint1 or lint2)


# 1.1241 15-Jan-2023 rillig

tests/lint: add test for parsing sizeof expressions


# 1.1240 15-Jan-2023 rillig

distrib/sets: sort list of test files

In ASCII, '_' comes before lowercase letters.


# 1.1239 04-Jan-2023 rillig

tests/lint: merge tests for ':?' with null pointer constant


Revision tags: netbsd-10-base
# 1.1238 01-Dec-2022 ozaki-r

branches: 1.1238.2;
tests: fix Makefile and lists for MKRUMP=no

Pointed out by Michael Scholz, thanks.


# 1.1237 30-Nov-2022 ozaki-r

tests: build and install t_ip_reass.c


# 1.1236 25-Nov-2022 knakahara

Add ATF for unnumbered interfaces.


# 1.1235 22-Nov-2022 jakllsch

Fix h_lualibm debug set lists.


# 1.1234 21-Nov-2022 christos

lua libm API from Phil Rulon


# 1.1233 17-Nov-2022 ozaki-r

distrib: add missing ./usr/libdata/debug/usr/tests/net/inpcb


# 1.1232 17-Nov-2022 ozaki-r

tests: build and install added test files


# 1.1231 17-Nov-2022 chs

Restore backward compatibility of UFS2 with previous NetBSD releases by
disabling support in UFS2 for extended attributes (including ACLs).
Add a new variant of UFS2 called "UFS2ea" that does support extended attributes.
Add new fsck_ffs operations "-c ea" and "-c no-ea" to convert file systems
from UFS2 to UFS2ea and vice-versa (both of which delete all existing extended
attributes in the process).


# 1.1230 10-Nov-2022 blymn

Added new libcurses test checkfile.


# 1.1229 09-Nov-2022 knakahara

Add test for sys/netipsec/ipsec.c:r1.176.


# 1.1228 08-Nov-2022 blymn

Added a new check file for libcurses test slk


# 1.1227 04-Nov-2022 ozaki-r

tests: add tests for invalid extra operations on a shutdown socket

The tests cover some error paths that normally happen.


# 1.1226 04-Nov-2022 ozaki-r

sets: fix wrong keywords for tests/net/tcp


# 1.1225 02-Nov-2022 ozaki-r

tests: add tests for TCP with nc


# 1.1224 11-Oct-2022 knakahara

Add test for sadb_x_policy->sadb_x_policy_flags.


# 1.1223 09-Sep-2022 wiz

grep: when -r is used, but no path argument provided, search the current dir

As discussed on tech-userlevel.


# 1.1222 03-Sep-2022 rillig

tests/make: remove nonexistent file from file list

The file had been added accidentally, it never existed in distdir.


# 1.1221 02-Sep-2022 sjg

Enable make/unit-tests/directive-for-break

Also ensure MAKE_VERSION is ignored.


# 1.1220 27-Aug-2022 christos

Add sincos{,f,l} from FreeBSD


# 1.1219 12-Aug-2022 riastradh

cgdconfig(8): Add support for shared keys.

New clause `shared <id> algorithm <alg> subkey <info>' in a keygen
block enables `cgdconfig -C' to reuse a key between different params
files, so you can, e.g., use a single password for multiple disks.
This is better than simply caching the password itself because:

- Hashing the password is expensive, so it should only be done once.

Suppose your budget is time t before you get bored, and you
calibrate password hash parameters to unlock n disks before you get
bored waiting for `cgdconfig -C'.

. With n password hashings the adversary's cost goes up only by a
factor of t/n.
. With one password hashing and n subkeys the adversary's cost goes
up by a factor of n.

And if you ever add a disk, rehashing it will make `cgdconfig -C'
go over budget, whereas another subkey adds negligible cost to you.

- Subkeys work for other types of keygen blocks, like shell_cmd,
which could be used to get a key from a hardware token that needs a
button press.

The <info> parameter must be different for each params file;
everything else in the keygen block must be the same. With this
clause, the keygen block determines a shared key used only to derive
keys; the actual key used by cgdconfig is derived from the shared key
by the specified algorithm.

The only supported algorithm is hkdf-hmac-sha256, which uses
HKDF-Expand of RFC 5869 instantiated with SHA-256.

Example:

algorithm aes-cbc;
iv-method encblkno1;
keylength 128;
verify_method none;
keygen pkcs5_pbkdf2/sha1 {
iterations 39361;
salt AAAAgMoHiYonye6KogdYJAobCHE=;
shared "pw" algorithm hkdf-hmac-sha256
subkey AAAAgFlw0BMQ5gY+haYkZ6JC+yY=;
};

The key used for this disk will be derived by

HKDF-HMAC-SHA256_k(WXDQExDmBj6FpiRnokL7Jg==),

where k is the outcome of PBKDF2-SHA1 with the given parameters.

Note that <info> encodes a four-byte prefix giving the big-endian
length in bits of the info argument to HKDF, just like all other bit
strings in cgdconfig parameters files.

If you have multiple disks configured using the same keygen block
except for the info parameter, `cgdconfig -C' will only prompt once
for your passphrase, generate a shared key k with PBKDF2 as usual,
and then reuse it for each of the disks.


# 1.1218 12-Aug-2022 riastradh

cgdconfig(8): New -t operation just prints the derived key in base64.

For testing purposes.


# 1.1217 21-Jul-2022 kre

Add ATF tests for realpath(1)

Note that realpath can act differently for root than for other users
(where an ordinary user will see EACCESS root just barrels right through).

The tests adapt themselves, when run as root, less error cases can be
tested than when run as some other user.


# 1.1216 05-Jul-2022 rillig

lint: add additional queries that are not enabled by default

In the last 18 months, several lint warnings have been made adjusted to
allow common usage patterns. For example, lint no longer warns about a
constant condition in the statement 'do { ... } while (false)' (message
161), as this pattern is well-known in statement-like macros, making it
unlikely that the 'false' is a mistake. Another example is casts
between unequal pointer types (message 247) for a few well-known
patterns that are unlikely to be bugs.

Occasionally, it is useful to query the code for patterns or events that
would not justify a warning. These patterns are modeled as predefined
queries that can be selected individually, in addition to and
independently of the existing warnings and errors.

New queries can be added as needed, in the same way as new warnings.
Queries that are deemed no longer used can be deactivated in the same
way as warnings that are no longer used.

As long as none of the queries is enabled, they produce a minimal
overhead of querying a single global variable. Computations that are
more expensive than a few machine instructions should be guarded by
any_query_enabled.

https://mail-index.netbsd.org/source-changes-d/2022/06/28/msg013716.html

ok christos@


# 1.1215 17-Jun-2022 rillig

tests/lint: remove .exp files, as they have become redundant

Now that each lint1 test lists all generated diagnostics as 'expect'
comments, the information from the .exp files is no longer needed. The
only information that gets lost is the order of the diagnostics, which
is mostly relevant for paired messages like 'inconsistent definition' +
'previous definition was here'.


# 1.1214 16-Jun-2022 rillig

tests/lint: add more details to messages in msg_200 until msg_299

Add some tests that were previously empty. Some other tests are still
empty.


# 1.1213 16-Jun-2022 rillig

tests/lint: make expectation lines in the tests more detailed

This commit migrates msg_100 until msg_199.


# 1.1212 10-Jun-2022 rillig

tests/lint: fix test for loss of accuracy on ILP32 platforms

The test had been wrong since msg_132.c 1.14 from 2022-05-30.

Using 'unsigned long' in a test that was intended to behave the same on
ILP32 and LP64 was an accident. Use 'unsigned long long' instead, which
is 64-bits wide on all platforms supported by lint.

Move the test about conversion from 'long' to 'int' to the
platform-specific test files.

Noticed by martin@ on powerpc.


# 1.1211 06-Jun-2022 nia

Remove accidentally committed merge conflict line.


# 1.1210 06-Jun-2022 nia

build system: Revert all the recent additions of MK[...] knobs that
allow conditionally disabling the building of certain user space
programs in the 'base' set.

There is not enough consensus that this is the right way and a few
people had strong objections, see source-changes-d@.


# 1.1209 31-May-2022 riastradh

libc: Reintroduce getentropy.

This was introduced two years ago when the getrandom/getentropy API
question was still open, and removed because the discussion was
ongoing. Now getentropy is more widely adopted and soon to be in
POSIX. So reintroduce the symbol into libc since we'll be keeping it
anyway. Discussion of details of the semantics, as interpreted by
NetBSD, is ongoing, but the symbol needs to get in before the
netbsd-10 branch. The draft POSIX text is
(https://www.opengroup.org/austin/docs/austin_1110.pdf):

SYNOPSIS
#include <unistd.h>

int getentropy(void *buffer, size_t length);

DESCRIPTION
The getentropy() function shall write length bytes of data
starting at the location pointed to by buffer. The output
shall be unpredictable high quality random data, generated by
a cryptographically secure pseudo-random number
generator. The maximum permitted value for the length
argument is given by the {GETENTROPY_MAX} symbolic constant
defined in <limits.h>.

RETURN VALUES
Upon successful completion, getentropy() shall return 0;
otherwise, -1 shall be retunred and errno set to indicate the
error.

ERRORS
The getentropy() function shall fail if:

[EINVAL] The value of length is greater than
{GETENTROPY_MAX}.

The getentropy() function may fail if:

[ENOSYS] The system does not provide the necessary
source of entropy.

RATIONALE
The getentropy() function is not a cancellation point.

Minor changes from the previous introduction of getentropy into libc:

- Return EINVAL, not EIO, on buflen > 256.
- Define GETENTROPY_MAX in limits.h.

The declaration of getentropy in unistd.h and definition of
GETENTROPY_MAX in limits.h are currently conditional on
_NETBSD_SOURCE. When the next revision of POSIX is finalized, we can
expose them also under _POSIX_C_SOURCE > 20yymmL as usual -- and this
can be done as a pullup without breaking existing compiled programs.


# 1.1208 27-May-2022 nia

mk: Add a MKLFS flag for excluding the log-structured filesystem userspace
tools from the build.


# 1.1207 23-May-2022 rillig

tests/make: document and demonstrate .for i containing .if empty(i)

PR bin/43821 describes the inconsistency that in a '.for i' loop, the
condition '.if ${i:M*.c}' works since 2009 while the seemingly
equivalent condition '.if !empty(i:M*.c)' does not access the variable
'i' from the .for loop but instead the global 'i'.

Resolving this situation in a backwards-compatible and non-surprising
way is hard, as make has grown several features during the last 20 years
that interact in various edge cases. For now, document the most obvious
pitfalls.


# 1.1206 22-May-2022 rillig

tests/compress: demonstrate truncation of target file

Reported by Giorgos Keramidas in PR#19722.


# 1.1205 12-May-2022 rillig

tests/lint: add more tests for __alignof__


# 1.1204 12-May-2022 rillig

tests/lint: adjust tests to reflect missing support of __alignof__

The change in lex.c 1.129 attempted to add support for __alignof, in
addition to the existing support for __alignof__. It failed by removing
support for __alignof__, while allowing the plain 'alignof' instead.


# 1.1203 08-May-2022 rillig

tests/make: remove test varquote

The test varmod-quote-dollar covers the same topic.


# 1.1202 08-May-2022 rillig

tests/make: migrate cond1 test to other, more specific tests

The tests in cond1 were a mixture of "everything related to conditions",
and the test cases were heavily dependent on each other, which made them
hard to understand. Move each test case to its corresponding
special-purpose test.


# 1.1201 29-Apr-2022 pgoyette

Add a new test for PR kern/56713 and set to expected_failure for now.


# 1.1200 28-Apr-2022 rillig

lint: revert resolving grammar conflicts for labeled statements

Restore the grammar rule for labeled_statement as it was before cgram.y
1.400 from 2022-04-24. This allows labels with attributes again. Fix
the wrong interpretation in the tests; the attributes belong to the
label, not to the statement.

Today in the morning, when I thought that the change in cgram.y 1.400
were innocent, I accidentally ran lint only with the options '-Sw' but
forgot the option '-g' for GNU mode. Without that option, the token
'__attribute__' is unknown, which unsurprisingly leads to lots of syntax
errors, and these didn't change with that commit. The actual change was
only visible in GNU mode.


# 1.1199 26-Apr-2022 blymn

Added new libcurses test.


# 1.1198 24-Apr-2022 rillig

tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.


# 1.1197 24-Apr-2022 rillig

tests/indent: migrate tests for parentheses, brackets, braces


# 1.1196 23-Apr-2022 rillig

tests/indent: migrate tests for the tokens '{' and '.'


# 1.1195 23-Apr-2022 rillig

tests/indent: migrate a few token tests to psym tests


# 1.1194 20-Apr-2022 blymn

Add test and check file for bkgrndset


# 1.1193 18-Apr-2022 rillig

make: only switch to POSIX mode if '.POSIX:' is the first line

https://pubs.opengroup.org/onlinepubs/9699919799/utilities/make.html
says that in order to make a makefile POSIX-conforming, its first
non-comment line must be the special dependency line '.POSIX:' without
any source dependencies.

Previously, make switched to POSIX mode even if such a line occurred
anywhere else, which was allowed by POSIX but was deep in the
"unspecified behavior" area. For NetBSD make, there is no big
difference since it doesn't ship any <posix.mk> file, this change mainly
affects the bmake distribution.

Previously, makefiles that contain '.POSIX:' somewhere in the middle
could fail due to <posix.mk> resetting .SUFFIXES, among other things.

Suggested by Simon J. Gerraty, who also reviewed an earlier version of
this change.


# 1.1192 08-Apr-2022 riastradh

membar_ops(3): Add some automatic tests.

These tests run two threads for five seconds each to try to trigger
races in the event of broken memory barriers. They run only on
machines with at least two CPUs; on uniprocessor systems there's no
point -- the membars can correctly just be (instruction barrier)
no-ops.


# 1.1191 08-Apr-2022 rillig

lint: remove unused message 70, add some more tests


# 1.1190 05-Apr-2022 rillig

tests/lint: add tests for a few early messages


# 1.1189 28-Mar-2022 christos

Add t_link


# 1.1188 12-Feb-2022 rillig

tests/make: document the history of bugs in '-k' mode

Reported in PR#49720 in 2015, fixed independently in compat.c 1.199 from
2020-12-07.


# 1.1187 12-Feb-2022 rillig

tests/make: demonstrate bug for .SILENT in jobs mode (since 2003)

Reported 2011 in PR#45356.


# 1.1186 07-Feb-2022 rillig

tests/make: demonstrate combination of .USE with transformation rule

Reported in 2003 in PR toolchain/20993. Linking a transformation rule
with .USE or .USEBEFORE node makes the transformation rule fail.


# 1.1185 23-Jan-2022 rillig

tests/make: migrate modts to varmod-to-separator and explain


# 1.1184 23-Jan-2022 rillig

tests/make: rename var-class to var-scope

There is no such concept as a "variable class" in make, these tests
focus on the variable scope instead.


# 1.1183 23-Jan-2022 rillig

tests/make: extend test suite, move old tests to 2020 scheme

The tests from envfirst.mk are now in opt-env.mk.
The tests from modword.mk are now in varmod-select-words.mk.


# 1.1182 19-Jan-2022 rillig

tests/make: demonstrate wrong location in diagnostic (since 2018-12-22)

When a target has multiple places where commands are defined, the
diagnostics mixed up the filename in some cases.


# 1.1181 28-Dec-2021 rillig

tests/make: document inconsistencies between '!=' and '::!='

Found while trying to make the error messages from Cmd_Exec more
detailed.


# 1.1180 23-Dec-2021 rillig

tests/make: explain the current behavior of the option '--version'


# 1.1179 20-Dec-2021 rillig

tests/lint: test excess braces around initializers


# 1.1178 14-Dec-2021 rillig

make: remove unreachable code for parsing the dependency operator

At the point where ParseDependencyOp is called, cp is guaranteed to
point to either ':' or '!'.

No functional change.


# 1.1177 13-Dec-2021 rillig

tests/make: extend tests for parsing makefiles


# 1.1176 12-Dec-2021 rillig

tests/make: test and document the newly added "variable" .SUFFIXES


# 1.1175 06-Dec-2021 rillig

tests/lint: demonstrate wrong warning for __builtin_alloca


# 1.1174 05-Dec-2021 rillig

make: fix use-after-free in modifier ':@'

Without memory allocator debugging, the newly added test doesn't show
any obvious failure.

With memory allocator debugging enabled, all make versions since
2016.02.27.16.20.06 crash with a segmentation fault.


# 1.1173 28-Nov-2021 rillig

tests/indent: migrate token_question to lsym_question and extend it


# 1.1172 28-Nov-2021 rillig

tests/indent: migrate test token_case_label to lsym_case_label


# 1.1171 28-Nov-2021 rillig

tests/indent: migrate token_comma to lsym_comma

The section on initializer values is new.


# 1.1170 28-Nov-2021 rillig

tests/indent: move test for ':' to lsym_token.c


# 1.1169 28-Nov-2021 rillig

indent: treat L"string" as a single token

There is never whitespace between the 'L' and the string literal or the
character constant. There might be a backslash-newline between them, but
that case was not handled before either.

No functional change.


# 1.1168 18-Nov-2021 rillig

tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.


# 1.1167 18-Nov-2021 rillig

distrib/sets: sort mi file


# 1.1166 18-Nov-2021 thorpej

Add a test case for backtrace(3) across a signal handler.


# 1.1165 17-Nov-2021 kre

Adjust new libcurses test filenames to the ones atually installed.
Possibly the intent was that the names used here were correct, and
the error is where they're installed - if so, that can be corrected later.

Hopefully this will fix the remaining current build issue.


# 1.1164 16-Nov-2021 blymn

Add more check files for libcurses tests.


# 1.1163 15-Nov-2021 blymn

Add new check files for curses atf.


# 1.1162 30-Oct-2021 rillig

lint: warn if an enum name is used for mismatched array access

This helps to keep the enum definition and the straight-forward
implementation of a to_string or name function in sync.

The test for message 241 had to be adjusted because of exactly this bug.
That test defined a bit mask enum but accessed it like a value enum
type.


# 1.1161 23-Oct-2021 rillig

tests/indent: migrate remaining tests from t_indent to t_options

The test types_from_file was a subset of opt_U and thus has been
removed.


# 1.1160 23-Oct-2021 rillig

tests/indent: migrate test for '-bap -sob' to t_options


# 1.1159 23-Oct-2021 rillig

tests/indent: migrate test for '--version' to t_options


# 1.1158 23-Oct-2021 rillig

tests/indent: migrate test for offsetof to t_options


# 1.1157 23-Oct-2021 rillig

tests/indent: remove redundant test list_head

The test cases are already in fmt_decl.c, in old_style_definition and
LIST_HEAD.


# 1.1156 23-Oct-2021 rillig

tests/indent: migrate f_decls to using t_options, add more tests


# 1.1155 23-Oct-2021 thorpej

Fix a regression introduced in kern_event.c,v 1.129 that would cause
"udata" to get clobbered on ONESHOT events, and add a unit test for it.
Reported by martin@ (manifested in his case as a KASSERT() firing when
running unit tests in COMPAT_NETBSD32).


# 1.1154 23-Oct-2021 thorpej

Add support for the EVFILT_EMPTY filter, which is activated when the
write buffer associated with the file descriptor is empty. This is
currently implemented only for sockets, and is intended primarily to
provide visibility to applications that all previously written data
has been acknowledged by the TCP layer on the receiver. Compatible
with the same filter in FreeBSD.


# 1.1153 22-Oct-2021 rillig

tests/indent: fix file list


# 1.1152 22-Oct-2021 rillig

tests/indent: fix file list

lex.c got renamed to lex_ident.c.


# 1.1151 22-Oct-2021 rillig

tests/indent: migrate integer options tests to t_options


# 1.1150 22-Oct-2021 rillig

tests/indent: migrate tests for parentheses, struct, #if, wide char


# 1.1149 22-Oct-2021 rillig

tests/indent: migrate a few more tests to t_options


# 1.1148 19-Oct-2021 rillig

tests/indent: add test for INDENT OFF/ON comments

Just to prevent unintended side effects when fixing bugs in this area.


# 1.1147 18-Oct-2021 rillig

tests/indent: remove redundant tests for '-ncs' and '-pcs'

These tests are already covered by opt_cs.c and opt_pcs.c.


# 1.1146 18-Oct-2021 rillig

tests/indent: condense test for indentation level, add missing files


# 1.1145 18-Oct-2021 rillig

tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.


# 1.1144 18-Oct-2021 rillig

tests/indent: extend tests for labels, extract test driver

Having the test driver in a separate file allows to run it on its own,
as 'awk -f t_options.awk label.c'. When the test driver warns, exit 1;
this is only needed for the standalone version, when run from inside ATF
the warnings on stderr already suffice to make the test fail in the end.


# 1.1143 18-Oct-2021 rillig

tests/indent: consolidate tests for comments

These tests have been the motivation for t_options.sh, which allows to
run indent with various command line options on the same input, without
having to create 3 files per test case.

A test file actually contains several tests, all separated by '#indent'
directives. Isolating each of these tests is simpler than having to pick
up the corresponding sections from 3 separate files. Running indent on
each small test case isolates the test cases from each other, preventing
them to influence later test cases. Exactly this had happened when
support for C99 comments was added in March 2021, which later turned
out to be done wrong.


# 1.1142 18-Oct-2021 rillig

tests/indent: merge tests for numbers into token_ident

The previous tests 'binary' and 'float' not only test binary and
floating point numbers, making their names too specific. Move them into
a new test token_ident that covers all "identifier-like" tokens, just as
in the code.

The test cases for the option '-cs' are already covered more
systematically in opt_cs.c, so remove that test.


# 1.1141 16-Oct-2021 rillig

tests/indent: add newly added t_options to file list


# 1.1140 16-Oct-2021 rillig

tests/indent: remove accidentally added file from the mi list


# 1.1139 16-Oct-2021 rillig

tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.


# 1.1138 14-Oct-2021 rillig

tests/indent: provide full line coverage for argument handling


# 1.1137 13-Oct-2021 rillig

indent: check command line options stricter

Previously, bool options were allowed to have trailing garbage. For
example, the option '-bacc' could be spelled '-bacchus' as well.

Check that the exact option name is given in the command line, to
prevent typos in the configuration files and to reduce surprises just in
case a future option is a prefix of an existing option, or vice versa.

Add a new test program for error handling. Most of these tests are so
simple that it would be overkill to create 3 files for each test.


# 1.1136 13-Oct-2021 thorpej

Add support for the NOTE_SECONDS, NOTE_MSECONDS, NOTE_USECONDS,
NOTE_NSECONDS, and NOTE_ABSTIME filter flags to EVFILT_TIMER,
API-compatible with the same in FreeBSD.


# 1.1135 10-Oct-2021 thorpej

Add a test case for the race condition in PR kern/50094, modeled after
the Go run-time scenario described in the PR.


# 1.1134 10-Oct-2021 thorpej

Add a test case to heavily exercise EVFILT_PROC + NOTE_TRACK.


# 1.1133 07-Oct-2021 rillig

tests/indent: test parsing of command line options in profile file


# 1.1132 05-Oct-2021 rillig

tests/indent: demonstrate off-by-one error in edge case


# 1.1131 30-Sep-2021 yamaguchi

Added tests for the linear hook APIs


# 1.1130 26-Sep-2021 rillig

tests/lint: add tests for platform characteristics

Running lint in usr.bin/make on i386 fails due to this warning:

cond.c(800): warning: argument #3 is converted from 'unsigned char' to
'unsigned int' due to prototype [259]

This warning only occurred on i386 but not on sparc or x86_64. Try to
reproduce the test situation in platform_int.

The platform code in t_integration.sh was not strict enough, it didn't
check for multiple conditions, such as in msg_132_ilp32. That test was
only supposed to run on ILP32 platforms where size_t is unsigned int. It
also ran on sparc, even though size_t is long there.


# 1.1129 25-Sep-2021 rillig

tests/indent: test deeply nested struct declarations


# 1.1128 25-Sep-2021 rillig

tests/indent: test edge cases for the tokenizer


# 1.1127 25-Sep-2021 rillig

tests/indent: test lexing of character constants and string literals


# 1.1126 19-Sep-2021 thorpej

Add native implementations of eventfd(2) and timerfd(2), compatible with
the Linux interfaces of the same name.


# 1.1125 13-Sep-2021 rillig

tests/lint: add more tests for direct-abstract-declarator

Lint's grammar in this area differs a lot from the grammar in C99. GCC's
parser has a long comment about special cases in this area. It's tricky
to even parse these type names correctly, let alone assign them the
correct types, that's why it needs more tests before trying to refactor
that code.


# 1.1124 12-Sep-2021 rillig

lint: add more details to error about redeclaration

Message 27 is triggered by several conditions. The one triggered by
register_vget in sbin/fsck_lfs/vnode.c needs more details than the
others.


# 1.1123 10-Sep-2021 rillig

tests/lint: test line number tracking with \v and \f


# 1.1122 03-Sep-2021 rillig

tests/lint: test GCC builtins for overflow in strict bool mode

Seen in inetd.c.


# 1.1121 31-Aug-2021 rillig

tests/lint: add test for prototype conversions in C90

The purpose of warning 259 is to find function calls that differ in the
ABI. The warning's original purpose was not to warn about lossy
conversions, that's just a side effect.

Warning 259 had been implemented before C99 was published, which is more
than 20 years ago. In the meantime, almost all code has migrated to
using function prototypes. With the default lint flags from NetBSD's
<sys.mk>, it would rather make sense to focus on lossy conversions now.

To prepare for potentially upcoming differences in lint's C90 and C99
modes, clone the test now as far as possible. The test for C90 mode is
smaller than for C99 mode, since 'long long' was not available back
then.


# 1.1120 30-Aug-2021 rillig

tests/make: explain where "${var}" in .for loops comes from


# 1.1119 29-Aug-2021 christos

Inetd enhancements by James Browning, Gabe Coffland, Alex Gavin, Solomon Ritzow
Described in:
https://www.mail-archive.com/tech-userlevel@netbsd.org/msg03114.html
And developed in:
https://github.com/ritzow/src/pull/1

From their notes:

All new functionality should be explained by the updated manpage.

The manpage has been refactored a bit: A new section "Directives"
has been added and the information about default hostnames and
IPsec directives has been moved there, and the new file include
directive information is also there.

getconfigent has the most major changes. A newline is no longer
read immediately, but is called only by a "goto more" (inside an
if(false) block). This allows multiple definitions or directives
to exist on a single line for anything that doesn't terminate using
a newline. This means a key-values service definition can be followed
by another key-values service definition, a positional definition,
or an ipsec, hostname, or .include directive on the same line.

memset is no longer used explicitly to clear the servtab structure,
a function init_servtab() is used instead, which uses a C struct
initializer.

The servtab se_group field is its own allocation now, and not just
a pointer into the user:group string.

Refactored some stuff out of getconfigent to separate functions
for use by parse_v2.c. These functions in inetd.c are named with
the form parse_*()

parse_v2.c only has code for parsing a key-values service definition
into a provided servtab. It should not have anything that affects
global state other than line and line_number.

Some function prototypes, structures, and #defines have been moved
from inetd.c to inetd.h.

The function config_root replaces config as the function called on
a config file load/reload. The code removed from the end of
config(void) is now called in config_root, so it is not run on each
recursive config call.

setconfig(void) was removed and its code added into config_root
because that is the only place it is called, and redundant checks
for non-null globals were removed because they are always freed by
endconfig. The fseek code was also removed because the config files
are always closed by endconfig.

Rate limiting code was updated to add a per-service per-IP rate
limiting form. Some of that code was refactored out of other places
into functions with names in the form rl_*()

We have not added any of the license or version information to the
new files parse_v2.c, parse_v2.h, and inetd.h and we have not
updated the license or version info for inetd.c.

Security related:

The behavior when reading invalid IPsec strings has changed. Inetd
no longer exits, it quits reading the current config file instead.
Could this impact program security?

We have not checked for memory leaks. Solomon tried to use dmalloc
without success. getconfigent seemed to have a memory leak at each
"goto more". It seems like inetd has never free'd allocated strings
when throwing away erroneous service definitions during parsing
(i.e. when "goto more" is called when parsing fields). OpenBSD's
version calls freeconfig on "goto more"
(https://github.com/openbsd/src/blob/c5eae130d6c937080c3d30d124e8c8b86db7d625/usr.sbin/inetd/inetd.c#L1049)
but NetBSD only calls it when service definitions are no longer
needed. This has been fixed. freeconfig is called immediately before
any "goto more". There shouldn't be any time when a servtab is in
an invalid state where freeconfig would break.


# 1.1118 28-Aug-2021 rillig

tests/lint: demonstrate hashcode sorting of the lint2 output

The hashcodes modulo 1009 are:

48 func7000
637 func0000
646 no_prototype
697 func1000
757 func2000
817 func3000
877 func4000
937 func5000
997 func6000


# 1.1117 25-Aug-2021 rillig

tests/lint: test conversion from long long to intptr_t on ilp32

Seen in usr.bin/make/var.c:1608.


# 1.1116 24-Aug-2021 rillig

lint: allow libraries to use 128-bit integer types


# 1.1115 24-Aug-2021 rillig

tests/lint2: reduce indentation for mi files


# 1.1114 22-Aug-2021 rillig

tests/lint: demonstrate wrong constant folding in strict bool mode

Found while investigating wrong constant folding in default mode.


# 1.1113 19-Aug-2021 rillig

tests/lint: test folding of constant expressions

Since November 2001, there is a comment above the function 'fold' that
suggests there are a few bugs concerning overflow detection. Add some
first 'proper regression tests' to prove these bugs.


# 1.1112 16-Aug-2021 rillig

tests/lint: test arithmetic promotions and enums


# 1.1111 12-Aug-2021 martin

add directory for debug data for mkdep tests


# 1.1110 11-Aug-2021 rillig

tests/mkdep: test findcc

This function is used by both mkdep and lint.


# 1.1109 09-Aug-2021 rillig

lint: warn about 'char * = strchr(const char *, int)'

Found in findcc.c, there are about 25 other instances of this
incongruency in the whole source tree.

For more examples of functions from the C Standard Library that
implicitly remove the 'const' qualifier from an argument, see the C++
include file 'cstring'.


# 1.1108 08-Aug-2021 rillig

tests/lint: make list of tests simpler

Since the file /usr/tests/usr.bin/xlint/lint2/tests has only been in the
file set for a few minutes, it is not marked as obsolete but simply
removed.


# 1.1107 07-Aug-2021 rillig

tests/lint: test reading of 128-bit integer types and printf


# 1.1106 07-Aug-2021 rillig

tests/lint: add test for reading the lint1 output


# 1.1105 06-Aug-2021 martin

Fix copy+pasto (wrong dir for t_lint2)


# 1.1104 05-Aug-2021 rillig

tests/lint: add test skeletons for messages from lint2


# 1.1103 05-Aug-2021 rillig

tests/lint: test emitting 128-bit integer types for lint2


# 1.1102 03-Aug-2021 rillig

tests/lint: test GCC extension for casting to union type


# 1.1101 03-Aug-2021 rillig

tests/lint: test casting a struct to another struct


# 1.1100 01-Aug-2021 rillig

tests/lint: test the usual arithmetic conversions in traditional C


# 1.1099 01-Aug-2021 rillig

tests/lint: test the usual arithmetic conversions

The function 'balance' does not mention __uint128_t and nevertheless
works as expected. Need to investigate further.


# 1.1098 31-Jul-2021 rillig

tests/make: split tests for the variable modifier ':O'

The tests for parse errors are now in varmod-order, which lets the other
tests focus on the desired behavior of the modifiers.


# 1.1097 30-Jul-2021 rillig

tests/make: register test varmod-order-numeric


# 1.1096 25-Jul-2021 rillig

tests/lint: cover every code line in the grammar


# 1.1095 25-Jul-2021 rillig

tests/lint: test declarators with attributes


# 1.1094 25-Jul-2021 rillig

tests/lint: demonstrate missing support for GCC typeof


# 1.1093 25-Jul-2021 rillig

tests/lint: test parse errors in statements

These errors are really unrealistic. Most parse errors that occur in
statements are already handled elsewhere and continue with the next
semicolon.

The tests had to be split into two separate files because lint assumes
that after the 5th parse error, it does not make sense to continue this
translation unit.


# 1.1092 25-Jul-2021 rillig

tests/lint: test parsing of type_name


# 1.1091 15-Jul-2021 rillig

tests/lint: cover more edge cases in the parser


# 1.1090 15-Jul-2021 rillig

tests/lint: test struct declarations


# 1.1089 15-Jul-2021 rillig

tests/lint: test precedence of operators


# 1.1088 14-Jul-2021 rillig

tests/lint: add several tests for edge cases in the grammar


# 1.1087 14-Jul-2021 ozaki-r

tests: add tests for ALTQ CBQ


# 1.1086 13-Jul-2021 rillig

tests/lint: test binary integer literals and underscores


# 1.1085 11-Jul-2021 rillig

lint: support __attribute__((hot))

The corresponding attribute 'cold' was already added in cgram.y 1.84
from 2016-12-29.


# 1.1084 11-Jul-2021 rillig

tests/lint: test dangling else


# 1.1083 10-Jul-2021 rillig

tests/lint: test declarations


# 1.1082 10-Jul-2021 rillig

tests/lint: add more tests for covering the grammar


# 1.1081 09-Jul-2021 rillig

tests/lint: add test for unrealistic edge cases in declarations

The example code for triggering these grammar rules looks completely
contrived. Even if lint had not implemented these cases, hopefully
nobody would have ever noticed.


# 1.1080 09-Jul-2021 yamaguchi

added tests for IFF_PROMISC of vlan(4)


# 1.1079 08-Jul-2021 christos

Add new interrupted stdio tests


# 1.1078 08-Jul-2021 rillig

tests/lint: add tests for C90 mode and malformed declarations

In the grammar, 148 lines are still uncovered by the tests. The
untested parts are mostly obscure declarations and a few parse errors.


# 1.1077 06-Jul-2021 rillig

tests/lint: add tests for GCC __attribute__

Before fixing the wrong handling of __attribute__ that is demonstrated
at the end of gcc_attribute.c, ensure that the attribute handling works
in the most basic cases.

Lint currently accepts __attribute__ in more places than it should.
This leads to some ambiguities in the grammar.


# 1.1076 04-Jul-2021 rillig

test/lint: demonstrate wrong warnings for 128-bit shifts


# 1.1075 04-Jul-2021 rillig

lint: remove remaining support for lvalue casts

These had been GCC extensions until GCC 3.4, they were removed in GCC
4.0.


# 1.1074 04-Jul-2021 rillig

lint: remove outdated assertion

Since err.c 1.12 from 2000-07-06, lint allows to suppress individual
error messages. Suppressed error messages do not increment nerr.
Keeping nerr at 0 had triggered the assertion.


# 1.1073 04-Jul-2021 rillig

tests/lint: add test for suppressing errors in strict bool mode


# 1.1072 03-Jul-2021 rillig

tests/lint: fix test for character comparison on macppc

On macppc, char == unsigned char, which generates one more warning than
on platforms where char == signed char.


# 1.1071 02-Jul-2021 rillig

tests/lint: add test for array subscripts in C99 initialization


# 1.1070 29-Jun-2021 rillig

lint: fix wrong warning about out-of-range value '\xff' for char

This only affects platforms where char has the same representation as
unsigned char.


# 1.1069 29-Jun-2021 rillig

tests/lint: add test that only runs where char == unsigned char

There a 4 regular NetBSD builds where lint is activated. All these
builds run on platforms where char == signed char.

The official test runs from https://releng.netbsd.org/test-results.html
mostly have char == signed char as well.

However, lint behaves differently on platforms with char == unsigned
char. On these platforms, a simple "char ch = '\xff'" leads to the
bogus warning that "conversion of 'int' to 'char' is out of range".


# 1.1068 29-Jun-2021 rillig

tests/lint: add tests for ILP32 platforms

Previously, all tests for lint had to produce the exact same output, no
matter which platform they ran on. This differs from practical needs
since lint is intended to produce different results depending on whether
the platform is ILP32 or LP64.

Examples for these are type conversions and the widths of the integer
types during lexical analysis.


# 1.1067 27-Jun-2021 rillig

lint: require C11 for _Generic

This does not have any effect in practice since the option -g
(originally meant for GCC extensions to the C standards) implicitly
allows all features from C11, since err.c 1.111 from 2021-04-14.

Since the default lint flags for NetBSD builds include the option -g,
this allows all C11 features.

Currently it is not possible to say "allow GNU extensions but not C11".


# 1.1066 27-Jun-2021 rillig

lint: fix option -Ac11, add test for _Generic

Previously, selecting the option -Ac11 allowed features from C11 but at
the same time prohibited 'long long', which was added in C99. This was
caused by the option -s, which is interpreted as "allow features from
C90, but no later".

The test for _Generic, which has been added in C11, demonstrates that
the current implementation is broken. Lint currently thinks that the
return type of a _Generic selection is the type of the expression, but
it really is the type of the selected expression. In the current tests,
this is always 'const char *', but C11 does not require that the types
of a generic selection are compatible.


# 1.1065 27-Jun-2021 rillig

tests/lint: fix list of files to be installed


# 1.1064 27-Jun-2021 rillig

tests/lint: rename expected .ln file to .exp-ln

This way, the hack for suffixes is no longer needed.


# 1.1063 20-Jun-2021 rillig

tests/lint: test syntax error in initialization using designator

This test prepares the upcoming refactoring of the grammar.


# 1.1062 19-Jun-2021 rillig

lint: fix endless loop on unfinished comment at EOF

Found using afl.


# 1.1061 19-Jun-2021 rillig

lint: fix assertion after malformed for loop

Found using afl.


# 1.1060 19-Jun-2021 rillig

lint: fix assertion failure in struct with unnamed member

Found using afl.


# 1.1059 19-Jun-2021 rillig

lint: fix crash in malformed initialization


# 1.1058 19-Jun-2021 rillig

tests/lint: add test cases for lexical analysis


# 1.1057 16-Jun-2021 rillig

tests/make: demonstrate wrong error handling in jobs mode


Revision tags: cjep_sun2x-base1
# 1.1056 06-Jun-2021 blymn

New check files added for the libcurses addstr test.


# 1.1055 05-Jun-2021 blymn

New check file for libcurses clear test.


Revision tags: cjep_sun2x-base cjep_staticlib_x-base1
# 1.1054 25-May-2021 rillig

branches: 1.1054.2;
tests/lint: make test d_gcc_extension platform-independent

That test was intended to test the keywords '__extension__' and
'__typeof'. The GCC builtin functions were just a side-effect.

These built-in functions generated error messages on platforms such as
amd64 where sizeof(long double) != sizeof(double), but not on others
such as sparc.

The current infrastructure for the lint tests cannot handle tests with
platform-dependent outcome.


# 1.1053 17-May-2021 yamaguchi

Add a new link-aggregation pseudo interface named lagg(4)

- FreeBSD's lagg(4) based implementation
- MP-safe and MP-scalable


# 1.1052 16-May-2021 rillig

lint: add more specific warning for bit-field of type plain 'int'

Previously, declaring a bit-field of type plain 'int' resulted in this
warning:

warning: nonportable bit-field type 'int' [34]

This warning was too unspecific to be actionable, and until yesterday it
didn't even include the type. In order to allow this warning to be
understood and properly fixed, describe the actual nonportability more
precisely:

warning: bit-field of type plain 'int' has
implementation-defined signedness [344]


# 1.1051 16-May-2021 rillig

tests/lint: add expected output for testing '&' in switch statement


# 1.1050 14-May-2021 rillig

tests/lint: test bitwise mismatch in switch statement


Revision tags: cjep_staticlib_x-base
# 1.1049 02-May-2021 rillig

branches: 1.1049.2;
tests/lint: add test for bit-field types in GCC mode


# 1.1048 02-May-2021 rillig

tests/lint: demonstrate missing support for __packed __aligned


# 1.1047 30-Apr-2021 rillig

tests/lint: add very basic tests for GCC __attribute__


# 1.1046 27-Apr-2021 rillig

tests/make: test the combination of -de with -j1

The test cases are the same as in opt-debug-errors.mk. The output
differs in several details though.

Even though the option '-k' is given (which is the default for any tests
that don't override it in unit-tests/Makefile), there is no message
"(continuing)" anywhere.

The failed target is printed twice. Once before the failed commands,
once after. This redundancy is not necessary and may be removed in a
follow-up commit.

The printed commands are in their unexpanded form, which may or may not
be more helpful than the expanded and space-normalized form of compat
mode. Either way, this is an unnecessary inconsistency between compat
mode and jobs mode.

In jobs mode, the message "make: stopped in $dir" is printed for each
failure, which is helpful since each of the jobs may have started in a
separate directory.


# 1.1045 22-Apr-2021 rillig

tests/lint: add test for typeof after statement

Found by christos@.


# 1.1044 18-Apr-2021 rillig

tests/lint: add emit.ln to the release files


# 1.1043 18-Apr-2021 rillig

lint: test emitting of symbol information in the .ln files

Even though the new test is quite large, it didn't find any bugs in the
code. The only thing I'm unsure about is why static functions are
exported as well, since they are supposed to be local to the translation
unit.


# 1.1042 17-Apr-2021 rillig

tests/lint: demonstrate assertion failure in initialization


# 1.1041 15-Apr-2021 rillig

tests/make: demonstrate handling of null bytes


# 1.1040 14-Apr-2021 rillig

lint: add test for newly added message about static array size


# 1.1039 09-Apr-2021 rillig

tests/lint: demonstrate wrong lint warning about complex variables


# 1.1038 08-Apr-2021 rillig

lint: in code from included files, print stack trace

Previously, the standard NetBSD build generated several lint warnings in
lhash.h from OpenSSL, without providing any hint as to which file
actually included that header. In cases like these, lint now interprets
the line number information in the preprocessor output from GCC to
reconstruct the exact include path to the file in question.

The program check-expect.lua had to be rewritten almost completely since
it assumed that all diagnostics would come from the main file. In all
existing tests, this was true, but these tests did not cover all cases
that occurred in practice. Now it records the complete location of the
diagnostic instead of just the line number.


# 1.1037 05-Apr-2021 rillig

lint: warn about for wrong type cast in argument to ctype.h functions

The argument to most of the functions from <ctype.h> "shall either be
representable as an 'unsigned char' or shall equal the value of the
macro EOF".

When confronted with the infamous warning 'array subscript has type
char', there are enough programmers who don't know the background of
that warning and thus fix it in a wrong way. Neither GCC nor Clang
explain its warning to target these programmers.

Both GCC and Clang warn about 'array subscript has type char', but they
ignore the other requirements of the <ctype.h> functions, even though
these are in the C standard library.

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94182
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95177
https://stackoverflow.com/a/60696378


# 1.1036 04-Apr-2021 rillig

tests/make: split test for modifier ':@' into separate files

The file varmod-loop.mk has grown too large to be single-purpose, plus
it combined parse-time and run-time tests. This has the downside that
as soon as a parse-time test results in an error, the run-time tests are
not run anymore.


Revision tags: thorpej-futex-base
# 1.1035 02-Apr-2021 rillig

tests/lint: prevent typo from tree.c 1.264 from happening again


# 1.1034 28-Mar-2021 rillig

lint: remove wrong warning about wrong initializer type

The following code is valid:

int valid = {{{ 3 }}};

C90 3.5.7 and C99 6.7.8 both say that the "initializer for a scalar
shall be a single expression, optionally enclosed in braces". They
don't put any upper bound on the amount of braces, not even in the
"Translation limits" section.


# 1.1033 23-Mar-2021 rillig

tests/lint: test initialization using string literals

The errors in line 74 and 75 of the test are wrong. Everything is fine
there. The bug lies in init_array_using_string, try to see if you can
spot it, neither GCC 9.3.0 nor Clang 8.0.1 could.


# 1.1032 14-Mar-2021 rillig

tests/make: add test for short-circuit evaluation of modifiers


# 1.1031 12-Mar-2021 rillig

tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.


# 1.1030 09-Mar-2021 rillig

tests/indent: demonstrate strange alignment for global variables


# 1.1029 08-Mar-2021 rillig

tests/indent: demonstrate wrong removed empty line before '//'


# 1.1028 08-Mar-2021 rillig

tests/indent: demonstrate another bug in nested blocks


# 1.1027 08-Mar-2021 rillig

tests/indent: add test for output line counting


# 1.1026 07-Mar-2021 rillig

lint: in strict C mode, warn about initialization with '[a ... b]'

https://gcc.gnu.org/onlinedocs/gcc/Case-Ranges.html


# 1.1025 06-Mar-2021 rillig

tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.


# 1.1024 28-Feb-2021 rillig

lint: fix null pointer dereference on parse error

Fixes PR bin/22119.


# 1.1023 28-Feb-2021 rillig

lint: add test to demonstrate that PR bin/20264 has been fixed


# 1.1022 21-Feb-2021 rillig

indent: add test demonstrating that indent cannot handle C99

indent cannot handle line-end comments.

The indent test suite requires each test file to have both a NetBSD and
a FreeBSD RCS ID. If the FreeBSD RCS ID is missing, the test will
silently pass since in that case, an empty file is compared with an
empty file. See the /start/,/end/ operator in t_indent.sh.


# 1.1021 21-Feb-2021 rillig

lint: add another test for C99 initializers


# 1.1020 19-Feb-2021 rillig

lint: warn about mismatch in getopt handling


# 1.1019 16-Feb-2021 kre

PR bin/55979

Add a sh ATF test to demonstrate a bug in the way that \0 characters
are dropped from scripts. This test will eventually be extended to
test other potential sh script input related issues.

When initially committed, this test should fail. It should succeed
when the fix for the PR is committed (soon).

Nb: this tests only the \0 related issues from the PR, the MSAN
detected uninitialised variable (struct field) can only be detected
by MSAN, as it has no visible impact on the operation of the shell
when running on any real (or even emulated) hardware.
(It will, however, also be fixed).


# 1.1018 14-Feb-2021 rillig

make: add test for the variable modifier ':sh'


# 1.1017 13-Feb-2021 rillig

tests/libcurses: add test for addbytes


# 1.1016 07-Feb-2021 rillig

libcurses: demonstrate bug in addch that doubles tab indentation

When adding "\t" via addch, win.curx advances by twice the spaces as
intended. This bug was introduced somewhere between NetBSD 8.0 and 9.0.

Adding "\t" via addstr does not have this bug.

This bug causes the installation menu of sysinst to be have its menu
items indented by 16 characters instead of only 8. This in turn
produces an ugly line break in the German translation.

The test framework for libcurses is not well integrated into ATF.
Whenever the expected output is longer than the actual output, or vice
versa, the test passes nevertheless. This makes it necessary to
constantly look into atf-run.log to see whether the actual output is
indeed equal to the expected output, which is crucial, especially for
telling the difference between addstr and addnstr.

Reusing the .chk files for several tests is not a good idea either. For
example, addstr and waddstr are supposed to produce the same result for
ASCII-only text, so it was tempting to use the same file. But waddstr
seems to have a bug (maybe undefined behavior), at least waddstr returns
ERR in one case where it shouldn't. This means that currently the
expected output (acknowledging the bug) must be different.

The "expected" test output in waddstr.chk looks completely broken, but
that's exactly what the test produces right now.


# 1.1015 01-Feb-2021 rillig

make: add test for reading from make's stdin

Just out of curiosity whether that really works. It does.


# 1.1014 30-Jan-2021 rillig

make(1): add test for combining the options -j, -n, -t

This is a preparation for refactoring the complicated condition in
JobStart.


# 1.1013 29-Jan-2021 rillig

make(1): demonstrate unnecessary creation of empty files in jobs mode


# 1.1012 17-Jan-2021 rillig

lint: add more tests for system headers in strict bool mode


# 1.1011 14-Jan-2021 rillig

lint: add tests for newly added messages for strict bool mode


# 1.1010 10-Jan-2021 rillig

lint: add test for triggering assertion failures in lint1


# 1.1009 10-Jan-2021 rillig

lint: add test for treating _Bool as non-scalar type

This strict mode is not yet implemented. The plan is to use it for
usr.bin/make, to get rid of the many possible variants of defining the
Boolean type in make.h. These variants did find some bugs, but not
reliably so. Using static analysis seems more promising for this.

In an early stage of developing this test, lint1 crashed in the enum
definition in line 213, where the node for the '?:' had been NULL. This
can happen in other situations as well, such as with syntax errors, but
these should be rare, as lint is usually only run if the compiler has
accepted the source code. Still, there should not be any assertion
failures while running lint1.


# 1.1008 10-Jan-2021 rillig

lint: demonstrate wrong handling of conversion to _Bool


# 1.1007 02-Jan-2021 rillig

lint: add a test for each message produced by lint1

Having a test for each message ensures that upcoming refactorings don't
break the basic functionality. Adding the tests will also discover
previously unknown bugs in lint.

The tests ensure that every lint message can actually be triggered, and
they demonstrate how to do so. Having a separate file for each test
leaves enough space for documenting historical anecdotes, rationale or
edge cases, keeping them away from the source code.

The interesting details of this commit are in Makefile and
t_integration.sh. All other files are just auto-generated.

When running the tests as part of ATF, they are packed together as a
single test case. Conceptually, it would have been better to have each
test as a separate test case, but ATF quickly becomes very slow as soon
as a test program defines too many test cases, and 50 is already too
many. The time complexity is O(n^2), not O(n) as one would expect.
It's the same problem as in tests/usr.bin/make, which has over 300 test
cases as well.


# 1.1006 01-Jan-2021 rillig

lint: demonstrate bug in handling of nested C9X struct initializers


# 1.1005 01-Jan-2021 rillig

lint: fix segmentation fault when checking returned enum types (211)


# 1.1004 31-Dec-2020 rillig

lint: check that in "if (cond)", cond is scalar


# 1.1003 31-Dec-2020 rillig

make(1): add test for error handling and expansion in .for loops


# 1.1002 30-Dec-2020 rillig

make(1): add test for .endfor without corresponding .for


# 1.1001 30-Dec-2020 rillig

lint: add test for old style function arguments


# 1.1000 29-Dec-2020 rillig

make(1): add test that explains how variables are exported

Exporting the variables at the right time and with the correct values is
a subtle issue. The current implementation carefully marks variables as
ready to be exported, then exports them and at the same time tries to
export as few variables as possible, to avoid memory leaks. This test
describes and explains how all this works in detail.

This test also justifies that the call to Var_ReexportVars happens in
the make process itself, not in the child processes, no matter whether
these are created with vfork or (only theoretically) with plain fork.
This has changed in compat.c 1.217, job.c 1.390 and main.c 1.504 from
2020-12-27.


# 1.999 28-Dec-2020 rillig

lint1: add forgotten tests


# 1.998 28-Dec-2020 rillig

lint1: fix file list for recently added test output


# 1.997 27-Dec-2020 rillig

make(1): add test for expansion errors in jobs mode

Since compat mode and jobs mode are implemented separately and vary in
lots of small details, each of them needs to be tested on its own.


# 1.996 19-Dec-2020 rillig

make(1): add test for null byte in .for loop body


# 1.995 19-Dec-2020 rillig

make(1): demonstrate wrong line numbers in .for loops, since 2007-01-01


# 1.994 14-Dec-2020 rillig

make(1): add test for parsing the end of a condition


# 1.993 13-Dec-2020 rillig

branches: 1.993.2;
make(1): demonstrate wrong error handling in compat mode


# 1.992 13-Dec-2020 rillig

make(1): add test for misspelled directives

This test allows the other directive-* tests to focus on the purpose of
the individual directive, allowing these tests to continue after
parsing, without errors.


# 1.991 13-Dec-2020 roy

t_ossaudio was installed for clang, so remove gcc marking


# 1.990 12-Dec-2020 rillig

make(1): add test for a shell with error control

None of the predefined shells has error control, and the corresponding
code had not been covered by the existing unit tests.


# 1.989 12-Dec-2020 pgoyette

Also add the new test to the sets lists.


# 1.988 10-Dec-2020 rillig

make(1): test all combinations of switches for running commands

The code in JobPrintSpecials is rather complicated and contains
surprising interaction between some of the switches.

To see the exact effects of the switches, record the current state and
its output, to prevent accidental breakage during the upcoming
refactorings.


# 1.987 09-Dec-2020 rillig

make(1): add test for the -n option combined with RunFlags


# 1.986 09-Dec-2020 rillig

make(1): add test for combining -j1 with -n


# 1.985 07-Dec-2020 rillig

make(1): add tests and tutorial for the ?= assignment operator


# 1.984 07-Dec-2020 rillig

make(1): add new unit test opt-keep-going-multiple.mk to file lists


# 1.983 06-Dec-2020 rillig

make(1): add test for .END after failed main node


# 1.982 01-Dec-2020 rillig

make(1): add test and tutorial for indirect modifiers


# 1.981 01-Dec-2020 rillig

make(1): add test for the special .MAKEFLAGS variable


# 1.980 01-Dec-2020 rillig

make(1): add tests for suppressing "stopped in"

These tests demonstrate the unwanted behavior described in PR bin/55578
and PR bin/55832.


# 1.979 30-Nov-2020 sjg

Added meta-cmd-cmp


# 1.978 24-Nov-2020 rillig

make(1): add test for bug in error handling of .BEGIN in -k mode


# 1.977 24-Nov-2020 rillig

make(1): add test for error in dependency of .END node in -k mode


# 1.976 24-Nov-2020 rillig

make(1): add test for missing "Stop" after error in .END


# 1.975 23-Nov-2020 rillig

make(1): test that .PHONY targets are not resolved using suffix rules


# 1.974 22-Nov-2020 rillig

make(1): add test for debug output from transformation rules


# 1.973 22-Nov-2020 rillig

make(1): add another unit test for suffix handling


# 1.972 22-Nov-2020 rillig

make(1): document the selection of the main target


# 1.971 21-Nov-2020 rillig

make(1): add test for incomplete transformation rule


# 1.970 16-Nov-2020 rillig

make(1): add test for self-referencing suffix rule

Just to ensure that make doesn't run into an endless loop.


# 1.969 14-Nov-2020 rillig

make(1): add test for the -t option in jobs mode


# 1.968 13-Nov-2020 sjg

Add new make unit-test


# 1.967 10-Nov-2020 rillig

make(1): add more tests for parsing .if directives

The details of parsing are quite tricky and not documented in the manual
page. Record the current behavior to be a little safer in future
refactorings.


# 1.966 09-Nov-2020 rillig

make(1): move test for != assignments to var-op-shell


# 1.965 08-Nov-2020 rillig

make(1): in lint mode, only allow '&&' and '||', not '&' and '|'

These variants of the condition operators are neither documented in the
manual page nor are they used in practice.


# 1.964 08-Nov-2020 rillig

make(1): add test for expanding variable expressions


# 1.963 08-Nov-2020 rillig

make(1): add newly added test to file list


# 1.962 07-Nov-2020 rillig

make(1): add test for job command flags


# 1.961 04-Nov-2020 rillig

make(1): add test for undefined variables in command line arguments

The variable discardUndefined has an implicit negation in its name,
which makes it hard to understand. Plus, most of the time it is true.
It's better to have a flag that is false most of the time and has a
positive name.

On the first attempt of inverting that variable, I stumbled upon
MainParseArgs, which initially leaves discardUndefined == FALSE, and
after handling the dashed options, sets it to TRUE. This would make a
difference when more command line arguments would be added later via the
.MAKEFLAGS special target.

Upon further inspection, the only place where discardUndefined is used
is in VarAssign_EvalSubst in parse.c, and that place is not reachable
from any of the dashed options. Therefore, discardUndefined could
already be set at the very beginning of MainParseArgs or even when
initializing the global variable itself, without any observable
difference.

Not even the ::= variable modifier could do anything about this since it
is not reachable from the dashed command line options as well, and in
addition, it expands its right-hand side in any case, always discarding
undefined variables. Oh, these little inconsistencies everywhere.


# 1.960 03-Nov-2020 rillig

make(1): move tests from directives.mk to separate tests


# 1.959 02-Nov-2020 rillig

make(1): add test for parse errors in commands in lint mode (-dL)

The difference to non-lint mode is that the exit status is now 2 instead
of 0.


# 1.958 02-Nov-2020 rillig

make(1): add test for parse errors in shell commands, compat mode


# 1.957 02-Nov-2020 rillig

remove extraneous tab, sort entries alphabetically (by fmt-list)


# 1.956 02-Nov-2020 mrg

add missing files (one from me, one from someone else :-)


# 1.955 01-Nov-2020 christos

Add tests for col


# 1.954 31-Oct-2020 rillig

make(1): add test for recursive variable expressions


# 1.953 31-Oct-2020 rillig

make(1): merge the SysV modifier tests into varmod-sysv


# 1.952 31-Oct-2020 rillig

use the same indentation for all libcurses test files


# 1.951 24-Oct-2020 blymn

Add new tests and check files for libcurses from the Google Summoer of Code
project.


# 1.950 24-Oct-2020 rillig

make(1): add test for looking up suffixes


# 1.949 23-Oct-2020 rillig

make(1): add test for dependencies of the form '%.o: %.c'


# 1.948 23-Oct-2020 rillig

make(1): add test case in which .BEGIN depends on .END

Just for fun.


# 1.947 23-Oct-2020 rillig

make(1): add test for the '::' dependency operator


# 1.946 23-Oct-2020 rillig

make(1): move tests from cond2.mk to varmod-ifelse.mk


# 1.945 23-Oct-2020 rillig

make(1): add test for .ERROR_CMD in jobs mode


# 1.944 20-Oct-2020 rillig

make(1): split test suffixes.mk into simpler, isolated tests

The code in suff.c is already hard to understand, and so were the tests
in suffixes.mk since several independent topics were merged into a
single test.

Splitting this test into a separate test per issue allows to document
the expected and actual behavior in more detail. That's complicated
enough already.

PR bin/49086


# 1.943 18-Oct-2020 rillig

make(1): add test for turning a target into a transformation


# 1.942 16-Oct-2020 mgorny

Try to fix tests/sys/x86 again

Thank to Martin Husemann for the suggestion.


# 1.941 15-Oct-2020 mgorny

Move the new x86 test into x86-specific lists


# 1.940 15-Oct-2020 mgorny

Add tests for process_xmm_to_s87() and process_s87_to_xmm()


# 1.939 08-Oct-2020 rillig

make(1): move test for .CURDIR from misc.mk to varname-dot-curname.mk


# 1.938 04-Oct-2020 rillig

make(1): add tests for parsing assignments, especially :sh

Luckily nobody uses the :sh variable assignment modifier since its
syntactical variant != is simpler.


# 1.937 03-Oct-2020 rillig

make(1): add unit test for the Towers of Hanoi puzzle


# 1.936 03-Oct-2020 rillig

make(1): add tests for the various supported shells


# 1.935 02-Oct-2020 rillig

make(1): add tests for parsing and exporting variables

Once again, there are a few surprises deeply hidden inside the edge
cases.


# 1.934 01-Oct-2020 pgoyette

Fix up the debug stuff for if_tap and if_vether


# 1.933 30-Sep-2020 roy

Add rump_open_tap


# 1.932 29-Sep-2020 roy

vether(4): Add ATF tests based on the tap(4) tests.


# 1.931 27-Sep-2020 rillig

make(1): add test for merging long lines of job output


# 1.930 25-Sep-2020 rillig

make(1): add test for harmless bug in Parse_File

When there is a dependency group at the end of a top-level makefile,
this dependency group is not finished properly. This allows to add
further commands to the targets of this dependency group, which was not
intended.


# 1.929 25-Sep-2020 rillig

make(1): add test for deleting the suffixes during parsing


# 1.928 25-Sep-2020 rillig

make(1): add test for partial expansion of undefined variables


# 1.927 23-Sep-2020 rillig

make(1): add variant of the counter test

I had expected that using the ::+= modifier instead of the ::= modifier
would work, since the assignment modifier for COUNTER no longer contains
a reference to itself. But instead of ending up at 4, the counter even
goes up to 6.


# 1.926 23-Sep-2020 rillig

make(1): fix assertion failure in -j mode with .END node

There had been two separate global variables for the .END node, and in
parallel mode, only the one in jobs.c was initialized.

The code in JobRun heads over to Compat_Make without calling Compat_Run
first, which left the variable ENDNode uninitialized.


# 1.925 22-Sep-2020 kamil

Add new RTLD test file for r_debug

New tests:
- self
- dlopen

Both check whether the r_debug structure seems to be well-formed, without
and with a dlopen(3) call.


# 1.924 14-Sep-2020 rillig

make(1): add test for undefined expressions in conditions in lint mode


# 1.923 14-Sep-2020 rillig

make(1): add tests for numbers in conditions


# 1.922 13-Sep-2020 rillig

make(1): add recently added tests to distrib file list


# 1.921 08-Sep-2020 christos

Add bind test


# 1.920 05-Sep-2020 rillig

make(1): move test for -dg1 from opt-debug-g1 to opt-debug-graph1


# 1.919 05-Sep-2020 rillig

make(1): add tests for each debug option


# 1.918 04-Sep-2020 rillig

make(1): add test for the special variable MAKEFILE


# 1.917 04-Sep-2020 rillig

re-indent and sort distrib/sets/lists/tests/mi

This way, the fields 2 and 3 don't jump horizontally as often as before,
which makes the appearance of the whole file as calm and organized as it
should be.


# 1.916 04-Sep-2020 rillig

make(1): extend tests for the :hash variable modifier

The previous test vectors didn't contain any hash with a leading zero.
This could have been a simple programming mistake by using %8x instead
of the intended %08x. Using snprintf wouldn't have been possible anyway
since the hex digits are printed in little-endian order, but without
reversing the bits of each digit. Kind of unusual, but doesn't affect
the distribution of the hashes.


# 1.915 02-Sep-2020 rillig

make(1): add test for the .for directive

For a long time, I had assumed that the iteration variables of a .for
loop are just normal global variables. This assumption was wrong but
didn't have any consequences.

The iteration variables of a .for loop can just be accessed like global
variables, therefore it is not obvious that they are implemented in a
completely different way.

There are some edge cases in conditions used inside .for loops, in which
the iteration variables cannot be used like normal variables. An
example is brought up in https://gnats.netbsd.org/47888, which observes
that the defined() and empty() functions in conditions only work with
variables but ignore the iteration "variables", simply because these are
not variables but only expressions.


# 1.914 29-Aug-2020 rillig

make(1): add tests for .else and .for + .endif


# 1.913 29-Aug-2020 rillig

make(1): fix assertion failure for .SUFFIXES in archives

This occurred in the posix1.mk test, even though it is disabled in
unit-tests. But in tests/usr.bin/make it still runs. There, it should
have produced an "expected failure" but crashed instead.

The archive-suffix test is the stripped-down version of the posix1 test.


# 1.912 28-Aug-2020 rillig

make(1): add test for interrupting a command


# 1.911 28-Aug-2020 rillig

make(1): add tests for the special .INCLUDES and .LIBS variables


# 1.910 27-Aug-2020 rillig

make(1): add test for the -dg1 option


# 1.909 27-Aug-2020 riastradh

Remove bogus Atffile and Kyuafile entries for if_wg tests.


# 1.908 27-Aug-2020 riastradh

Sort and deduplicate set lists.


# 1.907 26-Aug-2020 riastradh

Clarify wg(4)'s relation to WireGuard, pending further discussion.

Still planning to replace wgconfig(8) and wg-keygen(8) by one wg(8)
tool compatible with wireguard-tools; update wg(4) for the minor
changes from the 2018-06-30 spec to the 2020-06-01 spec; &c. This just
clarifies the current state of affairs as it exists in the development
tree for now.

Mark the man page EXPERIMENTAL for extra clarity.


# 1.906 24-Aug-2020 riastradh

Restore obsolete entries for make's modorder tests.

These tests were removed a week ago, but their set list entries were
removed rather than marked obsolete.


# 1.905 24-Aug-2020 martin

Backout previous, commiter was dazed and confused


# 1.904 24-Aug-2020 martin

Add modorder* make unit test files


# 1.903 23-Aug-2020 rillig

make(1): add tests for numeric comparisons in .if directives


# 1.902 23-Aug-2020 rillig

make(1): add test for the newly added .SHELL variable


# 1.901 22-Aug-2020 rillig

make(1): add test for expanding wildcards in directories

This test covers DirExpandInt.


# 1.900 22-Aug-2020 rillig

make(1): add test for assigning to the variable named ""

This has been possible at least since 2013, probably much longer.


# 1.899 22-Aug-2020 rillig

make(1): add test for deferred variable expansion in dependencies


# 1.898 22-Aug-2020 rillig

make(1): add test for the special "..." in shell commands


# 1.897 22-Aug-2020 rillig

make(1): add test for combining :: and .USEBEFORE


# 1.896 20-Aug-2020 riastradh

[ozaki-r] Add wg files


# 1.895 20-Aug-2020 rillig

make(1): add test for parsing functions in .if conditions


# 1.894 18-Aug-2020 nakayama

Quoted from the top of the file:
# Note: don't delete entries from here - mark them as "obsolete" instead.


# 1.893 18-Aug-2020 perseant

Add skipped test for in-kernel roll-forward agent


# 1.892 16-Aug-2020 rillig

make(1): move tests for the :Ox modifier into separate file

The test has been extended by ensuring that the shuffled words are still
the same. Comparing two shuffled lists is probabilistic, but comparing
their sorted results is not, therefore that's completely sensible to do.

When writing this test, by coincidence I discovered how to generate the
"Undefined variable" error message. Unfortunately, the error message is
wrong since the variable NUMBERS is defined at that point. In summary,
that error message is shown when it shouldn't, and when it should it is
not shown. Still, I'm glad that I finally found it.


# 1.891 16-Aug-2020 rillig

make(1): move tests for the :M modifier into separate files

The test for the different escaping has been adjusted to actually show
the different parsing results in the test output. To do this, it had to
get its own file since it needs the -dv debug flag and specialized
post-processing.


# 1.890 16-Aug-2020 rillig

make(1): add dummies for fine-grained tests, one per single feature

The test names have been derived from the current manual page.

All these tests are dummies right now, and the code from the existing
tests will be moved into the new tests step by step.

This is done to prevent modmisc, escape, varmod-edge and varmisc from
growing without any bounds, and to reduce the side-effects of one test
to the others.


# 1.889 14-Aug-2020 riastradh

New system call getrandom() compatible with Linux and others.

Three ways to call:

getrandom(p, n, 0) Blocks at boot until full entropy.
Returns up to n bytes at p; guarantees
up to 256 bytes even if interrupted
after blocking. getrandom(0,0,0)
serves as an entropy barrier: return
only after system has full entropy.

getrandom(p, n, GRND_INSECURE) Never blocks. Guarantees up to 256
bytes even if interrupted. Equivalent
to /dev/urandom. Safe only after
successful getrandom(...,0),
getrandom(...,GRND_RANDOM), or read
from /dev/random.

getrandom(p, n, GRND_RANDOM) May block at any time. Returns up to n
bytes at p, but no guarantees about how
many -- may return as short as 1 byte.
Equivalent to /dev/random. Legacy.
Provided only for source compatibility
with Linux.

Can also use flags|GRND_NONBLOCK to fail with EWOULDBLOCK/EAGAIN
without producing any output instead of blocking.

- The combination GRND_INSECURE|GRND_NONBLOCK is the same as
GRND_INSECURE, since GRND_INSECURE never blocks anyway.

- The combinations GRND_INSECURE|GRND_RANDOM and
GRND_INSECURE|GRND_RANDOM|GRND_NONBLOCK are nonsensical and fail
with EINVAL.

As proposed on tech-userlevel, tech-crypto, tech-security, and
tech-kern, and subsequently adopted by core (minus the getentropy part
of the proposal, because other operating systems and participants in
the discussion couldn't come to an agreement about getentropy and
blocking semantics):

https://mail-index.netbsd.org/tech-userlevel/2020/05/02/msg012333.html


# 1.888 09-Aug-2020 rillig

make(1): add test for .USE combined with inference rule without commands

Discovered by christos.


# 1.887 09-Aug-2020 rillig

make(1): add test for non-obvious .MAKE.EXPORTED edge case


# 1.886 07-Aug-2020 rillig

make(1): add test for exporting variables


# 1.885 06-Aug-2020 rillig

make(1): add test for unintended "recursive variable" in -dL mode


# 1.884 03-Aug-2020 rillig

make(1): in lint mode, disallow dynamic variable names in :@ modifier

This is an extremely obscure feature that hopefully nobody ever
considered using.


# 1.883 02-Aug-2020 rillig

make(1): add test for nested VAR_SUBST assignments


# 1.882 31-Jul-2020 rillig

make(1): add test for braces in dependency lines

The comment at DirExpandCurly says something about "recursively", but the
nested braces don't work.

The manual page only mentions that "{} may be used", but it keeps quiet
about the exact meaning and also doesn't mention any nesting.


# 1.881 28-Jul-2020 rillig

make(1): add test for setting .OBJDIR via the command line


# 1.880 27-Jul-2020 rillig

make(1): add tests for parsing directives like .if and .info


# 1.879 27-Jul-2020 rillig

make(1): add very basic test for archive handling

The whole code in arch.c had been uncovered by tests before.

The code coverage shows that neither the archive name nor the member
contain any $, even though archive.mk looks like it. It could be
necessary to place the variable assignments below the dependency line,
to force late evaluation.


# 1.878 26-Jul-2020 rillig

make(1): add test for off-by-one error in Var_Parse


# 1.877 26-Jul-2020 riastradh

Another /usr/libdata/usr/tests/sys/crypto/chacha set list entry.

(Why do we need this here _and_ in debug/mi?)


# 1.876 25-Jul-2020 riastradh

Add kernel ChaCha test to exercise all available implementations.


# 1.875 25-Jul-2020 rillig

make(1): add newly added unit tests


# 1.874 17-Jul-2020 kamil

Add ppoll() a compatibility wrapper around pollts(2)

Submitted by Apurva Nandan.


# 1.873 06-Jul-2020 christos

new mapped test.


# 1.872 03-Jul-2020 jruoho

Add a check for PR bin/54692.


# 1.871 03-Jul-2020 jruoho

Add a check for the overflow noted in PR lib/46542.


# 1.870 01-Jul-2020 jruoho

Add basic checks for magic symlink(7)'s. These include a case for PR lib/55361,
although it seems that realpath(3) has bigger problems with these symlinks.


# 1.869 01-Jul-2020 jruoho

Add basic checks for a64l(3), l64a(3), and l64a_r(3).


# 1.868 30-Jun-2020 lukem

fix sets for MKKYUA


# 1.867 30-Jun-2020 riastradh

New test sys/crypto/aes/t_aes.

Runs aes_selftest on all kernel AES implementations supported on the
current hardware, not just the preferred one.


# 1.866 30-Jun-2020 jruoho

After a comedy of errors, move t_mbtowc to its final resting place.


# 1.865 30-Jun-2020 jruoho

Check that DTrace's execsnoop and opensnoop work (cf. PR kern/53417).


# 1.864 30-Jun-2020 jruoho

Add a couple of tests for sequential ifconfig(8) options, incl. PR kern/41912.


# 1.863 29-Jun-2020 riastradh

New cgd cipher adiantum.

Adiantum is a wide-block cipher, built out of AES, XChaCha12,
Poly1305, and NH, defined in

Paul Crowley and Eric Biggers, `Adiantum: length-preserving
encryption for entry-level processors', IACR Transactions on
Symmetric Cryptology 2018(4), pp. 39--61.

Adiantum provides better security than a narrow-block cipher with CBC
or XTS, because every bit of each sector affects every other bit,
whereas with CBC each block of plaintext only affects the following
blocks of ciphertext in the disk sector, and with XTS each block of
plaintext only affects its own block of ciphertext and nothing else.

Adiantum generally provides much better performance than
constant-time AES-CBC or AES-XTS software do without hardware
support, and performance comparable to or better than the
variable-time (i.e., leaky) AES-CBC and AES-XTS software we had
before. (Note: Adiantum also uses AES as a subroutine, but only once
per disk sector. It takes only a small fraction of the time spent by
Adiantum, so there's relatively little performance impact to using
constant-time AES software over using variable-time AES software for
it.)

Adiantum naturally scales to essentially arbitrary disk sector sizes;
sizes >=1024-bytes take the most advantage of Adiantum's design for
performance, so 4096-byte sectors would be a natural choice if we
taught cgd to change the disk sector size. (However, it's a
different cipher for each disk sector size, so it _must_ be a cgd
parameter.)

The paper presents a similar construction HPolyC. The salient
difference is that HPolyC uses Poly1305 directly, whereas Adiantum
uses Poly1395(NH(...)). NH is annoying because it requires a
1072-byte key, which means the test vectors are ginormous, and
changing keys is costly; HPolyC avoids these shortcomings by using
Poly1305 directly, but HPolyC is measurably slower, costing about
1.5x what Adiantum costs on 4096-byte sectors.

For the purposes of cgd, we will reuse each key for many messages,
and there will be very few keys in total (one per cgd volume) so --
except for the annoying verbosity of test vectors -- the tradeoff
weighs in the favour of Adiantum, especially if we teach cgd to do
>>512-byte sectors.

For now, everything that Adiantum needs beyond what's already in the
kernel is gathered into a single file, including NH, Poly1305, and
XChaCha12. We can split those out -- and reuse them, and provide MD
tuned implementations, and so on -- as needed; this is just a first
pass to get Adiantum implemented for experimentation.


# 1.862 28-Jun-2020 rillig

make(1): demonstrate bug when evaluating conditions


# 1.861 27-Jun-2020 jruoho

Add also a test that writes random garbage to every ifconfig(8) option that
takes parameters. Based on quick testing, iwn(4) and wm(4) pass, but
urtwn(4) panics. Use at your own risk; in some cases, it may be possible
that horrors are written directly to the hardware.


# 1.860 27-Jun-2020 jruoho

Add t_t_mbtowc.


# 1.859 27-Jun-2020 jruoho

Move the test for mktemp(3) to the right place.


# 1.858 27-Jun-2020 jruoho

Add a simple test case that writes random garbage to (almost) every sysctl node.
This test reproduced already at least five unique panics in a few quick runs.
The test is skipped by default as it is not likely safe even without the panics.


# 1.857 27-Jun-2020 jruoho

Add a basic test for enabling/disabling network interface capabilities.


# 1.856 27-Jun-2020 jruoho

Add a test case for PR kern/53767.


# 1.855 27-Jun-2020 jruoho

Add test cases for different 802.11 options. These include cases for
PR kern/35045, PR kern/45745, and PR kern/55424.


# 1.854 25-Jun-2020 jruoho

Test creating thousands of bridge(4)'s. Unlike with tap(4) (PR kern/55417),
this test succeeeds. It is even possible to have the ultimate ifconfig(8)
output with more than 65,000 devices.


# 1.853 25-Jun-2020 jruoho

Verify that PR kern/52150 is no longer present.


# 1.852 25-Jun-2020 jruoho

Add a test case for PR kern/52744, which no longer appears to be present.


# 1.851 25-Jun-2020 jruoho

Add a test case for kern/52771.


# 1.850 25-Jun-2020 jruoho

Add a test case for PR kern/53410.


# 1.849 25-Jun-2020 jruoho

Add test cases for PR kern/53546 and PR kern/55417. Both are skipped as
both reproduce panics.


# 1.848 24-Jun-2020 jruoho

Check that fstat(1) works (cf. PR kern/55407).


# 1.847 24-Jun-2020 jruoho

Add a few checks for stdethers(8) and stdhosts(8).


# 1.846 24-Jun-2020 jruoho

Add few basic tests for cpuctl(8). These cover PR kern/45117 and PR bin/54220.
Though, the former is not explicitly tested as it hangs the system.


# 1.845 24-Jun-2020 jruoho

Add a test case for bin/54620.


# 1.844 24-Jun-2020 jruoho

Add a test case for PR bin/55389.


# 1.843 12-Jun-2020 roy

Remove in-kernel handling of Router Advertisements

This is much better handled by a user-land tool.
Proposed on tech-net here:
https://mail-index.netbsd.org/tech-net/2020/04/22/msg007766.html

Note that the ioctl SIOCGIFINFO_IN6 no longer sets flags. That now
needs to be done using the pre-existing SIOCSIFINFO_FLAGS ioctl.

Compat is fully provided where it makes sense, but trying to turn on
RA handling will obviously throw an error as it no longer exists.

Note that if you use IPv6 temporary addresses, this now needs to be
turned on in dhcpcd.conf(5) rather than in sysctl.conf(5).


# 1.842 06-Jun-2020 thorpej

Improvements to the problib(3) API:

==> Provide a much more complete set of setters and getters for different
value types in the prop_array_util(3) and prop_dictionary_util(3)
functions.

==> Overhaul the prop_data(3), prop_number(3), and prop_string(3) APIs
to be easier to use and less awkwardly named, Deprecate the old
awkward names, and produce link-time warnings when they are referenced.

==> Deprecate mutable prop_data(3) and prop_string(3) objects. The old
APIs that support them still exist, but will now produce link-time
warnings when used.

==> When the new prop_string(3) API is used, strings are internally
de-duplicated as a memory footprint optimization.

==> Provide a rich set of bounds-checked gettter functions in and a
corresponding set of convenience setters in the prop_number(3) API.

==> Add a new prop_bool_value(3) function that is equivalent to
prop_bool_true(3), but aligned with the new "value" routines in
prop_data(3), prop_string(3), and prop_number(3).


# 1.841 17-May-2020 rillig

usr.bin/make: demonstrate actual behavior of .INCLUDEDFROMFILE


# 1.840 10-May-2020 rillig

usr.bin/make: add tests for surprising dollar removal


# 1.839 30-Apr-2020 ryo

Add a test for sigaltstack(2) and SA_ONSTACK


# 1.838 29-Apr-2020 rillig

usr.bin/make: add test case for lazy conditions


# 1.837 26-Apr-2020 thorpej

Add a NetBSD native futex implementation, mostly written by riastradh@.
Map the COMPAT_LINUX futex calls to the native ones.


Revision tags: phil-wifi-20200421
# 1.836 19-Apr-2020 maxv

Add tests for USER_LDT.


Revision tags: phil-wifi-20200411
# 1.835 11-Apr-2020 christos

Add new t_extattr


Revision tags: phil-wifi-20200406
# 1.834 09-Mar-2020 christos

wrong test name


# 1.833 08-Mar-2020 mgorny

Add tests for missing libc catalog entries


# 1.832 08-Mar-2020 christos

new test for ifconfig


# 1.831 06-Mar-2020 kamil

Add new ptrace(2) test file

t_ptrace_sigchld - for SIGCHLD handler + ptrace(2).

Right now a single test is enabled (raise(SIGKILL)) and marked as failed
as it never finishes as the child is never collected before exiting the
parent uninterested about its child (SA_NOCLDWAIT).


Revision tags: is-mlppp-base
# 1.830 11-Feb-2020 isaki

Add ATF tests for audio(4).

91 passed test cases
0 failed test cases.
0 expected failed test cases.
62 skipped test cases.

There are many skipped tests, because the test itself supports full-
duplex, half-duplex and uni-directional devices but pad(4) used in ATF
tests is uni-directional device.


# 1.829 11-Feb-2020 riastradh

Test that fpu state is preserved by fork.


# 1.828 18-Jan-2020 kre

Move recently added .debug files from tests/mi to debug/mi (with all the
others) and while so doing, give them the "debug" attribute.

While here, sort.


# 1.827 17-Jan-2020 christos

fix names of debug files and missing directories


# 1.826 17-Jan-2020 christos

remove trailing ,


# 1.825 17-Jan-2020 christos

Add libarchive tests


# 1.824 03-Dec-2019 hikaru

Add HMAC-SHA-{256,384,512} test cases.


# 1.823 30-Nov-2019 pgoyette

Add the new unit-tests for make(1) to the sets list, fixing the build.


Revision tags: phil-wifi-20191119
# 1.822 05-Oct-2019 jhigh

adding full scheme comparison to libcrypt:crypt and pwhash tests


# 1.821 15-Sep-2019 christos

fexecve(2) related additions.


# 1.820 15-Sep-2019 christos

add t_fcntl


# 1.819 18-Aug-2019 kamil

Add ATF c and c++ tests for TSan, MSan, libFuzzer

These tests require Clang/LLVM 7 or newer on NetBSD.

Contributed by Yang Zheng during GSoC 2018.


Revision tags: netbsd-9-base
# 1.818 28-Jul-2019 christos

branches: 1.818.2;
add new wcsrtombs test


# 1.817 20-Jun-2019 isaki

Rewrite t_pad test.
Previous version compared the pad's output binary passed mulaw-slinear
conversion and frequency conversion with the prepared "good result".
In such case, a test may fail when the implemantation changes. In fact,
the frequency conversion algorithm was changed in isaki-audio2, so
output waveforms is not completely the same (but that's no problem with
the audio waveforms).
New version uses slinear_le/2ch/44100Hz input data and compares the
output binary with the input data. pad with no conversions should
output the same binary.
Fix PR kern/54187.


Revision tags: phil-wifi-20190609
# 1.816 07-Jun-2019 christos

new origin test


# 1.815 01-Jun-2019 kamil

Add ATF KERN_PROC_CWD tests


# 1.814 26-May-2019 christos

sort.


# 1.813 26-May-2019 hannken

Add entries for the recent tests/lib/libcurses commit.


# 1.812 26-Apr-2019 maya

Add a test case for signbit.
(paranoia prior to a libm change)


# 1.811 24-Apr-2019 kamil

Add a complete C11 threads(3) implementation

C11 Thread support library is a portable threading C API between OSs,
similar to std::threads in the C++ world.

The library is implemented as a thin shim over POSIX interfaces.

NetBSD implements the API as a part of the POSIX threading library
(libpthread(3)).

C11 threads(3) are in the process of making them an integral part
of the POSIX standard. The interface has been implemented in major
OSs and used with stopgap libraries for older versions of them.

C11 threading library is already used (with a stopgap implementation)
in the NetBSD distribution in MESA.

Original implementation by myself from 2016.

ATF tests are new and cover almost all interfaces.

Proposed on tech-userlevel@.


# 1.810 04-Apr-2019 kamil

Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.


# 1.809 26-Feb-2019 isaki

Add ATF tests for __sync_* functions instead of all_sync_ops_linkable.c


# 1.808 18-Feb-2019 rin

Belatedly add debugging symbols for t_atomic_*.


# 1.807 17-Feb-2019 isaki

Add ATF tests for atomic_ops(3).


# 1.806 09-Feb-2019 mrg

add new t_libgomp test.


# 1.805 03-Feb-2019 thorpej

Implement support for "pshared" POSIX semaphores.

Fixes lib/53273 (and Firefox's multi-process tab feature).


Revision tags: pgoyette-compat-20190127
# 1.804 25-Jan-2019 christos

PR/53908: Alex Raschi: Test that require modules belong in modules; move the
threadpool test from kernel to modules.


Revision tags: pgoyette-compat-20190118
# 1.803 17-Jan-2019 knakahara

Add ATF for ipsecif(4) pfil.


# 1.802 27-Dec-2018 christos

initfini_array test


Revision tags: pgoyette-compat-1226
# 1.801 25-Dec-2018 knakahara

Add ATF for NAT-T enabled ipsecif(4).


# 1.800 24-Dec-2018 thorpej

Add rump-based test cases for threadpool(9).


# 1.799 24-Dec-2018 thorpej

Add threadpool(9), an abstraction that provides shared pools of kernel
threads running at specific priorities, with support for unbound pools
and per-cpu pools.

Written by riastradh@, and based on the May 2014 draft, with a few changes
by me:
- Working on the assumption that a relative few priorities will actually
be used, reduce the memory footprint by using linked lists, rather than
2 large (and mostly empty) tables. The performance impact is essentially
nil, since these lists are consulted only when pools are created (and
destroyed, for DIAGNOSTIC checks), and the lists will have at most 225
entries.
- Make threadpool job object, which the caller must allocate storage for,
really opaque.
- Use typedefs for the threadpool types, to reduce the verbosity of the
API somewhat.
- Fix a bunch of pool / worker thread / job object lifecycle bugs.

Also include an ATF unit test, written by me, that exercises the basics
of the API by loading a kernel module that exposes several sysctls that
allow the ATF test script to create and destroy threadpools, schedule a
basic job, and verify that it ran.

And thus NetBSD 8.99.29 has arrived.


# 1.798 23-Dec-2018 jakllsch

Make the /usr/tests/lib/libnvmm directory and testing framework files MI.

Should fix non-amd64 build.


# 1.797 23-Dec-2018 jakllsch

further build fixes


# 1.796 05-Dec-2018 kre

Add a new test program to test the "intermediate" shell built in
utilities. That is, not the low level ones that look like syntax,
but aren't: break/continue/return; not those which are really
just external programs that are built in for efficiency (printf,
test, and kill - though kill really needs to be built in) - those
should all have separate test programs (there is a test here for the
built-in echo, as that is an entirely different thing to /bin/echo);
and also not those for which there are other tests because of the
nature of the built-in (like exit, wait, shift, ...). Lastly not
"times" either as that just seems to be too hard to test rationally.

There is a test (well, framework) for ulimit and there's also t_ulimit.sh
one of those should go, but I am not yet sure which is the best way
to reconcile things.

Note: many (in fact) most of the test cases added here are either
entirely empty (no tests at all, beyond testing that the built-in is
in fact a shell built-in) or only very rudimentary tests - assistance
in fleshing those out would be welcome (the boilerplate is all here,
all that is needed is some actual tests to run...)


Revision tags: pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930
# 1.795 23-Sep-2018 christos

merge openssl-1.1.1


Revision tags: pgoyette-compat-0906
# 1.794 05-Sep-2018 kre

Add ATF tests for printf(1)

Two new test programs, one for the version of printf in /bin/sh
and one for the command /usr/bin/printf (t_builtin and t_command)

Each test program has 28 test cases (the same in each) of which
currently 27 pass, and 1 is skipped.

See the test scripts themselves for more information.


# 1.793 21-Aug-2018 christos

add new tests, sort


# 1.792 06-Aug-2018 msaitoh

s/t_ifnametoindex/t_if_nametoindex/


# 1.791 06-Aug-2018 msaitoh

Add simple test case for if_nametoindex(3).


# 1.790 03-Aug-2018 kamil

Register micro-UBSan ATF tests in the distribution

Populate distrib files, mtree lists and add the entry in Makefile to
include the new code.


Revision tags: pgoyette-compat-0728
# 1.789 10-Jul-2018 kre

Add tests for pattern matching (filename expansion (glob), case statement
patterns, and variable expansion substring matching)

Currently (2018-07-10) all 3 sub-tests fail (sh bugs...)
Expect to see 14 (of 261) case matching sub-tests fail, 11 (of 167) filename
expansion (glob) sub-tests fail, and 6 (of 87) var substring sub-tests fail.

Also expect those numbers to reduce as sh bugs are fixed.


Revision tags: phil-wifi-base pgoyette-compat-0625
# 1.788 20-Jun-2018 maya

branches: 1.788.2;
Add test case for PR lib/50646.

Make sure that cabsl (aka __c99_cabsl) is usable from C++.


# 1.787 15-Jun-2018 yamaguchi

Add if_vlan directory to lists to fix the build failure

build.sh was failed when using "-V MKDEBUG=yes"


# 1.786 14-Jun-2018 yamaguchi

Add test cases for multicast address handling of vlan(4)

ok ozaki-r@


# 1.785 25-May-2018 martin

Add new test program


# 1.784 24-May-2018 christos

add new tests


Revision tags: pgoyette-compat-0521
# 1.783 18-May-2018 kamil

Add new ATF tests: t_fork and t_vfork

Test behavior of raise(signal) in either fork(2)ed or vfork(2)ed child.

Tests:
- raise1 SIGKILL
- raise2 SIGSTOP
- raise3 SIGTSTP
- raise4 SIGTTIN
- raise5 SIGTTOU
- raise6 SIGABRT
- raise7 SIGHUP
- raise8 SIGCONT

t_vfork:raise2 fails ignoring non-maskable SIGSTOP.

The remaining ones pass.

Sponsored by <The NetBSD Foundation>


# 1.782 02-May-2018 kamil

Add new ATF Undefined Behavior Sanitizer tests

Add new cc and c++ tests to check whether UBSan works.
These tests are prepared for GCC (in base) and Clang (with external patches).

Enable these tests for all ports by default, just verify whether we are
using GCC/Clang or a compatible compiler.

Add five equivalent C and C++ tests:
- Integer addition overflow
- Integer divide by zero
- Integer negation overflow
- Integer subtraction overflow
- VLA out of bounds

All tests pass on NetBSD/amd64.

Patch submitted by <Harry Pantazis>
Minor cleanup by <myself>


Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415
# 1.781 11-Apr-2018 kamil

Import new C and C++ ATF tests for ASan

Add new tests:
- tests/usr.bin/cc/t_asan_poison.sh
- tests/usr.bin/c++/t_asan_poison.sh

These tests verify the following build options:
- regular
- profile
- pic
- pie
- compat32
- (static unsupported)

These tests verify whether ASan code can include compiler and sanitizer
specific header: <sanitizer/asan_interface.h>. The testing code checks
the ASAN_POISON_MEMORY_REGION() functionality, poisoning valid memory and
asserting that it triggers expected failure.

Patch submitted by <Siddharth Muralee>


Revision tags: pgoyette-compat-0407
# 1.780 04-Apr-2018 kamil

Add new ATF tests for Address Sanitzier (ASan)

Add new C and C++ tests:
- t_asan_double_free
- t_asan_global_buffer_overflow
- t_asan_heap_overflow
- t_asan_off_by_one
- t_asan_uaf

Each tests checks:
- regular build
- 32-bit
- PIC
- PIE
- profile

These tests require paxctl(8) to disable ASLR in order to work in a
predictable way. This is especially true for all !regular builds with
additional compiler flags.

There are no static variations of these tests as this mode is not supported
in upstream ASan.

Enable these tests on amd64 and i386.

Patch submitted by <Siddharth Muralee>
Additional polishing by myself.


# 1.779 04-Apr-2018 kamil

Sort files in usr/tests/usr.bin/c++/

No functional change intended.


Revision tags: pgoyette-compat-0330
# 1.778 24-Mar-2018 kamil

Add new C++ ATF tests

Add new variations for existing C++ tests:
- Static
- Profile+32-bit
- PIC+32-bit
- PIC+Profile
- PIC+Profile+32-bit

All tests pass for NetBSD/amd64:
- t_cxxruntime
- t_hello
- t_static_destructor

+--------------------------------------------------------------+
| Options | cxxruntime | hello | static_destructor |
+--------------------------------------------------------------+
| None | Passed | Passed | Passed |
| 32-bit | Passed | Passed | Passed |
| PIC | Passed | Passed | Passed |
| PIE | Passed | Passed | Passed |
| Profile | Passed | Passed | Passed |
| Static | Passed | Passed | Passed |
| Profile+32-bit | Passed | Passed | Passed |
| PIC+32-bit | Passed | Passed | Passed |
| PIC+Profile | Passed | Passed | Passed |
| PIC+Profile+32-bit | Passed | Passed | Passed |
+--------------------------------------------------------------+

Add new C++11 std::call_once tests:
- t_call_once
- t_call_once2

Add new C++11 test with pthread_once(3) and C++ lambda:
- t_pthread_once

All tests with the profile option for std::call_once and
pthread_once(3) are marked as expected failure (NetBSD/amd64).

Results for *_once*:
+------------------------------------------------------------+
| Options | call_once | call_once2 | pthread_once |
+------------------------------------------------------------+
| None | Passed | Passed | Passed |
| 32-bit | Passed | Passed | Passed |
| PIC | Passed | Passed | Passed |
| PIE | Passed | Passed | Passed |
| Profile | Failed | Failed | Failed |
| Static | Passed | Passed | Passed |
| Profile+32-bit | Failed | Failed | Failed |
| PIC+32-bit | Passed | Passed | Passed |
| PIC+Profile | Failed | Failed | Failed |
| PIC+Profile+32-bit | Failed | Failed | Failed |
+------------------------------------------------------------+

Long term there is an option to refacotr the framework for C and C++ tests,
in order to reduce code duplication.

Patches sent by Yang Zheng <tomsun.0.7@gmail.com>


Revision tags: pgoyette-compat-0322 pgoyette-compat-0315
# 1.777 14-Mar-2018 kamil

Add new ATF tests: kernel/t_zombie

New tests attempting to kill, stop, drop or revive a zombie:
- signal1 (SIGKILL)
- signal2 (SIGSTOP)
- signal3 (SIGABRT)
- signal4 (SIGHUP)
- signal5 (SIGCONT)

New test race1 verifying whether there are any kernel races when processing
signals to zombies, executing in a loop for 5 seconds.

These tests were inspired by a kernel unexpected behavior when a lookup
of a dying process could result in two detected entities once as an alive
process and once as a zombie.

race1 is similar to t_ptrace_wait* race1, however without ptrace(2) involved.

Sponsored by <The NetBSD Foundation>


# 1.776 09-Mar-2018 joerg

Add ifunc support for statically linked applications on x86, ppc, sparc
and ARM.


Revision tags: pgoyette-compat-base
# 1.775 22-Feb-2018 martin

branches: 1.775.2;
PR lib/53044: remove tests not provided by OpenSSL 1.1.x


# 1.774 11-Feb-2018 christos

Add obsolete lines for the gcc-5 and openssl-1.0 lines for systems that have
installed gcc-6 and openssl-1.1. Requested by wiz@


# 1.773 08-Feb-2018 christos

add openssl to the list of selectable variables for sets and fix the sets.


# 1.772 10-Jan-2018 knakahara

add ipsec(4) interface ATF.


# 1.771 10-Dec-2017 christos

new tests


# 1.770 08-Dec-2017 christos

make _lwp_park return the remaining time to sleep in the "ts" argument
if it is a relative timestamp, as discussed in tech-kern.
XXX: pullup-8


# 1.769 07-Dec-2017 christos

new test for trapsignal


# 1.768 06-Dec-2017 christos

add interp test.


# 1.767 19-Nov-2017 martin

ATF test program for PR kern/52738: check for mtime updates after rewriting
a file.


# 1.766 01-Nov-2017 martin

Add ./usr/libdata/debug/usr/tests/net/ipsec


# 1.765 30-Oct-2017 ozaki-r

Add test cases of NAT-T (transport mode)

A small C program is added to make a special socket (UDP_ENCAP_ESPINUDP)
and keep it to handle UDP-encapsulated ESP packets.


# 1.764 02-Oct-2017 pgoyette

Add new LIST_MOVE test to sets list.


# 1.763 29-Sep-2017 maya

Add simple test for workqueue(9)


# 1.762 20-Sep-2017 ozaki-r

Add tests of rtcache invalidation


# 1.761 16-Aug-2017 joerg

Add missing strfmon_l. Noticed by Bruno Haible. Add test case.


# 1.760 10-Aug-2017 ryo

Add support IP_PKTINFO for sendmsg(2).

The source address or output interface can be specified by adding IP_PKTINFO
to the control part of the message on a SOCK_DGRAM or SOCK_RAW socket.

Reviewed by ozaki-r@ and christos@. thanks.


# 1.759 02-Aug-2017 ozaki-r

Add test cases for setsockopt(IP_IPSEC_POLICY)


# 1.758 23-Jul-2017 perseant

Add missing setlist entries for DUCET collation test.


Revision tags: perseant-stdc-iso10646-base
# 1.757 18-Jul-2017 ozaki-r

branches: 1.757.2;
Separate test files


# 1.756 14-Jul-2017 perseant

Add a simple collation test. This test is expected to fail on HEAD since
we do not yet have a working implementation of wcscoll.


# 1.755 11-Jul-2017 joerg

Implement __cxa_thread_atexit and __cxa_thread_atexit_impl. This
functions are used for destructors of thread_local objects.

If a pending destructor exists, prevent unloading of shared objects.
Introduce __dl_cxa_refcount interface for this purpose. When the last
reference is gone and the object has been dlclose'd before, the
unloading is finalized.

Ideally, __cxa_thread_atexit_impl wouldn't exist, but libstdc++ insists
on providing __cxa_thread_atexit as direct wrapper without further
patching.


# 1.754 03-Jul-2017 ozaki-r

Add test cases for IPComp


# 1.753 09-Jun-2017 knakahara

add tests of ioctl for /dev/crypto


Revision tags: netbsd-8-base
# 1.752 01-Jun-2017 perseant

branches: 1.752.2;
Add tests for btowc(3)/wctob(3) and enable compilation of the test for
digittoint(3).

The digittoint(3) test is skipped since we don't provide that function yet.

One of the test cases for btowc(3) is also skipped, since it tests conversion
to Unicode---whereas our wchar_t representation is locale-dependent.


# 1.751 31-May-2017 perseant

Add new locale tests to distrib sets, thanks pgoyette@ for the reminder


# 1.750 30-May-2017 pgoyette

Add the new t_toupper to unbreak the build


# 1.749 27-May-2017 bouyer

merge the bouyer-socketcan branch to HEAD.

CAN stands for Controller Area Network, a broadcast network used
in automation and automotive fields. For example, the NMEA2000 standard
developped for marine devices uses a CAN network as the link layer.

This is an implementation of the linux socketcan API:
https://www.kernel.org/doc/Documentation/networking/can.txt
you can also see can(4).

This adds a new socket family (AF_CAN) and protocol (PF_CAN),
as well as the canconfig(8) utility, used to set timing parameter of
CAN hardware. Also inclued is a driver for the CAN controller
found in the allwinner A20 SoC (I tested it with an Olimex lime2 board,
connected with PIC18-based CAN devices).

There is also the canloop(4) pseudo-device, which allows to use
the socketcan API without CAN hardware.

At this time the CANFD part of the linux socketcan API is not implemented.
Error frames are not implemented either. But I could get the cansend and
canreceive utilities from the canutils package to build and run with minimal
changes. tcpudmp(8) can also be used to record frames, which can be
decoded with etherreal.


# 1.748 26-May-2017 martin

Fix typo


# 1.747 26-May-2017 pgoyette

Add new t_strcol test to the sets list - hopefully fix the build


# 1.746 21-May-2017 riastradh

Remove MKCRYPTO option.

Originally, MKCRYPTO was introduced because the United States
classified cryptography as a munition and restricted its export. The
export controls were substantially relaxed fifteen years ago, and are
essentially irrelevant for software with published source code.

In the intervening time, nobody bothered to remove the option after
its motivation -- the US export restriction -- was eliminated. I'm
not aware of any other operating system that has a similar option; I
expect it is mainly out of apathy for churn that we still have it.
Today, cryptography is an essential part of modern computing -- you
can't use the internet responsibly without cryptography.

The position of the TNF board of directors is that TNF makes no
representation that MKCRYPTO=no satisfies any country's cryptography
regulations.

My personal position is that the availability of cryptography is a
basic human right; that any local laws restricting it to a privileged
few are fundamentally immoral; and that it is wrong for developers to
spend effort crippling cryptography to work around such laws.

As proposed on tech-crypto, tech-security, and tech-userlevel to no
objections:

https://mail-index.netbsd.org/tech-crypto/2017/05/06/msg000719.html
https://mail-index.netbsd.org/tech-security/2017/05/06/msg000928.html
https://mail-index.netbsd.org/tech-userlevel/2017/05/06/msg010547.html

P.S. Reviewing all the uses of MKCRYPTO in src revealed a lot of
*bad* crypto that was conditional on it, e.g. DES in telnet... That
should probably be removed too, but on the grounds that it is bad,
not on the grounds that it is (nominally) crypto.


# 1.745 21-May-2017 riastradh

Remove MKCRYPTO_RC5. Unconditionally include RC5 in libcrypto.so.

This option existed only because RC5 is covered by patents that, twenty
years ago, we had reason to suspect the patent holder, RSA, Inc., might
litigate. The two US patents in question are 5,724,428 and 5,835,600.

According to the USPTO Patent Term Calculator web site at
<https://www.uspto.gov/patent/laws-and-regulations/patent-term-calculator#heading-5>
(retrieved 2017-05-21), patents filed after 1995-06-07 expire twenty
years after the filing date.

number filing date
5,724,428 1995-11-01
5,835,600 1997-04-21

Thus, these patents appear to be expired.

As proposed on tech-crypto and tech-security:

https://mail-index.netbsd.org/tech-crypto/2017/05/05/msg000718.html
https://mail-index.netbsd.org/tech-security/2017/05/05/msg000927.html


# 1.744 20-May-2017 kre

Add a test of sh syntax & parsing (first attempt anyway.)


Revision tags: prg-localcount2-base3
# 1.743 15-May-2017 ozaki-r

Add test cases for SA lifetime


# 1.742 15-May-2017 ozaki-r

Sort


# 1.741 14-May-2017 kamil

Add new ATF C++ tests in usr.bin/c++: t_static_destructor

These tests are cloned from t_cxxruntime and check proper order of destructor
calls. They must be reported in reverse order of constructor completion.

Added tests:
- static_destructor
- static_destructor_pic
- static_destructor_pie
- static_destructor32

This test file replaces src/regress/usr.bin/c++/static_destructor.


# 1.740 14-May-2017 kamil

Add new ATF C++ tests in usr.bin/c++

These tests are cloned from t_hello and use c++ runtime basic functions.

Added tests:
- hello
- hello_pic
- hello_pie
- hello32


# 1.739 14-May-2017 kamil

Add new c++ ATF tests in usr.bin/c++: t_hello

This is a copy of t_hello from usr.bin/cc.

Added tests:
- hello
- hello_pic
- hello_pie
- hello32

These tests do not use c++ runtime library functions.

Protect these tests with MKCXX.


Revision tags: prg-localcount2-base2
# 1.738 10-May-2017 ozaki-r

Test tunnel mode with IPv4 over IPv6 and IPv6 over IPv4


Revision tags: prg-localcount2-base1
# 1.737 27-Apr-2017 ozaki-r

Add test cases for L2TP/IPsec


# 1.736 27-Apr-2017 ozaki-r

Add test cases for gif/IPsec


Revision tags: prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.735 17-Apr-2017 knakahara

branches: 1.735.2;
fix build failure


# 1.734 14-Apr-2017 ozaki-r

Add tests for ipsec

- Check if setkey correctly handles algorithms for AH/ESP
- Check IPsec of transport mode with AH/ESP over IPv4/IPv6
- Check IPsec of tunnel mode with AH/ESP over IPv4/IPv6


# 1.733 03-Apr-2017 kamil

Remove tests/kernel/t_ptrace* from the tree

ptrace(2) tests have been moved to tests/lib/libc/sys

Sponsored by <The NetBSD Foundation>


# 1.732 02-Apr-2017 kamil

Import ptrace(2) tests into appropriate directory tests/lib/libc/sys/

This is the correct directory documented in tests/README for such tests.

Discussed with <martin>

Sponsored by <The NetBSD Foundation>


# 1.731 02-Apr-2017 kamil

Remove kernel/arch/{amd64,i386,x86} tests

These files were merged with kernel/t_ptrace_wait*

This removes MD test files.

Sponsored by <The NetBSD Foundation>


# 1.730 31-Mar-2017 ozaki-r

Add t_ping_opts


# 1.729 22-Mar-2017 jdolecek

add tests for the mount update from rw to rw+log, which used to case the panic
reported in PR kern/52056


Revision tags: pgoyette-localcount-20170320
# 1.728 11-Mar-2017 ozaki-r

Separate tests for learning table of bridge


# 1.727 06-Mar-2017 christos

more lint tests


# 1.726 06-Mar-2017 christos

add new lint test


# 1.725 28-Feb-2017 ozaki-r

Add tests for loopback interface


# 1.724 22-Feb-2017 kamil

Fix build of !x86 ports

Mark debug/usr/tests/kernel/arch/x86 as MI directory.

Sponsored by <The NetBSD Foundation>


# 1.723 21-Feb-2017 kre

PR bin/50934

Add a test program for the bug described in this PR.
This is the first pkill/pgrep/prenice test (more would be good!)

This test has been confirmed to work once the bug described in the PR
has been fixed, so the test is not marked "expected to fail" even
though initially that is what should happen.

Note: the test cana also fail if the system running the tests happens
to be running processes with names that match the patterns searched for
by the test, other than the test program itself. This is expected to be
unlikely.


# 1.722 20-Feb-2017 kamil

Remove tests/lib/libc/gen/exect paths from mtree and sets

The exect tests have been removed from the distribution.

Requested by Thomas Klausner.


# 1.721 16-Feb-2017 knakahara

add l2tp(4) basic test.


# 1.720 11-Feb-2017 nakayama

Redo rev.1.718, remove trash in line end.


# 1.719 09-Feb-2017 christos

put back exect directory; we try to remove it before the files inside it and
we fail.


# 1.718 09-Feb-2017 christos

remove exect test


# 1.717 08-Feb-2017 kamil

libpthread_dbg(3) deletion from the base distribution

libpthread_dbg(3) is a remnant library from the M:N thread model
(pre-NetBSD-5.0) API to introspect threads within a process and for use
of debuggers.

Currently in the 1:1 model it's not used in GDB neither in LLDB and it's
not either planned to be used. It's current function to read pthread_t
structures is realizable within a regular debugger capable to
instrospect objects within a tracee (GDB, LLDB...).

Remaining users of this API can still use this library from
pkgsrc/devel/libpthread_dbg.

Sponsored by <The NetBSD Foundation>


# 1.716 02-Feb-2017 martin

Add test program for PR kern/51762


# 1.715 27-Jan-2017 hannken

Add test for read/write to readonly update mount.


Revision tags: bouyer-socketcan-base
# 1.714 14-Jan-2017 christos

branches: 1.714.2;
add new test file


Revision tags: pgoyette-localcount-20170107
# 1.713 05-Jan-2017 wiz

Tag cleanup: if the last column contains 'obsolete', the one before should too.


# 1.712 02-Jan-2017 martin

Add misising mixerctl file


# 1.711 02-Jan-2017 christos

Add mixerctl tests


# 1.710 19-Dec-2016 maya

adjust set lists for t_fe_round


# 1.709 15-Dec-2016 kre

More sets list sorting (maybe this time they're really all done)


# 1.708 13-Dec-2016 kamil

Add regs1 in arch/i386/t_ptrace_wait*

regs1:
Call PT_GETREGS and iterate over General Purpose registers

Sponsored by <The NetBSD Foundation>


# 1.707 09-Dec-2016 kamil

Attach t_exect to ATF tests and distribution

Add missing SIGTRAP handler. Assert there that the signal is SIGTRAP as
expected and si_code TRAP_TRACE.

This test will break on some ports that have dummy or incomplete
implementation of exect(2).

This test works on amd64 correctly.

Sponsored by <The NetBSD Foundation>


# 1.706 02-Dec-2016 kamil

Refactor location of amd64-specific ATF tests to new dir kernel/arch/amd64

Rename
- tests/kernel/t_ptrace_amd64_wait.c
to
- tests/kernel/arch/amd64/t_ptrace_wait.c
and adapt appropriate files accordingly.

New directory will be used for more amd64-specific tests, verifying the
MD parts of the kernel.

Remove old entries from distrib/sets/lists as they were added a while ago.

Sponsored by <The NetBSD Foundation>


# 1.705 02-Dec-2016 kamil

Fix !amd64 sets

Sponsored by <The NetBS Foundation>


# 1.704 01-Dec-2016 kamil

Add t_ptrace_amd64_wait{,3,4,6,id,pid} tests

Sponsored by <The NetBSD Foundation>


# 1.703 26-Nov-2016 ozaki-r

Add basic tests for vlan(4)


# 1.702 18-Nov-2016 kamil

Add new test file lib/libpthread_dbg/t_threads

This test contains threads1 test that:
Asserts that td_thr_iter() call without extra logic works

This tests fails and is linked with gnats:
PR lib/51635: td_thr_iter in <pthread_dbg.h> seems broken

Sponsored by <The NetBSD Foundation>


# 1.701 16-Nov-2016 kamil

Add new test-suite t_dummy for libpthread_dbg

At the moment this test does nothing except reports failure from td_open()
for overloaded (implemented) dummy1_proc_lookup() (.proc_lookup from
td_proc_callbacks_t) of the following form:

static int
dummy1_proc_lookup(void *arg, const char *sym, caddr_t *addr)
{
return TD_ERR_ERR;
}

This file and directory with tests is placeholder for new ones, without
further need to alter mtree and distribution sets.

The libpthread_dbg interface and library is used by gdb(1) to handle
threads in applications.

Sponsored by <The NetBSD Foundation>


# 1.700 15-Nov-2016 skrll

Fix librefuse falout.... Hi pho


# 1.699 11-Nov-2016 njoly

New clock_nanosleep(2) testcase.


# 1.698 11-Nov-2016 alnsn

Add 3des-cbc tests with 192 bits key.


# 1.697 10-Nov-2016 alnsn

Add t_cgd_blowfish.


# 1.696 07-Nov-2016 kamil

Add new tests for combination of wait(2) interfaces with ptrace(2)

Move out wait(2) specific tests from t_ptrace and put them to t_ptrace_wait

Add generic code fragments to reuse the same source-code for every member
of the wait(2) family, namely:
- wait(2)
- waitpid(2)
- waitid(2)
- wait3(2)
- wait4(2)
- wait6(2)

Currently in the new test-suite there are the following tests:
- traceme1
- traceme2
- traceme3
- traceme4
- attach1

Not all tests are possible to be executed against every wait(2)-like
interface, therefore they will be disabled in such case. Currently this
limits attach1 to waitpid(2), waitid(2), wait4(2), wait6(2), while the
other tests (traceme 1-4) run with all of the interfaces.

The construct of this file is dedicated for addition of new tests in the
close future.

As of now all of the tests pass correctly.

Thanks for Robert Elz for suggestions on improving the code (earlier draft
of this new form).

Sponsored by <The NetBSD Foundation>.


# 1.695 07-Nov-2016 ozaki-r

Add basic tests for IPv6 Path MTU Discovery


# 1.694 06-Nov-2016 alnsn

Add "crypto" category to t_cgd_aes.


# 1.693 06-Nov-2016 kamil

Add new tests: tests/lib/libc/sys/t_wait_noproc and t_wait_noproc_wnohang

The t_wait_noproc test checks whether wait(2)-family of functions return
error and set ECHILD for lack of childs.

The t_wait_noproc_wnohang adds to options (except wait(2), wait3(2)) new
parameter WNOHANG and verifies that error is still signaled and errno set
to ECHILD.

Currently t_wait_noproc_wnohang reports failures, these have been marked as
expected and referenced to PR standards/51606.

The problem report is authored by Robert Elz, and the initial regression
has been notified by Nicolas Joly.

Remove redundant test in tests/lib/libc/sys/t_wait for wait6(2) with no
WNOHANG specified.

Sponsored by <The NetBSD Foundation>.


# 1.692 06-Nov-2016 alnsn

Add tests for not-yet-committed cgd algorithm AES-XTS.

The tests are marked as expected failures.


Revision tags: pgoyette-localcount-20161104
# 1.691 02-Nov-2016 kamil

Add new test t_ptrace with traceme1

This test is a placeholder for further checks of the native ptrace(2)
function calls.

XXX: Is it safe to call ATF functions from a child? FreeBSD seems to
construct dedicated asserts for them.

XXX: printf(3) calls from a child are not intercepted by atf-run(1)

Sponsored by <The NetBSD Foundation>.


# 1.690 31-Oct-2016 ozaki-r

Add tests for ping6 options

- -S <sourceaddr>
- -I <interface>
- -g <gateway>


# 1.689 30-Oct-2016 kamil

Add new test t_timedmutex

This test is a clone on t_mutex with additional two tests for timed-mutex
specific block.

All simple-mutex (not with the timed property according to the C11 wording)
specific tests are covered by pthread_mutex_timedlock(3) with parameter
ts_lengthy of sufficiently large tv_sec value (right now UINT16_MAX). If,
a test will hang, it won't wait UINT16_MAX seconds, but will be terminated
within the default timeout for ATF tests (right now 300 [sec] in my
NetBSD/amd64 setup).

This test was inspired by a classic selflock test failure of
pthread_mutex_timedlock(3) of the following form:

#include <assert.h>
#include <errno.h>
#include <pthread.h>
#include <stdio.h>
#include <time.h>

int main(int argc, char **argv)
{
pthread_mutex_t mtx;
struct timespec ts;

ts.tv_sec = 0;
ts.tv_nsec = 1000;
printf("ts{.tv_sec = %d, .tv_nsec=%ld}\n", ts.tv_sec, ts.tv_nsec);
fflush(stdout);

printf("mtx_init\n");
assert(pthread_mutex_init(&mtx, NULL) == 0);

printf("mtx_lock\n");
assert(pthread_mutex_lock(&mtx) == 0);

printf("mtx_timedlock\n");
assert(pthread_mutex_timedlock(&mtx, &ts) == ETIMEDOUT);

printf("mtx_unlock\n");
assert(pthread_mutex_unlock(&mtx) == 0);

printf("mtx_destroy\n");
assert(pthread_mutex_destroy(&mtx) == 0);

return 0;
}

Current NetBSD implementation wrongly hangs on this test.

The issue was detected during development of the C11 portable threads.

My local tests in chroot presents that the are further issues:

t_timedmutex (21/25): 10 test cases
mutex1: [0.001142s] Failed: /usr/src/tests/lib/libpthread/t_timedmutex.c:75: *param != 20
mutex2: [0.261499s] Passed.
mutex3: [0.261496s] Passed.
mutex4: [0.001204s] Failed: /usr/src/tests/lib/libpthread/t_timedmutex.c:265: pthread_mutex_timedlock(&mutex, &ts_lengthy): Connection timed out
mutex5: [0.001235s] Failed: /usr/src/tests/lib/libpthread/t_timedmutex.c:337: pthread_mutex_timedlock(&mutex5, &ts_lengthy): Connection timed out
mutex6: [21.218497s] Failed: /usr/src/tests/lib/libpthread/t_timedmutex.c:512: start != 1
mutexattr1: [0.001328s] Passed.
mutexattr2: [0.001175s] Passed.
timedmutex1: [301.119397s] Failed: Test case timed out after 300 seconds
timedmutex2: [301.123081s] Failed: Test case timed out after 300 seconds
[623.990659s]

I'm also receiveing the same failure in the mutex6 test in t_mutex, so
there might be a false positives due to local chroot(8) issues.

Commit approved by <christos>.


# 1.688 22-Oct-2016 abhinav

Add tests for uniq(1) based on the example test cases provided in the POSIX man page.
Ok christos


# 1.687 04-Oct-2016 ozaki-r

Add tests for sysctl net.inet.ip.mtudisc

From suzu-ken@IIJ


Revision tags: localcount-20160914
# 1.686 05-Sep-2016 ozaki-r

Add very basic tests for tun devices


# 1.685 31-Aug-2016 maya

Add failing test for casinh


# 1.684 22-Aug-2016 maya

add failing test for PR lib/51427
ilogb(INFINITY)=-INT_MAX, it should be INT_MAX

while here, test raised exceptions, other values.

XXX some platforms don't have exceptions


# 1.683 19-Aug-2016 christos

new lint test


# 1.682 18-Aug-2016 christos

new lint test


# 1.681 14-Aug-2016 jakllsch

tests for sys/dev/clock_subr.c


Revision tags: pgoyette-localcount-20160806
# 1.680 30-Jul-2016 njoly

New getsockname(2) testcase for UNIX domain sockets.


# 1.679 29-Jul-2016 pgoyette

Add files for the new fss(4) test


Revision tags: pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.678 13-Jul-2016 matt

branches: 1.678.2;
Fix libproc compat setting


# 1.677 01-Jul-2016 christos

Add hmac(3)


# 1.676 29-Jun-2016 christos

fix sets for MKCRYPTO=no


# 1.675 16-Jun-2016 pgoyette

Add input/output files for new test case - fix build


# 1.674 21-Apr-2016 ozaki-r

Add tests of route flags using IPv6 addresses


# 1.673 15-Apr-2016 ozaki-r

Add a new test case for PPPoE using PAP

From s-yamaguchi@IIJ (with some tweaks by me)


# 1.672 09-Apr-2016 riastradh

Introduce pserialize-safe linked lists.

These are like LIST_* from queue(3), but issue the appropriate memory
barriers for pserialize readers and writers.

Discussed on tech-kern:

https://mail-index.netbsd.org/tech-kern/2016/04/03/msg020365.html


# 1.671 08-Apr-2016 gson

Add regression tests for some past gdb bugs.


# 1.670 06-Apr-2016 christos

Add wait tests.


# 1.669 20-Mar-2016 christos

Add command substitution test.


# 1.668 16-Mar-2016 christos

Add the shift test


# 1.667 16-Mar-2016 christos

new sh tests


# 1.666 13-Mar-2016 christos

Add new sh test


# 1.665 08-Mar-2016 christos

remove obsolete test


# 1.664 04-Mar-2016 ozaki-r

Add tests for tap(4)


# 1.663 23-Feb-2016 christos

add t_option


# 1.662 22-Feb-2016 christos

new shell test


# 1.661 29-Jan-2016 ozaki-r

Add tests for a gateway not on the local subnet

The tests are derived from the example at
http://www.netbsd.org/docs/network/#nonsubnetgateway ,
which has come up in PR 50717.


# 1.660 25-Jan-2016 jnemeth

Add t_hypot to fix build break. Hi gson!


# 1.659 05-Jan-2016 jakllsch

Add some tests for the kernel HID parser.


# 1.658 01-Jan-2016 jakllsch

tests for libusbhid (many of which fail)


# 1.657 05-Dec-2015 christos

new files


# 1.656 04-Dec-2015 christos

add gpt directory


# 1.655 04-Dec-2015 christos

Add gpt tests


# 1.654 18-Nov-2015 christos

Add new db test.


# 1.653 12-Nov-2015 ozaki-r

Add tests of IPv6 link local address

From s-yamaguchi@IIJ


# 1.652 11-Nov-2015 ozaki-r

Add tests for RA

From s-yamaguchi@IIJ (with some tweaks by me)


# 1.651 05-Nov-2015 knakahara

add basic if_gif tests to ATF.


# 1.650 14-Oct-2015 christos

add new test


# 1.649 07-Oct-2015 ozaki-r

Add tests for assigining/deleting IP addresses

The tests help to find defects related to creation/deletion
of routes/llentries and assigning/deleting of IP addresses.


# 1.648 25-Sep-2015 martin

Try to fix set lists for libproc and librtld_db. The latter is probably
wrong and needs to be redone with COMPATARCHDIRS magic, but I can't
find any documentation how to do it. Matt?


# 1.647 24-Sep-2015 christos

debug for libproc


# 1.646 24-Sep-2015 christos

update for libproc/librtld_db/dtrace changes


# 1.645 14-Sep-2015 ozaki-r

Add tests for IPv6 ICMP redirect

Note that tests for redirect timeout doesn't work for now due to
PR kern/50240.

From s-yamaguchi@IIJ (with some fixes and tweaks by ozaki-r)


# 1.644 31-Aug-2015 ozaki-r

Add tests for ICMP redirect timeout


# 1.643 27-Aug-2015 rjs

Don't make fifofs test depend on rump.


# 1.642 23-Aug-2015 mrg

move the obsolete list files into their respective sets. this means
that if you install a new set and run "postinstall fix obsolete"
the expected things happen.

(hi 12.5 year old me who thought base was better than etc set, which
it really was, but this is better again :-)


# 1.641 10-Aug-2015 mrg

now that we only support gcc 4.8, make all the gcc tags just "gcc".
this should help with next-gcc, when we can add back gcc=48 and
gcc=5x tags, as necessary.


# 1.640 10-Aug-2015 mrg

obsolete and clean up gcc=3 (3.3), gcc=4 (4.1), and gcc=45 (4.5) sets.


# 1.639 06-Aug-2015 ozaki-r

Add basic tests for IPv6 Address Lifetime Expiry


# 1.638 03-Aug-2015 ozaki-r

Add tests for NDP


# 1.637 30-Jul-2015 ozaki-r

Add tests for IPv4 DAD


# 1.636 29-Jul-2015 christos

fix name of the test


# 1.635 29-Jul-2015 christos

new lint test.


# 1.634 29-Jul-2015 ozaki-r

Add tests for ARP


# 1.633 28-Jul-2015 christos

new test


# 1.632 01-Jul-2015 christos

new test


# 1.631 01-Jul-2015 ozaki-r

Add tests of interface creation/destruction


# 1.630 24-Jun-2015 matt

Remove spurious rump from directories


# 1.629 22-Jun-2015 christos

add new db test


# 1.628 22-Jun-2015 matt

Update some of the set lists to use the compatdir/compatfile
compattestsdir/compattestsfile as well the kmod auto-entry creation.
Remove entries that are now instantiated by the above.


# 1.627 27-May-2015 kefren

Add another simple MPLS test but using this time a mixed IPv4/IPv6 LSR
This test encapsulates IPv6 packets, pass them over MPLS to an IPv6
neighbour that switches label and passes forward to an IPv4
neighbour. There, the IPv6 packet is decapsulated and passed to IPv6 stack
For the return path we test both implicit and explicit null encapsulations


# 1.626 27-May-2015 kefren

Add a simple IPv6/MPLS test


# 1.625 26-May-2015 htodd

Revert wrong build fix.


# 1.624 26-May-2015 htodd

Fix debug build.


# 1.623 26-May-2015 ozaki-r

Run mcast tests on rump kernels

The tests on anita qemus failed due to that the host network environment
didn't meet the tests.

The change makes the tests independent from host environments
and the tests will pass on any environments including anita qemus.

Discussed on tech-kern and tech-net.


# 1.622 18-May-2015 ozaki-r

Add tests for route flags


# 1.621 15-May-2015 ozaki-r

Add missing rump flag to net/route test files


# 1.620 13-May-2015 ozaki-r

Add basic tests for IP forwarding


# 1.619 11-May-2015 christos

add new lint test.


# 1.618 05-May-2015 sjg

New unit-test for make


# 1.617 01-May-2015 christos

- new test for strtoi
- namespace protection for strto{i,u}
- separate manpages for strto{i,u} from the ones for strto{u,}l
From: Kamil Rytarowski


# 1.616 09-Apr-2015 ginsbach

Split inet_addr(3) tests from t_inet_network into stand-alone t_inet_addr,
so that t_inet_network only contains tests for inet_network(3).


# 1.615 05-Apr-2015 martin

Add new bind(2) test program


# 1.614 03-Apr-2015 christos

add another lint test


# 1.613 29-Mar-2015 chopps

- Add new tests for -c check flag in resize_ffs


# 1.612 06-Feb-2015 rjs

Fix build when MKRUMP=no.


# 1.611 31-Jan-2015 christos

PR/49617: Kirk Russell: new posix_fallocate test


# 1.610 14-Jan-2015 christos

add vnode kqueue test from PR/48958


# 1.609 06-Jan-2015 mrg

fix MKGCC=no builds.


# 1.608 05-Jan-2015 christos

add in_cksum tests


# 1.607 05-Jan-2015 joerg

Add missing gcccmds tags.


# 1.606 05-Jan-2015 mrg

fix MKGCCCMDS=no, and turn it on by default for sun2.


# 1.605 21-Dec-2014 martin

Add new test program


# 1.604 20-Dec-2014 uebayasi

config(1): Fix test breakage

Now config(1) checks the content of $S/conf/Makefile.kern.inc. Install it
into config(1) test directory to fix test. Noticed by Martin Husemann.


# 1.603 08-Dec-2014 ozaki-r

Add basic tests for ifconf (SIOCGIFCONF)


# 1.602 02-Dec-2014 christos

add new address printing tests.


# 1.601 21-Nov-2014 ozaki-r

Add missing file entries of tests/usr.bin/xlint/lint1

This unbreaks the build.


# 1.600 15-Nov-2014 uebayasi

Merge tests.


# 1.599 14-Nov-2014 uebayasi

Test orphan ELF section placement.


# 1.598 14-Nov-2014 uebayasi

Test __start_xxx/__stop_xxx symbol generation.


# 1.597 14-Nov-2014 uebayasi

Minimal linker script test.


# 1.596 29-Oct-2014 uebayasi

config(1): Check minimal config(1) output files


# 1.595 20-Oct-2014 christos

t_mcast is not a rump test (but should be).


# 1.594 15-Oct-2014 justin

PR standards/49279 add tests for open_memstream, ported from OpenBSD


# 1.593 13-Oct-2014 uebayasi

Sort.


# 1.592 11-Oct-2014 christos

add multicast tests


# 1.591 18-Sep-2014 ozaki-r

Add net/if_bridge test


# 1.590 25-Aug-2014 joerg

Add basic support for indirect functions. It allows providing a public
function symbol with an implementation choosen at run time.
Refactor calls to functions by address in ld.elf_so to create temporary
function descriptors on the stack, if the address is not leaked outside.

Limitations:
- no support for initialising static storage with function pointers
- no support for unnamed resolver functions

Inspired by FreeBSD's r228435 by kib@freebsd.org.


# 1.589 24-Aug-2014 apb

Add tests for backslash escaping in make(1).

Many of these tests fail, and I have populated the escape.exp file with
the results that I expect, not with the results that make(1) actually
produces.

Also update the set lists for these tests.


# 1.588 24-Aug-2014 apb

sort


# 1.587 23-Aug-2014 christos

new make tests


# 1.586 22-Aug-2014 apb

Test make(1) by running the maintained tests, not unmaintained
copies of them.

* Remove all old tests from src/tests/usr.bin/make/d_*. These tests
were unmaintained old copies of the actual tests which are maintained
under src/usr.bin/make/unit-tests. One exception is the test in
d_unmatchedvarparen.mk, which was new, but has nw been added to
src/usr.bin/make/unit-tests/varmisc.mk.
* In src/tests/usr.bin/make/Makefile, copy all
the tests from src/usr.bin/make/unit-tests to
${DESTDIR}/usr/tests/usr.bin/make/unit-tests.
* In src/tests/usr.bin/make/t_make.sh, run the tests installed above,
instead of the old tests.
* In etc/mtree/NetBSD.dist.tests, create the
usr/tests/usr.bin/make/unit-tests diectory.
* Update the set lists for all the above.


# 1.585 22-Aug-2014 apb

sort


Revision tags: netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.584 09-Aug-2014 gson

branches: 1.584.2;
Test that reading a CTLTYPE_INT sysctl variable into a buffer that is
too small returns ENOMEM, and that reading it into a buffer that is
large enough returns the expected sizeof(int) bytes of data.


# 1.583 07-Aug-2014 jmmv

Add missing Kyuafile.


# 1.582 18-Jul-2014 christos

Add t_minherit.


# 1.581 12-Jul-2014 dholland

Mark stray files obsolete (don't just remove them); noted by Paul Goyette.
(hi darrenr)


# 1.580 12-Jul-2014 darrenr

Test n17_6 does not yet exist so remove unrequired files and test case


# 1.579 09-Jul-2014 alnsn

Add t_cop and t_extmem kernel bpfjit tests to the build.


# 1.578 08-Jul-2014 alnsn

Add t_mbuf tests to the build.


# 1.577 07-Jul-2014 alnsn

Add bpf/t_mbuf test to the build.


# 1.576 01-Jul-2014 htodd

Fix build for ipf tests.


# 1.575 30-Jun-2014 alnsn

Add new net/t_bpfjit test.


# 1.574 25-Jun-2014 alnsn

Add new libbpfjit tests.


# 1.573 23-Jun-2014 shm

Add bm(3) tests


# 1.572 16-Jun-2014 joerg

Add modfl(3). From FreeBSD.


# 1.571 31-May-2014 christos

add missing files for dotcmd tests


# 1.570 31-May-2014 christos

new shell tests


# 1.569 15-May-2014 apb

sort


Revision tags: yamt-pagecache-base9
# 1.568 10-May-2014 martin

Add a test case for PR kern/48787.


# 1.567 29-Apr-2014 uebayasi

Minimal execve(2) ATF test.


# 1.566 17-Apr-2014 pgoyette

Reference the correct test file name...

Hello again, xtos!


# 1.565 17-Apr-2014 christos

add new lint tests


# 1.564 06-Apr-2014 christos

add stp*cpy tests.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
# 1.563 08-Feb-2014 jmmv

branches: 1.563.2;
Update file lists for atf 0.19.

This has been tested with both MKKYUA=no (the default) and MKKYUA=yes, as
well as with a non-clean tree and a clean build. Hopefully I got the
details right... but they were tricky!


# 1.562 04-Feb-2014 njoly

Handle another declaration after statement case for lint in c99 mode.
Add the corresponding testcase.


# 1.561 01-Feb-2014 jmmv

Add missing Kyuafile for usr.bin/vmstat tests.


# 1.560 30-Jan-2014 joerg

Add test for uint64 to real long double conversion.


# 1.559 17-Jan-2014 pgoyette

Update sets lists for new h_sha1hmac test program.


# 1.558 15-Jan-2014 martin

Obsolete /usr/tests/opencrypto


# 1.557 14-Jan-2014 pgoyette

Update sets list for new opencrypto test suite


# 1.556 09-Jan-2014 christos

add new resolv.conf file


# 1.555 07-Jan-2014 gson

Add some minimal tests of vmstat(1), to serve as regression tests
for PR bin/44518.


# 1.554 06-Jan-2014 gson

Make t_hostent test cases that query the DNS work on systems with no
Internet connectivity, by hijacking DNS queries and /etc/resolv.conf
accesses using librumphijack and providing a minimal DNS server to
answer the queries.


# 1.553 02-Jan-2014 tho

Drop superflous "picinstall" flag on "obsolete" items

Reported by apb@, thanks!


# 1.552 02-Jan-2014 tho

Mark all _pic.a archive files with the 'picinstall' flag.

This fixes checkflist with MKPICINSTALL=no.

ok christos@.


# 1.551 12-Nov-2013 kefren

mark t_ldp_static obsolete (this time correctly)


# 1.550 12-Nov-2013 joerg

Initial version of fmodl from FreeBSD.
Basic test case for the fmod family.


# 1.549 12-Nov-2013 kefren

Retire t_ldp_static. It's too heavy weighted for releng's anita and mostly
unsuited for atf.


# 1.548 11-Nov-2013 joerg

NetBSD 6.99.26: Switch i386 and amd64 to the x87 default control word
as initial value for new processes. This means that long double
computations get the expected 63bit mantissa. Binaries tagged as
compiled for 6.99.25 and older get the old value.

Add a simple test case to ensure that double and long double computation
are working correctly.


# 1.547 27-Oct-2013 apb

sort


# 1.546 12-Oct-2013 christos

add new t_tcp test


# 1.545 16-Aug-2013 christos

new hostent related tests.


# 1.544 11-Aug-2013 joerg

Sort entries in strcmp order.


# 1.543 10-Aug-2013 dholland

+tp


# 1.542 25-Jul-2013 kefren

add a couple of tests for dynamic MPLS routes generation using ldpd


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.541 23-Jul-2013 kefren

Add a test for RFC4182


# 1.540 19-Jul-2013 kefren

Add a couple of basic IP/MPLS forwarding tests


Revision tags: riastradh-drm2-base
# 1.539 03-Jul-2013 nakayama

branches: 1.539.2;
Enable tests which does not require rump if MKRUMP=no.
Pointed out by christos on source-changes-d.


# 1.538 02-Jul-2013 nakayama

rump is required for tests under tests/net/net.


# 1.537 27-Jun-2013 christos

add pktinfo tests


# 1.536 28-May-2013 joerg

Add mbsnrtowcs and wcsnrtombs. Approved by core.


# 1.535 22-Apr-2013 christos

new t_mktemp


# 1.534 17-Apr-2013 riz

Add ./usr/tests/kernel/t_umountstress to set lists, to fix the build.


# 1.533 14-Apr-2013 jmmv

Add missing Kyuafile.


# 1.532 28-Mar-2013 christos

new test


Revision tags: agc-symver-base
# 1.531 23-Mar-2013 christos

try to fix sun2


# 1.530 21-Mar-2013 christos

new dlopen tests for libpthread.


# 1.529 08-Mar-2013 martin

Adapt to renamed test program


# 1.528 08-Mar-2013 martin

Add new test program t_sigtimedwait_pr_47625.


# 1.527 28-Feb-2013 christos

Locale I/O tests.


# 1.526 28-Feb-2013 martin

Add new testprogram


# 1.525 26-Feb-2013 christos

add a new rpc test


# 1.524 25-Feb-2013 jmmv

Update file lists to reflect the import of kyua-atf-compat, which has the
side-effect of marking several atf-related entries as obsolete (when
MKKYUA!=no).


# 1.523 23-Feb-2013 jmmv

Remove duplicate (and possibly invalid) 'atf' tags from 3 tests.


# 1.522 23-Feb-2013 jmmv

Autogenerate Kyuafiles next to Atffiles when MKKYUA is set.

This is suboptimal: the current high-level definitions of test programs
in the Makefiles do not carry enough information to support all the
features of Kyuafiles. For example, it is not possible to register test
programs that do *not* use the ATF libraries, which is something that
has been frequently requested around here; nor it is possible to attach
arbitrary metadata to test programs from the Makefile, which is handy
particularly for ATF-less test programs.

For these reasons, consider this a transitional step.

Note that, with this change, you should now be able to use the 'kyua'
tool to run the tests in /usr/tests.


# 1.521 23-Feb-2013 jmmv

Register directories and files provided by kyua-cli.


# 1.520 19-Feb-2013 jmmv

Enable the build of kyua-testers and register its files and directories.
This is conditional on MKKYUA.


# 1.519 17-Feb-2013 htodd

Fix build by adding obsolete to files in /usr/tests/examples.


# 1.518 16-Feb-2013 jmmv

Hook Lutok into the build. This is all protected by the MKKYUA guard.


# 1.517 16-Feb-2013 jmmv

Move tests for examples from tests/examples to tests/share/examples.

This is to match the layout of the installed and source files more closely.
While doing this, honor the MKSHARE variable, as the files these tests
validate are only installed when MKSHARE=yes.


# 1.516 15-Feb-2013 jmmv

Update file lists for atf 0.17.


Revision tags: yamt-pagecache-base8
# 1.515 16-Jan-2013 christos

Add a new "debug" set that gets built when ${MKDEBUG} is set. On evbarm:
-rw-r--r-- 1 root src 35806068 Jan 16 10:47 base.tgz
-rw-r--r-- 1 root src 57374069 Jan 16 10:48 comp.tgz
-rw-r--r-- 1 root src 101286193 Jan 16 10:49 debug.tgz
...
This allows always building the debugging code and libraries but not
installing it (although now it is placed in the default sets if ${MKDEBUG}
is set


# 1.514 06-Jan-2013 christos

add the udp test.


# 1.513 02-Jan-2013 christos

fix mtree sets


Revision tags: yamt-pagecache-base7
# 1.512 04-Dec-2012 jruoho

Move the bitmap(3) test to the "right" place. Note it in bitops(3). Xrefs.


# 1.511 01-Dec-2012 christos

add a bitops test


# 1.510 30-Nov-2012 pgoyette

Remove the now-obsolete ipf/t_bpf.sh test


# 1.509 23-Nov-2012 njoly

Adjust for usr/tests/lib/libc/c063 debug entries.


# 1.508 20-Nov-2012 agc

add missing destdir files for netpgpverify addition


# 1.507 20-Nov-2012 agc

add test files for netpgpverify


# 1.506 18-Nov-2012 manu

Add most system calls for POSIX extended API set, part 2, with test cases:
faccessat(2), fchmodat(2), fchownat(2), fstatat(2), mkdirat(2), mkfifoat(2),
mknodat(2), linkat(2), readlinkat(2), symlinkat(2), renameat(2), unlinkat(2),
utimensat(2), openat(2).

Also implement O_SEARCH for openat(2)

Still missing:
- some flags for openat(2)
- fexecve(2) implementation


# 1.505 17-Nov-2012 joerg

Unbreak the NOTE_TRACK event of EVFILT_PROC. When attaching to the child
process, proc_find can't be used as the child is still in state SIDL.


# 1.504 12-Nov-2012 njoly

Adjust for tests/lib/{libbpfjit,libsljit} debug entries.


# 1.503 11-Nov-2012 alnsn

Build libbpfjit test to the build.


# 1.502 08-Nov-2012 pgoyette

Include the newly-converted tests/lib/libc/gen/t_sleep test


# 1.501 07-Nov-2012 pgoyette

Add the ATF file-locking test


# 1.500 05-Nov-2012 alnsn

Untie libsljit directory from MKSLJIT.


# 1.499 05-Nov-2012 pgoyette

Add new SysV IPC test


# 1.498 05-Nov-2012 alnsn

Build sljit test when MKSLJIT != no and set MKSLJIT to yes on amd64 and i386.


# 1.497 03-Nov-2012 pgoyette

Add tests/mqueue


Revision tags: yamt-pagecache-base6
# 1.496 27-Sep-2012 joerg

Add regression test for cdbr(3) and cdbw(3).


# 1.495 18-Sep-2012 martin

npftest.conf is not dependend on pic


# 1.494 13-Sep-2012 martin

npftest only is build with dynamic libraries


# 1.493 12-Sep-2012 rjs

Allow build with MKRUMP=no.


# 1.492 12-Sep-2012 martin

Set list changes for npftest binary and npf tests


# 1.491 12-Sep-2012 manu

branches: 1.491.2;
setcontext() used to be incompatible with -lpthread since it affected
the TLS pointer, therefore wrecking the pthread environement.

Some ports had _UC_TLSBASE flag or equivalent (_UC_UNIQUE on alpha)
that controlled whether setcontext() would change the TLS pointer.
This change let libpthread override setcontext() with its own version
that unsets _UC_TLSBASE, enabling safe usage of setcontext() with
-lpthread.

We also have the following required changes here:
- rename alpha's _UC_UNIQUE into _UC_TLSBASE
- add _UC_TLSBASE definition in header file for all ports
(powerpc, sh3, sparc and sparc64 lack the implementation for now)
- introduce a libc stub that can be overriden for setcontext()
- modify MD libcs swapcontext() implementations so that they use the
setcontext() libc stub instead of doing a plain system call.

While we are there:
- document various MD _UC_* flags in header file
- add libc and libpthread tests for swapcontext() behavior
(hopefully helpful to spot MD problems introduced with this change)

Future work:
- Deciding whether kernel support or _UC_TLSBASE should be added for
powerpc, sh3, sparc and sparc64 is left to portmasters
sparc64

Approved by core@


# 1.490 26-Aug-2012 jmmv

Add placeholder test programs for share/mk files.

The main goal of this change is to simplify the further addition of test
cases for the share/mk infrastructure by adding a few placeholder test
programs to the tests tree.

To not leave these test programs empty, I have added a bunch of extremely
simple test cases to them.


# 1.489 24-Aug-2012 jmmv

Sanitize the regex test cases.

- Merge h_regex_att (att.c) and t_regex_att.sh into a single C test program.
The former was really a test program, and the latter just a very strange
driver for it.

- Stop using awk to generate the shell test programs. This is unnecessary
and confusing. Instead, change t_regex.sh to generate the test case
functions on the fly with eval (as done in many other places).


# 1.488 14-Aug-2012 alnsn

Build and install t_bpfilter.


# 1.487 13-Aug-2012 christos

add fdpass files


# 1.486 11-Aug-2012 nakayama

Fix MKRUMP=no build.


# 1.485 10-Aug-2012 joerg

Make GCC entries optional.


# 1.484 10-Aug-2012 joerg

No need to check for MKRUMP twice.


# 1.483 08-Aug-2012 christos

fix pasto


# 1.482 08-Aug-2012 christos

adjust for MKRUMP = no


# 1.481 28-Jul-2012 njoly

Add testcase for PR/46743


# 1.480 23-Jul-2012 pgoyette

Oppps - should not removes lines from this file, just mark the old entries
as obsolete. Thanks for pointing this out, Berndt!


# 1.479 23-Jul-2012 pgoyette

Tests n201 and n202 have been removed with the recent update to ipf


# 1.478 22-Jul-2012 joerg

Add basic regression test for nbperf(1)


# 1.477 14-Jul-2012 christos

no more CRYPTO_{IDEA,MDC2}


# 1.476 11-Jul-2012 jmmv

Update file sets for atf 0.16.

In particular, add entries for the new libatf-c and libatf-c++ shared
libraries. I have followed existing entries to come up with the right
lines to add... but this is quite tricky, so please forgive any fallout
that may follow (and let me know if there is any!).


# 1.475 22-Jun-2012 christos

add recvmmsg test


# 1.474 11-Jun-2012 njoly

New testcase to check limits flags for ulimit builtin.


# 1.473 06-Jun-2012 martin

Add a basic test for infocmp - this would have cought todays terminfo
lossage (PR lib/46553).


# 1.472 03-Jun-2012 joerg

Switch terminfo(3) to cdb(5).


# 1.471 01-Jun-2012 skrll

Fix t_backtrace.debug entry.


# 1.470 27-May-2012 christos

sets for execinfo test


Revision tags: yamt-pagecache-base5
# 1.469 21-May-2012 martin

Calling _lwp_create() with a bogus ucontext could trigger a kernel
assertion failure (and thus a crash in DIAGNOSTIC kernels). Independently
discovered by YAMAMOTO Takashi and Joel Sing.

To avoid this, introduce a cpu_mcontext_validate() function and move all
sanity checks from cpu_setmcontext() there. Also untangle the netbsd32
compat mess slightly and add a cpu_mcontext32_validate() cousin there.

Add an exhaustive atf test case, based partly on code from Joel Sing.

Should finally fix the remaining open part of PR kern/43903.


# 1.468 18-May-2012 jruoho

Add a test case for PR kern/46463. From Richard Hansen.


# 1.467 30-Apr-2012 njoly

Move module related debug entries to module.mi list to fix MKDEBUG=yes
and MKKMOD=no builds. Add missing k_helper3.debug line.


# 1.466 20-Apr-2012 jruoho

Add few unit tests for mlock(2), including a case for PR kern/44788.


# 1.465 19-Apr-2012 jruoho

Add a test case for PR bin/39546.


Revision tags: yamt-pagecache-base4
# 1.464 14-Apr-2012 jruoho

Add a test case for PR kern/46328 (tested naively with tcpdump(8)).


# 1.463 10-Apr-2012 jruoho

Test that sysctl(8) does not segfault, as reported by pgoyette@ on current
users.


# 1.462 30-Mar-2012 jruoho

Add regression tests for PR bin/3914 and PR bin/27140.


# 1.461 29-Mar-2012 jruoho

Few fundamental consistency checks for the abs(3) family.


# 1.460 29-Mar-2012 jruoho

Few naive consistency checks for the atoi(3) family.


# 1.459 28-Mar-2012 jruoho

Add a small test that checks that random(3) does not always return zero when
the RNG is initialized with zero. Prompoted by the recent nasty bug in the
OpenBSD libc.


# 1.458 27-Mar-2012 jruoho

Add regression tests for the 1990s bugs PR bin/3538 and PR bin/4841.


# 1.457 27-Mar-2012 jruoho

Append a case for (fixed) PR bin/25899. From Min Sik Kim.


# 1.456 24-Mar-2012 tron

Update entries for IPFilter regression tests.


# 1.455 24-Mar-2012 matt

Mark ipf entries with ipfilter so that MKIPFILTER=no works.


# 1.454 23-Mar-2012 christos

add new tests


# 1.453 20-Mar-2012 jruoho

Add regression tests for PR bin/12424, PR bin/12316, and PR bin/14253,
all fixed long time ago.


# 1.452 19-Mar-2012 njoly

Adjust to unbreak mkdebug build.


# 1.451 19-Mar-2012 jruoho

Add regression tests for PR bin/2642 and PR bin/23836, both fixed long ago.


# 1.450 18-Mar-2012 christos

add t_cdefs


# 1.449 18-Mar-2012 jruoho

Add a case for PR bin/44973.


# 1.448 18-Mar-2012 jruoho

Add a test case for PR bin/28126. Does not fail with GNU sed.


# 1.447 18-Mar-2012 jruoho

Add a case for PR lib/41558. It is unclear whether this is a bug, but at
least it is documented now. Probably it would be better to follow Linux,
where the test case does not fail.


# 1.446 17-Mar-2012 jruoho

Move the _lwp_ctl(2) preemption counter check to the right place.


# 1.445 17-Mar-2012 jruoho

Adjust set lists and mtree.


# 1.444 17-Mar-2012 jruoho

Add few basic tests for realpath(3).


# 1.443 17-Mar-2012 jruoho

Adjust set lists and mtree.


# 1.442 11-Mar-2012 njoly

Small typo.


# 1.441 11-Mar-2012 jruoho

Adjust set lists and mtree.


# 1.440 10-Mar-2012 christos

add awk tests


Revision tags: netbsd-6-base
# 1.439 15-Feb-2012 riz

branches: 1.439.2;
Back out the recent import of IPFilter 5.1.1 for the upcoming branch,
which will now have IPFilter 4.1.34. IPFilter 5.1.1 will be restored
post-branch.

ok: core, releng.


# 1.438 14-Feb-2012 njoly

Kill dup lines.


# 1.437 14-Feb-2012 riz

Fix the build after ipfilter tests were added.


# 1.436 13-Feb-2012 martin

Move posix_spawn tests to lib/libc/gen/posix_spawn - they test both libc
and kernel, but that is an implementation detail unrelated to the tests
themselfs.
Ok: releng


# 1.435 11-Feb-2012 martin

Add userland part of posix_spawn. Libc functions imported from FreeBSD.
Based on Charles Zhang's summer of code project.


# 1.434 18-Jan-2012 bouyer

Make parts of the quota tests useable for more than quotas:
- rename h_quota2_server to h_ffs_server, there's nothing about quotas
in there.
- extract non-quota parts of quotas_common.sh to ffs_common.sh


# 1.433 27-Dec-2011 pgoyette

Add the Atffile for libcrypt tests


# 1.432 27-Dec-2011 christos

Add crypt tests.


# 1.431 25-Dec-2011 christos

more lint tests


# 1.430 21-Dec-2011 pgoyette

Include the fifofs Atffile


# 1.429 21-Dec-2011 christos

add the directories


# 1.428 21-Dec-2011 christos

Add a fifofs test.


# 1.427 24-Nov-2011 christos

add t_subr_prf


# 1.426 22-Nov-2011 cheusov

Regression tests for awk(1) (PR 44063)


# 1.425 21-Nov-2011 joerg

Add test cases for strcspn, strpbrk, strspn, wcscspn, wcspbrk and
wcsspn.


# 1.424 17-Nov-2011 christos

add kevent test


# 1.423 14-Nov-2011 christos

add t_evaltested


# 1.422 12-Nov-2011 riz

Add /usr/tests/examples/Atffile to fix the build.


# 1.421 12-Nov-2011 jmmv

Register the new asm examples and their tests.


Revision tags: yamt-pagecache-base3
# 1.420 08-Nov-2011 jruoho

Few naive checks for cpuset(3) and ftok(3).


Revision tags: yamt-pagecache-base2
# 1.419 06-Nov-2011 christos

Add the libtre tests
XXX: It would be *really* nice to share the data with libc/regex since
this is just another copy.


# 1.418 06-Nov-2011 christos

new regex tests


# 1.417 05-Nov-2011 jruoho

Move connect(2), listen(2) and socketpair(2) tests to the right place.


# 1.416 05-Nov-2011 jruoho

Few naive checks for time(3).


# 1.415 05-Nov-2011 jruoho

Add 21 unit tests for the XSI message queues.


# 1.414 04-Nov-2011 christos

add t_socketpair


Revision tags: yamt-pagecache-base
# 1.413 01-Nov-2011 pgoyette

branches: 1.413.2;
Add t_ether_aton test


# 1.412 31-Oct-2011 christos

add pipe2 tests


# 1.411 16-Oct-2011 jruoho

Basic checks for the root functions.


# 1.410 16-Oct-2011 jruoho

Basic IEEE tests for the hyperbolic sine and cosine.


# 1.409 15-Oct-2011 jruoho

Move the sigaction(2) test to the right place.


# 1.408 15-Oct-2011 jruoho

Move the ucontext(2) test to the right place.


# 1.407 15-Oct-2011 jruoho

Move the writev(2) test to the right place.


# 1.406 15-Oct-2011 jruoho

Move the clock_gettime(2) timer test to the right place.


# 1.405 15-Oct-2011 jruoho

Follow the design principles of tests(7) by merging 't_poll3w' to 't_poll'
as a test case instead of separate file.


# 1.404 15-Oct-2011 jruoho

Move the mkdir(2) test to the right place.


# 1.403 15-Oct-2011 jruoho

Move the pipe(2) test to the right place.


# 1.402 15-Oct-2011 jruoho

Move the posix_fadvise(2) test to the right place.


# 1.401 13-Oct-2011 njoly

Do not delete nul.in line, but tag it as obsolete.


# 1.400 11-Oct-2011 dholland

Don't use 'nul' in filenames as windows will belch.
(Caught by importing the tree into mercurial)


# 1.399 09-Oct-2011 christos

add the regex exhaustion test


# 1.398 04-Oct-2011 christos

add new test


# 1.397 28-Sep-2011 christos

Add a sockaddr_un test.


# 1.396 24-Sep-2011 christos

Add rfc6056 tests


# 1.395 24-Sep-2011 christos

Add the pty test.


# 1.394 19-Sep-2011 pgoyette

Mark the tests/lib/libc/ieefp directory obsolete, as well as its former
contents.


# 1.393 19-Sep-2011 njoly

Small typo (t_fpsclassify -> t_fpclassify).


# 1.392 19-Sep-2011 jruoho

Add missing entries.


# 1.391 19-Sep-2011 jruoho

Move duplicate ldexp(3) test out from the tests/libc.


# 1.390 19-Sep-2011 jruoho

Move the tests/libc/ieeefp to tests/libc/gen to match the structure of libc.
Also rename the test files to gain functional scope.


# 1.389 18-Sep-2011 jruoho

IEEE checks for the exponential family.


# 1.388 17-Sep-2011 jruoho

IEEE checks for the arcus functions.


# 1.387 17-Sep-2011 jruoho

Few tests for the error functions.


# 1.386 17-Sep-2011 jruoho

IEEE corner case tests for the pow(3) family (incl. PR lib/45372).


# 1.385 14-Sep-2011 jruoho

Some tests for sine, cosine, and tangent.


# 1.384 12-Sep-2011 jruoho

Merge 't_floor' to 't_ceil', and simplify.


# 1.383 12-Sep-2011 jruoho

Start systematic testing of libm(3) by first evaluating the corner cases
(NaN, +0.0, -0.0, +Inf, -Inf) for the ldexp(3) and scalbn(3) families.


# 1.382 11-Sep-2011 jruoho

See that system(3) works.


# 1.381 11-Sep-2011 jruoho

Naive tests for the naive putc(3) family.


# 1.380 11-Sep-2011 jruoho

Few unit tests for the fopen(3) family.


# 1.379 11-Sep-2011 jruoho

Couple of unit tests for fflush(3).


# 1.378 27-Aug-2011 dyoung

Build and install ppath(3) tests.


# 1.377 25-Aug-2011 dyoung

Set-list repair: remove the 'gcccmds' tag from lines where it does not
belong.


# 1.376 15-Jul-2011 jruoho

Split out the -lpthread tests to a separate file.

XXX: The only thing gained from this is seeing whether -lpthread breaks
the getenv(3) family. Yet, a strict hypothesis about this would require
that the two test files are identical, which they are not.


# 1.375 15-Jul-2011 jruoho

Rename two test files to get functional scope (and avoid confusion
with ctype(3)). No functional change.


# 1.374 15-Jul-2011 jruoho

Few naive unit tests for the getprotoent(3) family.


# 1.373 08-Jul-2011 jruoho

Split out 't_printf' and 't_scanf' from 't_format' to gain the common
"functional scope" for the test files.


# 1.372 07-Jul-2011 jruoho

Move 't_glob_star' to 't_glob' for glob(3).


# 1.371 07-Jul-2011 jruoho

Merge 't_environment' and 't_environment_pth'.


# 1.370 07-Jul-2011 pgoyette

Mark the ..../syscall/ test directories obsolete as well as their contents


# 1.369 07-Jul-2011 jruoho

Move 't_syslog_pthread' to 't_syslog' for consistency with libc.


# 1.368 07-Jul-2011 jruoho

Split out the string tests from t_string.c for consistency.


# 1.367 07-Jul-2011 jruoho

Remove 't_cerror' (this is tested by numerous individual tests).
Rename 't_context' to 't_getcontext' for consistency.


# 1.366 07-Jul-2011 jruoho

Adjust for tests/libc/sys.


# 1.365 07-Jul-2011 jruoho

Deprecate tests/sycall. The tests will be added back to tests/libc/sys.


# 1.364 07-Jul-2011 jruoho

Move the 'syscall/t_cmsg' test to 'include/sys/t_socket'.


# 1.363 04-Jul-2011 jruoho

Few tests for mkfifo(2).


# 1.362 04-Jul-2011 jruoho

Few fundamental checks for chroot(2) and fchroot(2).


# 1.361 04-Jul-2011 jruoho

Basic tests for issetugid(2).


# 1.360 03-Jul-2011 jruoho

Three simple unit tests for revoke(2).


# 1.359 03-Jul-2011 jruoho

Few naive test cases for link(2).


# 1.358 03-Jul-2011 mrg

mark all the ld.elf_so tests as mkpic.


# 1.357 03-Jul-2011 jruoho

Few naive tests for unlink(2).


# 1.356 03-Jul-2011 jruoho

Few simple tests for mknod(2), including a skipped one for PR kern/45111.


# 1.355 25-Jun-2011 nonaka

PR/45015: ld.elf_so: support ELF symbol versioning
Applied latest patch.


# 1.354 20-Jun-2011 jruoho

Few naive tests for truncate(2).


# 1.353 17-Jun-2011 christos

terminfo has moved.


# 1.352 14-Jun-2011 jruoho

Test that assert(3) works.


# 1.351 14-Jun-2011 jruoho

Add few basic tests for the getlogin(2) family.


# 1.350 12-Jun-2011 plunky

reinstate ssp:raw test, slightly differently.. this one is built
with -fstack-protector-all and tests that the compiler built in
stack protection works, by poking directly outside the buffer


# 1.349 09-Jun-2011 spz

and fix the sets for the addition of srp and evp tests in libcrypto


# 1.348 04-Jun-2011 jruoho

Add some tests for strtol(3).


# 1.347 04-Jun-2011 jruoho

Add some tests for stat(2) (or tests that use stat(2)).


# 1.346 03-Jun-2011 jruoho

Add some fundamental checks for memset(3). Prompted by a recent nasty
bug in the Google Android libc.


# 1.345 03-Jun-2011 jruoho

Test also setdomainname(3).


# 1.344 02-Jun-2011 jruoho

Few naive tests for sethostname(3).


# 1.343 02-Jun-2011 jruoho

A simple test for mincore(2).


# 1.342 01-Jun-2011 tron

Add new test "syscall/t_poll".


Revision tags: cherry-xenmp-base
# 1.341 30-May-2011 njoly

branches: 1.341.2;
Add testcase for PR bin/45004, to exercize suffixes lists for
mkdep(1).


# 1.340 28-May-2011 tron

Move regression test for PR kern/44986 from "kernel" to "syscalls" as
the later directory seems to be a better fit.


# 1.339 28-May-2011 tron

Add two test cases for pollts(2):
- The first tests basic functionality e.g. timeouts and correct events.
- The second tests whether pollts(2) correctly restores the signal mask.
This test currently fails because of PR kern/44986.


# 1.338 20-May-2011 joerg

lib/libobjc/t_threads is GCC-specific


# 1.337 18-May-2011 christos

add pselect


# 1.336 10-May-2011 jruoho

Few naive tests for pause(3).


# 1.335 09-May-2011 jruoho

Add a test case for PR kern/44946. This tests that common first level sysctl
nodes (ddb, hw, machdep, etc.) are not writable by a normal user.


# 1.334 09-May-2011 jruoho

Few basic tests for exit(3).


# 1.333 09-May-2011 jruoho

Few basic tests for strerror(3).


# 1.332 09-May-2011 jruoho

Few basic tests for closefrom(3).


# 1.331 05-May-2011 jruoho

Try to mirror the real source with the test directory structure (otherwise
the latter carries a risk of becoming a difficult mess to manage.)


# 1.330 05-May-2011 jruoho

Few fundamental consistency checks for alarm(2).


# 1.329 05-May-2011 jruoho

Follow the real tree with the test directory structure.


# 1.328 05-May-2011 jruoho

Fix some glitches (a human doing machine's work).


# 1.327 05-May-2011 jruoho

Follow the real tree with the test directory structure.


# 1.326 03-May-2011 jruoho

Add a test case for PR bin/26453.


# 1.325 03-May-2011 jruoho

Add a test for PR bin/41880.


# 1.324 03-May-2011 jruoho

A test for non-critical/low PR bin/42179.


# 1.323 03-May-2011 jruoho

Verify that PR bin/42628 is no longer an issue.


# 1.322 03-May-2011 jruoho

Add a test for non-critical/low PR bin/43141.


# 1.321 03-May-2011 jruoho

Some naive tests for the bswap(3) family.


# 1.320 02-May-2011 jruoho

Few basic tests for getitimer(2) and setitimer(2).


# 1.319 02-May-2011 pgoyette

Also add the Atffile to the sets list


# 1.318 01-May-2011 jruoho

Verify PR standards/44921.


# 1.317 01-May-2011 jruoho

Naive tests for clearerr(3).

Converted from the "PCCA" test suite by Stathis Kamperis.


# 1.316 01-May-2011 jruoho

Add a test for PR lib/41673 (another trivial errno "bug").


# 1.315 01-May-2011 jruoho

Few basic tests for nanosleep(2).


# 1.314 01-May-2011 jruoho

Two elementary tests for gettimeofday(2).


# 1.313 30-Apr-2011 jruoho

Few fundamental consistency checks for kill(2).


# 1.312 30-Apr-2011 alnsn

Add files required for the new testcase in t_awk.sh.


# 1.311 22-Apr-2011 joerg

Add t_threadjmp


# 1.310 17-Apr-2011 jruoho

Few simple tests for getgroups(2).


# 1.309 12-Apr-2011 matt

Fix MKDEBUG set lists.


# 1.308 11-Apr-2011 martin

Add libm/t_infinity


# 1.307 10-Apr-2011 jruoho

Formally verify PR standards/44777.


# 1.306 10-Apr-2011 blymn

Add libcurses tests


# 1.305 10-Apr-2011 jruoho

Verify that PR standards/21401 is no longer an issue.


# 1.304 10-Apr-2011 jruoho

Add tests for PR standards/44847 and PR standards/18067.


# 1.303 10-Apr-2011 jruoho

A naive test case for getcwd(3).


# 1.302 10-Apr-2011 jruoho

Add a test case for PR lib/41931 reported by he@. It was verified that these
fail on NetBSD 5.99.48 amd64 but pass on amd64 Linux (glibc 2.7).


# 1.301 09-Apr-2011 pgoyette

atf-ify the various locale tests


# 1.300 08-Apr-2011 jruoho

Move the round(3) checks from 't_libm' to their own 't_round'
for consistency. Add -Wfloat-equal and fix comparisons.


# 1.299 07-Apr-2011 jruoho

Add few naive test cases for msync(2).


# 1.298 07-Apr-2011 plunky

link libbluetooth tests to the build


# 1.297 06-Apr-2011 jruoho

As per PR lib/44818, remove 'lib/libpthread/t_status'. It takes two minutes
to rewrite this properly if someone misses this.


# 1.296 06-Apr-2011 jruoho

A test case for PR lib/44057.


# 1.295 06-Apr-2011 jruoho

Add few simple tests for getrusage(2), including heuristic for PR # 41734.


# 1.294 05-Apr-2011 jruoho

Basic tests for setrlimit(2).


# 1.293 05-Apr-2011 jruoho

Try to maintain the structure of libc and move 't_strtox' to 't_strtod'.


# 1.292 05-Apr-2011 jruoho

Add simple test cases for ttyname(3), strtod(3), and getgrent(3).


# 1.291 04-Apr-2011 jruoho

Use the same pattern for couple of simple setuid(2) tests.


# 1.290 04-Apr-2011 jruoho

Couple of simple tests for umask(2).


# 1.289 04-Apr-2011 he

Move the recently added tests for libexec/ld.elf_so to shl.mi, so that
the sun2 port builds again.


# 1.288 04-Apr-2011 jruoho

Few simple tests for nice(3).


# 1.287 04-Apr-2011 jruoho

Add some basic tests also for getsid(2).


# 1.286 04-Apr-2011 jruoho

Two basic tests for getpid(2).


# 1.285 03-Apr-2011 jruoho

Add couple of simple tests for access(2) and mprotect(2).


# 1.284 31-Mar-2011 joerg

Add initial regression test for ld.elf_so locking.


# 1.283 31-Mar-2011 jruoho

Add couple of simple tests for dup(2).


# 1.282 31-Mar-2011 jruoho

Add some basic tests for mmap(2), including one for the vm.user_va0_disable.


# 1.281 30-Mar-2011 jruoho

Add some naive tests for the efun(3) family of debug functions.


# 1.280 30-Mar-2011 he

Put tests depending on dlopen etc. under a test for MKPIC, and move
the corresponding entries in the set lists over to the shl.mi file.
This should bring the sun2 port back to a buildable state.


# 1.279 30-Mar-2011 jruoho

Add some basic tests for fsync(2) and <paths.h>.


# 1.278 25-Mar-2011 jruoho

Add some basic POSIX conformance tests for sched(3).


# 1.277 24-Mar-2011 jruoho

Add a naive test case for raise(3).


# 1.276 24-Mar-2011 jruoho

Add dummy test cases for ceil(3) and floor(3). It is expected that at least
one of these will fail on guest x86_64 NetBSD under Qemu. Thanks to pgoyette@
for checking the broken floor(16.999999...) = 17.


# 1.275 24-Mar-2011 jruoho

A dummy conformance-test for pthread_detach(3). I will extend this later.


# 1.274 24-Mar-2011 jruoho

A dummy conformance-test of pthread_equal(3).


# 1.273 22-Mar-2011 jmmv

+tests/lib/libutil/t_pidfile


# 1.272 19-Mar-2011 jruoho

Add a simple test file for <sys/bitops.h>. For now, only ilog2(3) is tested.


# 1.271 14-Mar-2011 pooka

test RUMPHIJACK fdoff=8


# 1.270 12-Mar-2011 bouyer

Add a test for rpc.rquotad(8)


# 1.269 12-Mar-2011 matt

Shell scripts don't have .debug versions.


# 1.268 11-Mar-2011 pooka

reality check


# 1.267 10-Mar-2011 pooka

+tp


# 1.266 10-Mar-2011 njoly

+libh_tls_{dlopen,dynamic}.so.1.debug


# 1.265 10-Mar-2011 pooka

rumpnet tests


# 1.264 10-Mar-2011 pooka

shmif_dumpbus tests


# 1.263 09-Mar-2011 joerg

Add TLS support infrastructure. For dynamic binaries, ld.elf_so exports
_rtld_tls_allocate and _rtld_tls_free. libpthread uses this functions to
setup the thread private area of all new threads. ld.elf_so is
responsible for setting up the private area for the initial thread.
Similar functions are called from _libc_init for static binaries, using
dl_iterate_phdr to access the ELF Program Header.

Add test cases to exercise the different TLS storage models. Test cases
are compiled and installed on all platforms, but are skipped on
platforms not marked for TLS support.

This material is based upon work partially supported by
The NetBSD Foundation under a contract with Joerg Sonnenberger.

It is inspired by the TLS support in FreeBSD by Doug Rabson and the
clean ups of the DragonFly port of the original FreeBSD modifications.


# 1.262 09-Mar-2011 bouyer

Use librumphijack for quota commands instead of rumpifed versions.


# 1.261 08-Mar-2011 pooka

+helper


# 1.260 07-Mar-2011 njoly

Add quota tests debug objects.


# 1.259 06-Mar-2011 bouyer

merge the bouyer-quota2 branch. This adds a new on-disk format
to store disk quota usage and limits, integrated with ffs
metadata. Usage is checked by fsck_ffs (no more quotacheck)
and is covered by the WAPBL journal. Enabled with kernel
option QUOTA2 (added where QUOTA was enabled in kernel config files),
turned on with tunefs(8) on a per-filesystem
basis. mount_mfs(8) can also turn quotas on.

See http://mail-index.netbsd.org/tech-kern/2011/02/19/msg010025.html
for details.


# 1.258 05-Mar-2011 pgoyette

sets-list dance for new ps_strings tests


Revision tags: bouyer-quota2-nbase
# 1.257 03-Mar-2011 pooka

+tp


# 1.256 26-Feb-2011 pgoyette

Read instructions...

Don't remove the ssp/h_raw entries, just mark them as obsolete


# 1.255 26-Feb-2011 pgoyette

ssp/raw test has been removed.


# 1.254 24-Feb-2011 pooka

+tests


# 1.253 23-Feb-2011 pooka

+tp


# 1.252 22-Feb-2011 pooka

+tp


# 1.251 19-Feb-2011 pooka

new test


# 1.250 18-Feb-2011 pooka

hfs


Revision tags: bouyer-quota2-base
# 1.249 16-Feb-2011 pooka

no need to create a hardlinked name for the helper, just fake argv[]


# 1.248 15-Feb-2011 pooka

another day, another tp


# 1.247 14-Feb-2011 pooka

slap this with summa dat +files


# 1.246 11-Feb-2011 pooka

+tp


# 1.245 09-Feb-2011 pooka

more testies


# 1.244 08-Feb-2011 pooka

oh no, more tests


# 1.243 06-Feb-2011 pooka

librumphijack build infra


# 1.242 03-Feb-2011 pooka

+ tests/usr.bin
+ tests/usr.bin/rump_server


# 1.241 24-Jan-2011 pooka

new helperprog


# 1.240 14-Jan-2011 pooka

branches: 1.240.2;
h_server is back, now testier than ever


# 1.239 14-Jan-2011 pooka

+tp


# 1.238 13-Jan-2011 pgoyette

Dance for t_hsearch.

While here, move the lib/libc/stdlib stuff into proper sort order. I
have no clue how stdlib suddenly comes before ssp!


# 1.237 13-Jan-2011 pgoyette

Ooopppsss - forgot the entry for the Atffile


# 1.236 13-Jan-2011 pgoyette

Sets-list and mtree dance for t_inet_network


# 1.235 13-Jan-2011 pgoyette

One more sets-list dance, for t_ptm


# 1.234 13-Jan-2011 pgoyette

Another sets-list dance for reorganizing the atf tests


# 1.233 13-Jan-2011 pgoyette

sets-list dance for nsdispatch test


# 1.232 13-Jan-2011 pgoyette

Fix entries for lib/libc/net/ entries for servent and protoent (these
should not be obsolete)


# 1.231 13-Jan-2011 pgoyette

sets-list and mtree dance for moving t_mktime & t_strptime


# 1.230 12-Jan-2011 pooka

Remember to commit the setlost stuff for the union test changes,
or there'll be vfs to pay.


# 1.229 12-Jan-2011 tron

Fix entries for debugging binaries of Atf-ified "getaddrinfo tests.


# 1.228 12-Jan-2011 pgoyette

Another sets-list dance, this time for the libc/atexit test


# 1.227 12-Jan-2011 pgoyette

Update sets list for moving of servent and protoent tests


# 1.226 12-Jan-2011 tron

Put back entries for obsolete debugging directories. They weren't
duplicates. Problem pointed out by Paul Goyette in private e-mail.


# 1.225 12-Jan-2011 tron

Remove duplicate entries for "usr/tests/lib/libc/getaddrinfo" and mark
the remaining entries as obsolete.


# 1.224 12-Jan-2011 pgoyette

Clean up some fallout from moving getaddrinfo test


# 1.223 12-Jan-2011 pgoyette

Hook up the getaddrinfo test in its new location


# 1.222 11-Jan-2011 pgoyette

sets-list dance for getaddrinfo test


# 1.221 11-Jan-2011 pooka

+tests/net/net


# 1.220 10-Jan-2011 christos

tests for sigqueue


# 1.219 08-Jan-2011 pgoyette

sets-list dance for atf version of regex test


# 1.218 08-Jan-2011 pgoyette

mtree and set-list games for xdr test


# 1.217 07-Jan-2011 pgoyette

Hook the new atf db test


# 1.216 07-Jan-2011 pgoyette

Forgot the Atffile for t_ttyio test


# 1.215 07-Jan-2011 pgoyette

Hook t_cerror and t_ttyio into the build


# 1.214 06-Jan-2011 pgoyette

Atf-ify test for mktime(3)


# 1.213 06-Jan-2011 njoly

Start unprivileged filesystem tests. For now, only chown/chmod owner
checks.


# 1.212 06-Jan-2011 pooka

+tp


# 1.211 06-Jan-2011 pooka

+helper


# 1.210 05-Jan-2011 pgoyette

Set-list magic for nsdispatch test


# 1.209 05-Jan-2011 pooka

new helper


# 1.208 05-Jan-2011 pooka

unsnafu


# 1.207 05-Jan-2011 riz

Update resize_ffs tests for byteswapped file system support, and
for UFS2 growth support. Also, reduce the number of tests run by default
while still maintaining decent coverage of features and block sizes.
Anyone working on resize_Ffs should run the tests with RESIZE_FFS_ALL_TESTS
set in the environment, which adds a lot more testing.


# 1.206 04-Jan-2011 pgoyette

Update the ieeefp tests so that they can be built on all architectures.
This enables us to avoid the set-list mess.

Build tested on amd64, i386, sun2, and vax!


# 1.205 03-Jan-2011 pgoyette

Atf-ify the atexit test


# 1.204 02-Jan-2011 pgoyette

Sets list magic for the servent/protoent/hash tests


Revision tags: matt-mips64-premerge-20101231
# 1.203 02-Jan-2011 dbj

add usr/tests/lib/libc/ieeefp and ./usr/libdata/debug/usr/tests/lib/libc/ieeefp


# 1.202 02-Jan-2011 pgoyette

Typo - it is h_getopt_long and not h_getoptlong


# 1.201 01-Jan-2011 pgoyette

Convert a few more tests from regress to atf


# 1.200 31-Dec-2010 pooka

Add some elementary tests for r/o file systems. More in 2011!


# 1.199 31-Dec-2010 pgoyette

Moving more tests out of regress and into atf mainstream


# 1.198 31-Dec-2010 pgoyette

Migrate a few miscellaneous tests from the old regress to atf


# 1.197 28-Dec-2010 pgoyette

Migrate the ldexp test to atf


# 1.196 28-Dec-2010 pgoyette

Migrate the remaining libc/gen tests to atf


# 1.195 28-Dec-2010 he

Introduce the "ssp" attribute derived from HAS_SSP from <bsd.sys.mk>.
Use it to flag entries which should only be included if the target platform
supports SSP. Fixes the build for a bunch of architectures.


# 1.194 27-Dec-2010 pgoyette

Move the various setjmp tests from regress to atf


# 1.193 27-Dec-2010 njoly

Remove unneeded t_ssp.debug entry.


# 1.192 27-Dec-2010 pgoyette

Migrate the ssp tests from regress to atf.

Of the 17 tests, 4 fail in both the regress and atf style. 3 additional
tests fails in atf that did NOT fail in regress: gets, fgets, and read.
I will investigate why, and update when I can, but it is still useful to
get these tests into the new format where they can be exercised.


# 1.191 26-Dec-2010 pgoyette

Migrate the last of the libc/string/ tests from regress to atf, and
re-enable building of t_popcount


# 1.190 25-Dec-2010 pgoyette

Migrate J.T.Conklin's public-domain str* tests from regress to atf.

While here, do some clean-up and knf.


# 1.189 25-Dec-2010 pgoyette

Move the siginfo tests from regress to atf. While here, add a new test
for PR/43655.

XXX The sigchild_dump test currently fails when execute under atf-run.
XXX It does not fail when executed directly from the shell, so there's
XXX something in atf that prevents the child process from dumping.


# 1.188 24-Dec-2010 skrll

Add support for DF_1_BIND_NOW, DF_1_NODELETE and DF_1_NOOPEN marked
objects, and the RTLD_NODELETE and RTLD_NOLOAD flags to dlopen(3).

Mark libpthread as DF_1_NOOPEN and use it to test the functionality.

Somewhat taken from FreeBSD.

Fixes PR 42029.

OK from christos and joerg.


# 1.187 23-Dec-2010 pgoyette

Migrate a couple more tests to aft


# 1.186 22-Dec-2010 pgoyette

Migrate a couple more tests from the old regress structure to atf


# 1.185 21-Dec-2010 njoly

+t_libm.debug.


# 1.184 20-Dec-2010 pgoyette

Move the only regress/lib/libm test to the new atf format


# 1.183 20-Dec-2010 njoly

Add testcase from PR/44255, that exercize parsedate(3) with sample
strings taken from the manpage.


# 1.182 20-Dec-2010 njoly

Remove unneeded .debug entry for t_swsensor script.


# 1.181 20-Dec-2010 pgoyette

Add a rump-based set of tests for sysmon_envsys(8) + powerd(8) + swsensor(4)


# 1.180 17-Dec-2010 pooka

the setlist joy for a new tp


# 1.179 15-Dec-2010 pooka

goop for initial raidframe test


# 1.178 15-Dec-2010 haad

Add usr.sbin/Attfile to test list.


# 1.177 15-Dec-2010 pooka

+traceroute tp


# 1.176 14-Dec-2010 pooka

add new, remove obsolete


# 1.175 14-Dec-2010 pooka

Add another version of the simple ping test, this time written as a
shell script and using rump_server, rump.ifconfig and rump.ping.

XXX: uses rump_allserver for now, though, since i noticed a problem
where the rump kernel syscall vector does not get updated for
dlopen()'d libraries (and hence if you dlopen librumpnet.so, socket()
still gives ENOSYS). Me be fixink it later.


# 1.174 14-Dec-2010 skrll

bah set lists. expect this lot back soon(ish).


# 1.173 14-Dec-2010 skrll

Convert a couple of old regress tests to ATF.

Remove the regress/usr.bin/rtld/dlopen/dlopen.c test as well as it's
covered by existing ATF test(s).


# 1.172 13-Dec-2010 pooka

Retire h_simpleserver and use rump_server instead.


# 1.171 12-Dec-2010 pooka

h_reboot has been superceded by rump.halt


# 1.170 09-Dec-2010 riz

Add new resize_ffs test programs, and obsolete an old one.


# 1.169 06-Dec-2010 pooka

+tp


# 1.168 03-Dec-2010 njoly

Add testcase for PR/44189: strtod(3) wrong results with "-0x".


# 1.167 03-Dec-2010 hannken

Add missing files ./usr/tests/util/make/d_unmatchedvarparen.{mk,out}


# 1.166 01-Dec-2010 njoly

Remove unexpected t_resize_ffs.debug (t_resize_ffs is an atf-sh
script).


# 1.165 01-Dec-2010 pooka

adjust previous a bit to attempt to deal with MKMONKEY


# 1.164 30-Nov-2010 riz

Add sets/mtree goop for new test program and accompanying dirs.


# 1.163 30-Nov-2010 pooka

build system gobbeldygook for tests


# 1.162 30-Nov-2010 pooka

test makecn/freecn


# 1.161 29-Nov-2010 njoly

Add missing atf keyword for Atffile.


# 1.160 23-Nov-2010 pooka

need the notorious "debug" flag for the .debug

caught by pgoyette


# 1.159 23-Nov-2010 pooka

Add simple test for md(4) which just stuffs junk into /dev/rmd0d
and checks the same data can be retrieved.


# 1.158 19-Nov-2010 njoly

Add testcase for PR/44113: printf(3) should ignore zero padding for
nan/inf.


# 1.157 19-Nov-2010 pooka

+tp


# 1.156 16-Nov-2010 tron

Add new "t_environment_pth" test to the set lists.


# 1.155 12-Nov-2010 pooka

+tp


# 1.154 11-Nov-2010 pooka

build system worship for new tests.


# 1.153 09-Nov-2010 pooka

+tp


# 1.152 07-Nov-2010 pooka

usual goop for new tp & dir


# 1.151 05-Nov-2010 pooka

+tp


# 1.150 04-Nov-2010 pooka

debug entries are sacred too


# 1.149 04-Nov-2010 pgoyette

Add files for lib/libc/stdio tests.


# 1.148 20-Oct-2010 jmmv

Adjust file lists and directories to match atf 0.11.


# 1.147 30-Sep-2010 njoly

Cleanup, sort entries and remove some duplicates.


# 1.146 23-Sep-2010 christos

new environment test


# 1.145 23-Sep-2010 he

Move shared library bits of the tests out to shl.mi, so that sun2,
which only does static linking, can complete the build.


# 1.144 09-Sep-2010 christos

add tests for glob


# 1.143 09-Sep-2010 njoly

Unobsolete libh_initfini3_dso.so.1.debug which is used by both library
and module, and remove h_initfini3_dso.so.1.debug which never existed.


# 1.142 01-Sep-2010 pooka

+tp


# 1.141 01-Sep-2010 njoly

Add missing .debug suffix.


# 1.140 27-Aug-2010 pooka

The incredible travels of Seth List.


# 1.139 25-Aug-2010 jmmv

Add entries for the libdes tests.


# 1.138 24-Aug-2010 pooka

scsipi test


# 1.137 19-Aug-2010 pooka

+10


# 1.136 17-Aug-2010 pooka

+tp


# 1.135 10-Aug-2010 pooka

+tp


# 1.134 09-Aug-2010 pooka

+tp


# 1.133 06-Aug-2010 pooka

+tp


# 1.132 04-Aug-2010 joerg

Mark correct entries as obsolete.


# 1.131 04-Aug-2010 joerg

Rename h_initfini3 dso now that it is a simple module.


# 1.130 04-Aug-2010 pooka

Actually, some nagging voice in my head tells me that all binary files
in the repo should be uuencoded, so uuencode the golden audio output.


# 1.129 04-Aug-2010 pooka

setlist lottery for dev/audio/pad test


# 1.128 02-Aug-2010 pooka

+tp


# 1.127 01-Aug-2010 jmmv

Add files for sort(1) tests.


# 1.126 31-Jul-2010 pooka

+tp


# 1.125 31-Jul-2010 jmmv

Add obsolete entries for usr/tests/lib/csu/h_initfini. Hi joerg@.


# 1.124 29-Jul-2010 njoly

Fix a few debug entries.


# 1.123 28-Jul-2010 jruoho

Add a simple test for pthread_join(3).


# 1.122 28-Jul-2010 pooka

setlist gods are not favorable to me today


# 1.121 28-Jul-2010 pooka

+tp


# 1.120 28-Jul-2010 joerg

Replace csu test case with a C++ based version. This makes the various
assembler routines obsolete. Be more exhaustive by testing dynamically
linked, statically linked and dynamically loaded.

XXX currently hard-codes /usr/tests due to limitations of bsd.test.mk


# 1.119 26-Jul-2010 pooka

setlistlust: exports for nfs tests


# 1.118 26-Jul-2010 pooka

setlist lottery for nfs tests


# 1.117 25-Jul-2010 pooka

new test


# 1.116 21-Jul-2010 nakayama

fix MKSKEY=no build.


# 1.115 19-Jul-2010 njoly

Missing .debug suffix.


# 1.114 18-Jul-2010 jmmv

Add tests for libobjc.


# 1.113 18-Jul-2010 jmmv

Add entries for lint1 tests.


# 1.112 17-Jul-2010 jmmv

Add tests for lib/csu/ and include/.


# 1.111 16-Jul-2010 jmmv

Add libpthread tests.


# 1.110 16-Jul-2010 njoly

Add some missing .debug suffix.


# 1.109 16-Jul-2010 jmmv

Add tests for libposix, libprop, librt, libskey and libutil.


# 1.108 14-Jul-2010 jmmv

Add the new kernel/t_sigaction test program.


# 1.107 14-Jul-2010 pooka

start converting renameraces to vfs


# 1.106 13-Jul-2010 pooka

tp


# 1.105 13-Jul-2010 pooka

+tp


# 1.104 11-Jul-2010 mrg

ldap is configured to depend upon MKCRYPTO no, so force MKLAP=no if
MKCRYPTO=no.
don't build pkg_install, libcrypto tests or rump_smbfs if MKCRYPTO=no.
mark librumpcrypto, rump_smb, pkg_*

fix set lists as appropriate.


# 1.103 10-Jul-2010 jmmv

t_ipf has been split into separate pieces.


# 1.102 10-Jul-2010 jmmv

Add new test programs for libcrypto.


# 1.101 07-Jul-2010 njoly

Add puffs/h_have_puffs.debug obsolete entry back.


# 1.100 06-Jul-2010 pooka

puffs test


# 1.99 06-Jul-2010 pooka

move psshfs tests from fs/puffs to fs/psshfs


# 1.98 05-Jul-2010 njoly

Add test program that use sample code from kern/41937, and fs rump
helpers to check currently supported filesystems.

t_rmdirrace (1/1): 5 test cases
ext2fs_race: Passed.
ffs_race: Passed.
msdosfs_race: Passed.
sysvbfs_race: Passed.
tmpfs_race: Passed.


# 1.97 04-Jul-2010 pooka

+tp


# 1.96 03-Jul-2010 njoly

Fix a few test entries for MKDEBUG builds.


# 1.95 03-Jul-2010 pooka

one more test_programs -> test-programs (but i didn't do a build,
just guessing based on the build log failure)


# 1.94 03-Jul-2010 jmmv

Update file lists for atf 0.10.


# 1.93 30-Jun-2010 njoly

Small xfail testcase to exercise 48k ffs image mount, from problem
reported by Hubert Feyrer on netbsd-users@.


# 1.92 29-Jun-2010 pooka

more tests


# 1.91 28-Jun-2010 pooka

test if i have mastered the setlists for adding tests


# 1.90 28-Jun-2010 pooka

+test


# 1.89 19-Jun-2010 pooka

aaand, finally, hopefully complete the simple addition by putting
h_xfail into set lists.


# 1.88 16-Jun-2010 pooka

tests


# 1.87 14-Jun-2010 pooka

fix filename


# 1.86 14-Jun-2010 pooka

ptyfs tests


# 1.85 10-Jun-2010 pooka

update


# 1.84 10-Jun-2010 pooka

update


# 1.83 09-Jun-2010 njoly

Add missing .debug extension.


# 1.82 09-Jun-2010 pooka

take care of the usual pastos invisible to the human eye


# 1.81 09-Jun-2010 pooka

+test


# 1.80 07-Jun-2010 riz

Remove a test (that a created directory had a predictable inode number)
that no longer makes sense since the vmlocking2 branch was merged.


# 1.79 05-Jun-2010 dholland

+t_sort


# 1.78 04-Jun-2010 jmmv

Adjust file lists for atf-0.9. Most notably, some files are gone for good!


# 1.77 31-May-2010 pooka

new tests


# 1.76 21-May-2010 pooka

Do you see over yonder, friend Sancho, thirty or forty hulking setlists?
I intend to do battle with them and add t_extattrctl into them.


# 1.75 19-May-2010 jruoho

Add a simple test for timer_create(2) / sigevent(3).
Case for SIGEV_THREAD commented out.


# 1.74 15-May-2010 njoly

Add some missing atf keywords to fix MKATF=no build.


# 1.73 08-May-2010 jmmv

Update file lists to match atf 0.8.


# 1.72 24-Apr-2010 lukem

add missing .debug suffix


# 1.71 21-Apr-2010 pooka

bend over


# 1.70 13-Apr-2010 pooka

Build & install msdosfs snapshot test and deal with the happy happy
joy joy setlistdist etcetc. stuff.


# 1.69 12-Apr-2010 pooka

snapshot test -> setlists


# 1.68 31-Mar-2010 pooka

add necessary build bucatini for kernfs tests


# 1.67 30-Mar-2010 pooka

add nullfs/umapfs tests to setlists etc


# 1.66 29-Mar-2010 pooka

Whoops, missed Atffile in previous. shame on me.


# 1.65 29-Mar-2010 pooka

jump through the setlist hoops for adding a new test


# 1.64 29-Mar-2010 pooka

+ ffs/t_fifos


# 1.63 16-Mar-2010 dogcow

Fix entries whose filenames do not actually end with ".sh". (Hi, jmmv!)


# 1.62 15-Mar-2010 jmmv

Register the new tests in sys/rc for rc.d scripts.


# 1.61 27-Feb-2010 martin

obsolete the popcount tests for now


# 1.60 24-Jan-2010 joerg

Add a regression test for the SHA2 family that also checks for unaligned
accesses.


# 1.59 14-Jan-2010 wiz

Consistency: set for obsolete files should be "foo-obsolete".


# 1.58 22-Dec-2009 jmmv

Update file sets to match atf 0.7.


# 1.57 15-Dec-2009 mrg

fix a bunch of issues with MKATF=no.


# 1.56 14-Dec-2009 matt

Update sets lists from matt-nb5-mips64


Revision tags: matt-premerge-20091211
# 1.55 05-Nov-2009 njoly

Remove unneeded t_event.debug (t_event is a shell script).


# 1.54 02-Nov-2009 plunky

add ATF tests for libevent


# 1.53 20-Oct-2009 jmmv

Account for the t_exitstatus to t_exit rename and the new t_wait tests in
tests/util/sh.


# 1.52 25-Sep-2009 njoly

Fix t_dlinfo debug name (add missing .debug).


# 1.51 24-Sep-2009 pooka

Add regression test to verify that linksets work correctly with rump.


# 1.50 24-Sep-2009 pooka

add regression tests for dlinfo()


# 1.49 19-Sep-2009 apb

Add new mtree tests


# 1.48 08-Sep-2009 pooka

Add test case for PR kern/42020:

t_rnd (1/1): 1 test cases
RNDADDDATA: Failed: Test case did not exit cleanly: Abort trap (core dumped)

Failed test cases:
t_rnd:RNDADDDATA


# 1.47 07-Sep-2009 he

Move ./usr/tests/modules/Atffile from tests/mi to tests/module.mi.
This should get us building for evbppc again, which doesn't do modules.


# 1.46 22-Jul-2009 joerg

Don't set debug for the directory.


# 1.45 21-Jul-2009 joerg

Add popcount(3) and the long and long long version. Name is inspired by
gnulib, the implementation goes back to the AMD Software Optimizer
guide. A number of platforms will want to replace the C version with
assembler code using native instructions.


# 1.44 20-Jul-2009 joerg

Add a fast, platform independent hash function to libc.
The algorithm used is the Jenkins hash. The name (mi_vector_hash)
reflects the nature of the hash function.
Add glue for libc ATF tests and include a test case to make sure that
(mis)alignment and endianess are handled correctly.

Bump libc minor to 169.


Revision tags: jym-xensuspend-nbase jym-xensuspend-base
# 1.43 02-May-2009 pooka

missed the "debug" column ... again


# 1.42 02-May-2009 pooka

add recent tests


# 1.41 08-Apr-2009 apb

Register new tests for mtree


# 1.40 08-Apr-2009 pooka

add debug keyword to t_renamerace.debug. spotted by Nicolas Joly


# 1.39 08-Apr-2009 pooka

tmpfs renamerace test


# 1.38 08-Apr-2009 pooka

Add ffs tests in kind of a semiguessed fashion.


# 1.37 07-Apr-2009 apb

Add tests for "mtree -C" and "mtree -D". Add "link" keyword to
previous mtree tests.


# 1.36 07-Apr-2009 apb

Add tests for mtree.


# 1.35 28-Feb-2009 njoly

Use crypto_XXX tags to fix MKCRYPTO_{IDEA,MDC2,RC5}=yes builds.
Solve PR/40667 and other reports from current-users@.


# 1.34 26-Feb-2009 njoly

Add some missing .debug extensions and remove some unneeded files
(t_ipf, Atffile) to fix MKDEBUG build.


# 1.33 20-Feb-2009 jmmv

Add directories and file lists for the new kernel and ipf tests.


# 1.32 17-Feb-2009 jmmv

Register the atf/test_programs/h_c helper.


# 1.31 17-Feb-2009 njoly

+t_cmsg.debug


# 1.30 13-Feb-2009 jmmv

Convert the threads libcrypto test to ATF and enable it. Drop the old one
in regress.


# 1.29 13-Feb-2009 jmmv

Convert libcrypto tests to ATF. Original work done by Lukasz Strzygowski
in the GSoC 2008 atfify project. Reorganization of files and build system
reworked by me.


# 1.28 13-Feb-2009 jmmv

Sync the tests list after adding several new util tests.


# 1.27 12-Feb-2009 uebayasi

Fix build for tests/syscall; pointed out by Geoff Wing.


# 1.26 19-Jan-2009 jmmv

branches: 1.26.2;
Adjust file lists after the import of ATF 0.6.


# 1.25 18-Jan-2009 he

Farm out module tests to module.mi, to accomodate evbppc which
currently does not build modules or module tests.


# 1.24 12-Nov-2008 ad

Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base mjf-devfs2-base
# 1.23 05-May-2008 jmmv

branches: 1.23.8;
Fix MKMODULAR=yes builds by resolving installation problems of the k_helper
test module after the introduction of bsd.kmodule.mk. The files list was
inconsistent with the new module structure and the Makefile did not use the
correct variable to specify the installation of the module. Hi ad@!


# 1.22 02-May-2008 ad

- Add a bsd.kmodule.mk to build new style modules.
- Set the file suffix to .kmod


# 1.21 01-May-2008 jmmv

Adjust file lists after the import of atf-0.5.


Revision tags: yamt-pf42-baseX yamt-pf42-base keiichi-mipv6-base matt-armv6-nbase
# 1.20 06-Mar-2008 jmmv

branches: 1.20.2;
Fix typo in t_modload entry.


# 1.19 02-Mar-2008 jmmv

Add the new t_modload test program.


Revision tags: hpcarm-cleanup-base mjf-devfs-base
# 1.18 10-Feb-2008 jmmv

branches: 1.18.2; 1.18.4; 1.18.6;
Register the new modules tests.


# 1.17 04-Feb-2008 jmmv

Adjust lists to match the import of atf 0.4.


Revision tags: pc532-eol-2008 matt-armv6-base
# 1.16 03-Jan-2008 jdc

branches: 1.16.2;
Add a note about marking entries as "obsolete", instead of deleting them.


# 1.15 31-Dec-2007 ad

Remove systrace. Ok core@.


# 1.14 26-Dec-2007 jmmv

Fix name of t_psshfs.


# 1.13 26-Dec-2007 jmmv

Register the new tests for puffs (psshfs only for now).


# 1.12 23-Dec-2007 jmmv

Register the directories and files related to the addition of the test
programs for connect(2) and listen(2).


Revision tags: cube-autoconf-base
# 1.11 22-Nov-2007 jmmv

Add the debug files for id's h_id helper tool.


# 1.10 19-Nov-2007 jmmv

Mark the id's libfake as obsolete and register the new h_id helper tool.


# 1.9 16-Nov-2007 jmmv

Register the files that conform the id(1), groups(1) and whoami(1) tests.


# 1.8 16-Nov-2007 yamt

h_parsers.debug -> h_parser.debug


# 1.7 14-Nov-2007 jmmv

The directories that hold the debug versions of tests cannot be marked
with the 'debug' flag, because they are always created.


# 1.6 14-Nov-2007 jmmv

Fix build of tests with an MKDEBUG build by properly creating the target
directories that will hold the debug programs and by registering those in
the file lists. (Untested, but hopefully will work.) Noted by drochner@.


# 1.5 12-Nov-2007 jmmv

Convert the regress/games tests to the atf

This change converts all the existing regression tests in regress/games
to the new framework provided by atf. As a side effect, this also moves
all the tests programs in regress/games to tests/games.


# 1.4 12-Nov-2007 jmmv

Convert the regress/sys/fs/tmpfs tests to the atf

This change converts all the existing regression tests in
regress/sys/fs/tmpfs to the new framework provided by atf. As a side
effect, this also moves all the tests programs in regress/sys/fs/tmpfs to
tests/fs/tmpfs.


# 1.3 12-Nov-2007 jmmv

Convert the regress/bin tests to the atf

This change converts all the existing regression tests in regress/bin to
the new framework provided by atf. As a side effect, this also moves all
the tests programs in regress/bin to tests/util, as they all belong to
utilities installed by the base-util-root package.


# 1.2 12-Nov-2007 jmmv

Add the atf tests

This adds reachover Makefiles to build and install the atf tests.


# 1.1 12-Nov-2007 jmmv

Add the tests.tgz set

This adds a new tests.tgz set to releases which includes all the tests
for the system. It is important to note that this set does not rely on
comp.tgz: a user of the system can run the tests without having the
development tools installed, which can be useful in a production machine.


# 1.1399 21-Oct-2025 perseant

Add tests for LFS resize and new fcntl commands.


# 1.1398 13-Oct-2025 kre

add entries for new tests/fs/lfs/t_{basic,orphan}


# 1.1397 10-Oct-2025 christos

Commit GSoC 2025 aio project by Ethan Miller:
https://blog.netbsd.org/tnf/entry/gsoc2025_asynchronous_i_o_framework


# 1.1396 06-Oct-2025 riastradh

libpthread: Test pthread stubs in threaded vs non-threaded programs.

PR lib/59685: libcrypto should not depend on libpthread


# 1.1395 06-Oct-2025 riastradh

libpthread: Test pthread_create link errors without -(l)pthread.

Prompted by:

PR lib/59685: libcrypto should not depend on libpthread


# 1.1394 15-Sep-2025 riastradh

ctype(3): New environment variable LIBC_ALLOWCTYPEABUSE.

If set, this does not force the ctype(3) functions to crash when
passed invalid inputs -- instead, they will return nonsense results,
and possibly print warnings to stderr, as is their right in
implementing undefined behaviour.

The nature of the nonsense results is unspecified. Currently, is*()
will always return true (even if that leads to mutually contradictory
conclusions, like isalpha and isdigit, or isgraph and isblank), and
tolower/toupper() will always return EOF. But perhaps in the future
the results may be randomized.

This way, if an application like firefox crashes on ctype abuse, you
can opt to accept the consequences of nonsense results instead by
running `env LIBC_ALLOWCTYPEABUSE= firefox' until the application is
fixed.

PR lib/58208: ctype(3) provides poor runtime feedback of abuse


# 1.1393 06-Sep-2025 rillig

lint: reword message for bit-shift in trad-C90 migration mode

Mentioning the type names gives a hint about why the behavior differs;
the message only occurs when the type of the shift amount has higher
rank than the type of the shifted value.


# 1.1392 31-Aug-2025 rillig

lint: check for mismatches in snprintb conversions

Seen in sh3/dmacreg.h, SH3_DMAC_CHCR_BITS.


# 1.1391 06-Aug-2025 charlotte

distrib/sets/lists/tests/mi: Add missing Kyuafiles (from MKKYUA build)


# 1.1390 04-Aug-2025 sjg

We don't need echo.inc


# 1.1389 04-Aug-2025 sjg

Add echo.inc


# 1.1388 03-Aug-2025 sjg

make: ensure output captured in meta file is accurate

In CollectOutput() a newline before the end of job->outBuf
results in a short write to stdout, but meta_job_output()
was recording the entire string in the meta file, so on
next call the left overs would be duplicated in the meta file.

Pass a length to meta_job_output() if it should only report part of
the data in meta file.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
# 1.1387 20-Jul-2025 joe

branches: 1.1387.2;

l2 only tests

for this test suite, we test to ensure that all frames
are passed by default when no layer 2 rules are set in the config

reviewed by christos@


# 1.1386 18-Jul-2025 christos

Fixes for openssl-3.5.1


# 1.1385 17-Jul-2025 kre

ATF test additions for O_CLOFORK.

These are Ricardo Branco's ATF test modifications for O_CLOFORK
& SOCK_CLOFORK (with some FD_CLOFORK included).

These have all been made able to be built & run in an environment
where O_CLOFORK (etc) are not yet visible to userland.


# 1.1384 17-Jul-2025 christos

fix version


# 1.1383 17-Jul-2025 christos

more openssl=35 additions.


# 1.1382 29-Jun-2025 rillig

tests/make: test backslash at the end of a line and in the :M modifier

As described in PR bin/46139 by David A. Holland.


# 1.1381 27-Jun-2025 rillig

tests/make: test missing support for $^

Test provided by Diogo Santos via PR bin/59018; extended by me for .WAIT
and implicit rules.


# 1.1380 13-Jun-2025 rillig

make: add on-demand inter-process stack traces

When debugging a build that heavily uses nested calls to sub-makes, the
chain of calls is useful to quickly assess the situation. If explicitly
requested, include the actions from any parent processes in the stack
traces.

Reviewed by: sjg


# 1.1379 05-Jun-2025 kre

Add the new "expected" file which should have been in the prev commit.


# 1.1378 05-Jun-2025 rillig

make: remove empty line from diagnostic, add tests for output handling

The warning for the invalid internal option "-J" does not need a
trailing newline, as that is provided by Parse_Error already.

Having this newline in the output demonstrated a previously unknown bug
in handling the output of child commands in parallel mode. There, empty
lines are randomly discarded, depending on the chunks in which the
output from the child process is copied to make's stdout. See
job-output.mk for a demonstration.

The test for the Korn shell did not run the Korn shell in error handling
mode, as the error handling mode only affects the parallel mode but the
test didn't switch to that mode.

After fixing the shell-ksh.mk test, the single '"' in the output looked
suspicious, and indeed, the shell-csh.mk test had the same problem of
filtering more characters from the output than intended.


# 1.1377 05-Jun-2025 rillig

distrib/sets/lists/tests/mi: remove duplicate line


# 1.1376 02-May-2025 riastradh

lib/csu: Test a static PIE with RELR relocations.

PR bin/59360: ld.elf_so(8): missing RELR support


# 1.1375 02-May-2025 rillig

tests/strpct: demonstrate rounding errors


# 1.1374 02-May-2025 riastradh

ld.elf_so: Add a trivial test for R_*_RELATIVE relocations.

PR bin/59360: ld.elf_so(8): missing RELR support


# 1.1373 27-Apr-2025 martin

Fix names of new CSU tests


# 1.1372 27-Apr-2025 riastradh

lib/csu: Add tests of {static, dynamic} x {pie, non-pie}.

Main goal here is to test static pies, but let's take advantage of
this to test the same code several ways, since the csu logic has some
differences for static vs dynamic builds too like the ordering of
_libc_init calls.

PR lib/59359: static pies are broken


# 1.1371 22-Apr-2025 nia

Add basic tests for timespec_get(3), timespec_getres(3)

PR standards/58608


# 1.1370 20-Apr-2025 riastradh

Test stack pointer alignment in various scenarios.

1. elf entry point
2. main function
3. signal handler

Extend the test to amd64 while here -- fortunately both aarch64 and
amd64 pass, but others, such as mips, will fail:

PR kern/59327: user stack pointer is not aligned properly

This extends the test that was previously written for:

PR kern/58149: aarch64: Cannot return from a signal handler if SP was
misaligned when the signal arrived

With any luck, this will help us to systematically eradicate misaligned
stack pointers as hypothesized to be the reason for:

PR port-mips/59236: Multiple segfaults in erlite3 boot


# 1.1369 16-Apr-2025 riastradh

t_rtld_r_debug: Test this as a non-PIE executable too.

On MIPS, non-PIEs can use DT_MIPS_RLD_MAP or DT_MIPS_RLD_MAP_REL,
while PIEs can't use DT_MIPS_RLD_MAP because it relies on an absolute
virtual address baked into the file. So it's important to test both.

PR port-mips/59296: t_rtld_r_debug test is failing


# 1.1368 13-Apr-2025 rillig

tests/make: add tests for POSIX mode


# 1.1367 09-Apr-2025 kre

Undo previous, I suspect committed by mistake.

The t_close_range (and close_range() itself) hasn't been committed
yet, so adding the test in here can't be correct (yet).


# 1.1366 09-Apr-2025 christos

updates for new OpenSSH


# 1.1365 05-Apr-2025 riastradh

t_compat_cancel: Update set lists.

PR lib/59240: POSIX.1-2024: cancellation point audit
PR lib/59247: pthread_cancelstub.c is inadequately tested


# 1.1364 01-Apr-2025 riastradh

stddef.h: New nullptr_t, unreachable().

Define __STDC_VERSION_STDDEF_H__ while here.

Order content according to standard, and quote the relevant clauses,
to make it easier to audit.

PR standards/58605: C23: __STDC_*_H__ versions
PR standards/58620: C23: <stddef.h> unreachable() macro
PR standards/58621: C23: <stddef.h> nullptr_t


# 1.1363 31-Mar-2025 riastradh

pthread_cancel(3): Add some automatic tests.

PR lib/59240: POSIX.1-2024: cancellation point audit
PR lib/59134: POSIX-1.2024: pthread_setcancelstate must be
async-signal-safe


# 1.1362 28-Mar-2025 riastradh

t_ctype: New test for ctype(3) functions/macros.

PR lib/58208: ctype(3) provides poor runtime feedback of abuse


# 1.1361 13-Mar-2025 riastradh

execve(2), posix_spawn(2): Add test case for an embarrassing bug.

PR kern/58091: after fork/execve or posix_spawn, parent kill(child,
SIGTERM) has race condition making it unreliable


# 1.1360 02-Mar-2025 riastradh

libc: New _r variants of heapsort, mergesort, qsort.

Also kheapsort_r for kernel/standalone use.

These variants allow the caller to pass a cookie through to the
comparison function, e.g. if you want to sort an array of indices
into a buffer.

qsort_r is new in POSIX.1-2024; the others are obvious analogues of
our nonstandard extensions for heapsort and mergesort.

PR lib/58931: qsort_r() missing


# 1.1359 27-Feb-2025 riastradh

Test whether exec/spawn will zero registers.

Currently implemented only for a handful of architectures; should
extend this to all the others, and extend as appropriate if we find
more register content is worth testing (like maybe vector registers,
but they are managed differently anyway and less likely to leak).

VAX test contributed (and tested) by Kalvis Duckmanton, with some
tweaks by me; the others written and tested by me. IA64 skipped,
even though I suspect it _would_ leak if the kernel code ran as is,
because I have no way to test it.

PR kern/59084: exec/spawn leaks register content


# 1.1358 23-Jan-2025 christos

add new test


# 1.1357 18-Jan-2025 rillig

tests/gcov: demonstrate wrong coverage report after vfork/exec

Discovered in usr.bin/make, function Cmd_Exec.

The coverage test I ran on 2024-07-13 was still good. I don't remember
the exact version of NetBSD-current I was running back then.

With NetBSD-current from 2025-01-17, gcov does not report full coverage
data after a vfork/exec call. Running the test program inside ktrace
shows that after a vfork call, the child process writes its coverage data
back, probably right before the exec call, but the parent process
doesn't.

Running a child process through system(3) is not affected; there,
posix_spawn is used instead of vfork/exec.


# 1.1356 10-Jan-2025 rillig

tests/make: test expressions based on undefined variables

When an undefined variable is used in a conditional, make complains about
"Malformed conditional", which is wrong since the conditional is
well-formed but errors out during evaluation.

In order to fix this wrong error message and preserve the remaining
behavior, cover the places in which an expression is evaluated with
undefined expressions being an error (VARE_EVAL_DEFINED), but with
neither producing an error message nor handling errors. This combination
results in the same behavior as evaluating the expressions in the mode
that allows undefined variables to be used in expressions.


# 1.1355 02-Jan-2025 kre

Fix build after recent regex tests addition (make it be an addition, and
don't forget tests/libtre)


# 1.1354 01-Jan-2025 christos

new regex test.


# 1.1353 23-Dec-2024 riastradh

distrib/sets/lists/tests/mi: Copied & pasted wrong line, oops.

This shiny new test is definitely not obsolete!

Should fix:

atf-run: ERROR: Cannot locate the t_time_arith file

PR kern/58922: itimer(9): arithmetic overflow
PR kern/58925: itimer(9) responds erratically to clock wound back
PR kern/58926: itimer(9) integer overflow in overrun counting
PR kern/58927: itimer(9): overrun accounting is broken


# 1.1352 22-Dec-2024 riastradh

t_time_arith: New test for timer calculations.

This will facilitate fixing various problems in the arithmetic to
determine, given an itimer's scheduled time (it_value) and periodic
interval (it_interval) along with the current time of actual expiry
(now), what time the itimer should be rescheduled for (next, new
value of it_timer) on the same clock.

Later we can also put tests for other functions like tvtohz here, and
make them test many different values of hz/tick.

XXX Not 100% sure about all of these cases -- there is some room for
reasonable discussion about what the right answer is. But we have
unquestionably implemented the wrong thing for many of these cases,
even if the answers this test checks for may not be quite right yet.

PR kern/58922: itimer(9): arithmetic overflow
PR kern/58925: itimer(9) responds erratically to clock wound back
PR kern/58926: itimer(9) integer overflow in overrun counting
PR kern/58927: itimer(9): overrun accounting is broken


# 1.1351 18-Dec-2024 riastradh

tests/usr.bin/cc: Add test for ctype(3) detection.

PR lib/58912: ctype(3) abuse detection fails for variable references


# 1.1350 17-Dec-2024 christos

add a PT_KILL test.


# 1.1349 08-Dec-2024 rillig

lint: warn about do-while macros that end with a semicolon


# 1.1348 01-Dec-2024 rillig

lint: warn about function definitions that still use identifier lists


# 1.1347 23-Nov-2024 rillig

lint: use separate message when discarding a qualifier in call


# 1.1346 10-Nov-2024 riastradh

tests/kernel/t_cloexec: New tests for close-on-exec.

Verified that the following tests fail on a netbsd-10 kernel:

- clonedev_posixspawn
- dup3_posixspawn
- fcntldupfd_posixspawn

PR kern/58822: close-on-exec is broken for dup3 and opening cloning
devices


# 1.1345 30-Oct-2024 christos

Hook zstd to the build and enable it for libarchive and file.


# 1.1344 18-Oct-2024 christos

add makefs test


# 1.1343 17-Oct-2024 christos

more libarchive tests


# 1.1342 12-Oct-2024 riastradh

ftp(1): Add test for custom HTTP header fields.

Based on a patch from Sunil Nimmagadda <sunil@nimmagadda.net>.

PR bin/58581: ftp(1) should allow specifying header fields in http
requests


# 1.1341 09-Oct-2024 kre

Add a test for clock_nanotime() [ PR kern/58733 ]

Add a t_nanosleep test to the kernel tests, to (to a limited extent)
validate its functionality.

Initially this concentrates on the issue from PR kern/58733
where if a process paused in nanosleep() is stopped, and then
continued, and if it is using TIMER_ABSTIME, the call will
return prematurely, but indicating success.

There are (currently) 4 test cases, to test all 4 possibilities
using CLOCK_MONOTONIC and CLOCK_REALTIME (if someone wants to
add any other clocks that make sense, that should be easy) and
TIMER_ABSTIME and TIMER_RELTIME.

Currently both TIMER_ABSTIME tests fail (the TIMER_RELTIME
tests pass). When the kernel bug is fixed, the ABSTIME
tests should be fixed along with it.

These tests are currently somewhat crude, and I'm not sure
how well they will work on a qemu test system (they work as
expected on bare metal).


# 1.1340 03-Oct-2024 christos

new semtimedop(2) GSoC 2024 (Shivraj Jamgade)


# 1.1339 19-Sep-2024 gdt

tests: Add test for remquo

This test currently fails, because remquo has bugs. (A bugfix will be
committed soon.) Test vectors derived from results from code by
Charles Karney in GeodesicLib/proj, and manually inspected.


# 1.1338 15-Sep-2024 martin

Mark new if_bridge test files as conditional on RUMP


# 1.1337 09-Sep-2024 riastradh

math.h: Add math_errhandling, MATH_ERRNO, MATH_ERREXCEPT.

XXX Should maybe put a __math_errhandling in machine/math.h, but only
VAX uses MATH_ERRNO and that's not likely to change any time soon, so
this will serve for now with less churn.

PR standards/56234: missing C99 frobs in <math.h>


# 1.1336 03-Sep-2024 ozaki-r

distrib: install uuencoded pcap files for testing


# 1.1335 02-Sep-2024 ozaki-r

distrib, etc: install shmif_pcapin and its tests


# 1.1334 27-Aug-2024 riastradh

arc4random(3): Add automatic tests.

This verifies that:
- arc4random zeroes its state and reseeds itself on fork
- arc4random reseeds itself on entropy consolidation (e.g., VM clone)
- arc4random falls back to global state if it can't allocate local
state because address space limits cause mmap to fail

NOTE: This adds a new libc symbol __arc4random_global, but it's in
the reserved namespace and only used by t_arc4random, so no libc
minor bump.

PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork


# 1.1333 20-Aug-2024 ozaki-r

tests: add tests for shmif

The test file is placed under tests/net, not tests/rump/rumpnet,
to leverage utility functions provided for tests in there.


# 1.1332 15-Aug-2024 riastradh

libc: New functions c8rtomb(3) and mbrtoc8(3).

New in C23, for converting from UTF-8 to locale-dependent multibyte
sequences (c8rtomb) or vice versa (mbrtoc8), along with the new type
char8_t.

Conditional on either:
- _NETBSD_SOURCE
- _ISOC23_SOURCE
- __STDC_VERSION__ >= 202311L

(Riding the libc minor bump from this morning for the UTF-16/UTF-32
versions from C11.)

PR standards/58601: uchar.h C23 compliance: char8_t, mbrtoc8, c8rtomb


# 1.1331 15-Aug-2024 riastradh

libc: New C11 functions mbrtoc16, mbrtoc32, c16rtomb, c32rtomb.

The mbrtoc16/32 functions read mulitbyte strings according to the
current locale into UTF-16/32 code unit sequences; the c16/32rtomb
functions write UTF-16/32 code unit sequences into multibyte strings
according to the current locale. The `r' means restartable: they
work incrementally and pick up where they left off.

NOTE: This bumps the libc minor version, since it adds new symbols.

PR lib/52374: <uchar.h> missing


# 1.1330 15-Aug-2024 riastradh

uchar.h: New header file for C11 (and C++11) compliance.

Implementation of the new functions mbrtoc16, c16rtomb, mbrtoc32, and
c32rtomb to come later. Updates for C23 to come later.

PR lib/52374: <uchar.h> missing


# 1.1329 09-Aug-2024 bad

add tests/kernel/t_umount.c: test case for unmount(2)

demonstrate that failing to umount and async mounted file system causes the
kernel syncer to start flushing dirty buffers for it.

PR kern/58564: async mounts revert to being synced after failed unmount


# 1.1328 10-Jul-2024 rillig

lint: add warning for '!(var = constant)'

This catches expressions like 'ATF_CHECK(errno = ENOENT)', which was
intended to use '==' instead of '='.


# 1.1327 10-Jul-2024 rillig

distrib/lists: format list of test files


# 1.1326 07-Jul-2024 riastradh

t_ifunc: Test with all combinations of {relro, bindnow}.

PR lib/57792


# 1.1325 01-Jul-2024 rillig

tests/make: add newly added test to file list


Revision tags: perseant-exfatfs-base-20240630 perseant-exfatfs-base
# 1.1324 16-Jun-2024 rillig

branches: 1.1324.2;
tests/morse: add basic tests


# 1.1323 15-Jun-2024 wiz

Really mark obsolete


# 1.1322 15-Jun-2024 wiz

add some obsolete files to set lists


# 1.1321 13-Jun-2024 martin

Add new test files for new libarchive version


# 1.1320 10-Jun-2024 kre

More libarchive update fallout, don't expect tests we don't install
any more to be present in the contructed filesystem


# 1.1319 09-Jun-2024 rillig

lint: warn about lossy floating point constant to integer conversions


# 1.1318 08-Jun-2024 rillig

tests/lint: group tests by topic


# 1.1317 08-Jun-2024 rillig

tests/lint: reorganize tests

Tests for a single working language construct don't usually need a
separate file, they can be grouped together, like in expr.c or gcc.c.


# 1.1316 11-May-2024 rillig

lint: warn when comparing an integer to a floating point constant


# 1.1315 05-May-2024 riastradh

tests/lib/libm: Test nextafter/nexttoward and variants.

The tests are fairly trivial but should work without any conditionals
about floating-point formats.


# 1.1314 28-Apr-2024 rillig

tests/cd9660: replace compressed blob with readable hexdump

This test is skipped in most circumstances because it creates a file
whose apparent size is 4.5 GB. It's an ISO 9660 image though,
containing mostly null bytes. Nevertheless, tmpfs doesn't allow such a
big file to be created, so this test is skipped in settings where /tmp
is on a tmpfs.

If the test is run, the ISO image is uncompressed, which takes several
minutes. Replace bzip2 with direct file creation from a hex dump of
that disk image, which is easier to inspect manually and also faster by
about 3 magnitudes.


# 1.1313 28-Apr-2024 riastradh

libstdc++: Add test for PR lib/58206, sync_with_stdio busted.


# 1.1312 22-Apr-2024 pho

Add a test for kern/58149

aarch64: Cannot return from a signal handler if SP was misaligned when the signal arrived


# 1.1311 15-Mar-2024 riastradh

libcrypto: Add some trivial tests for truncated SHA-512 variants.

These should use more of the test vectors from

https://csrc.nist.gov/Projects/Cryptographic-Algorithm-Validation-Program/Secure-Hashing#Testing

but this will do for now to detect the buffer overrun rake we left
lying around for ourselves.

PR lib/58039


# 1.1310 14-Mar-2024 rillig

tests/stat: test the left-aligned and right-aligned 'S' format


# 1.1309 03-Mar-2024 rillig

lint: check for unreachable bits and fields in snprintb formats

While here, clean up a few existing checks.


# 1.1308 02-Mar-2024 rillig

lint: check snprintb formats for overlapping bits and fields


# 1.1307 01-Mar-2024 rillig

lint: test format strings from snprintb calls

The functions snprintb and snprintb_m are specific to NetBSD, and their
format strings are tricky to get correct. Provide some assistance in
catching the most common mistakes.


# 1.1306 19-Feb-2024 riastradh

longjmp(3): Add test for PR lib/57946.


# 1.1305 03-Feb-2024 rillig

lint: warn about short octal escape followed by '8' or '9'

These mistakes is typically found in snprintb format directives but is
probably a typo everywhere else as well.


# 1.1304 02-Feb-2024 rillig

tests/lint: test UTF-8 mode


# 1.1303 02-Feb-2024 rillig

tests/lint: test lexing of characters and strings


# 1.1302 27-Jan-2024 rillig

tests/lint: test integer constants in different language levels


# 1.1301 25-Jan-2024 mrg

add missing mtree subdir and it's Atffile.


# 1.1300 25-Jan-2024 riastradh

mtree(8): Test the installed sets.

Except etc and xetc, which likely won't match for reasons that aren't
great, like etc including empty log files which in an installed
system have probably changed.

This test will probably fail, but we should make sure it doesn't!

PR misc/57877


# 1.1299 23-Jan-2024 rillig

tests/lint: revert accidental addition of test for lint message 356


# 1.1298 23-Jan-2024 rillig

lint: rename symt_t to symbol_kind

It was confusing to have two kinds of "symbol type" (s_type and s_symt),
so rename all related identifiers to be more distinctive.

No functional change.


# 1.1297 24-Nov-2023 riastradh

pthread: Add tests for pthread user stack allocation.

PR lib/57721

XXX pullup-10
XXX pullup-9
XXX pullup-8


# 1.1296 10-Nov-2023 christos

Add test for:
PR/57689: RVP: getcwd() not overridable with -D_FORTIFY_SOURCE


# 1.1295 17-Oct-2023 rjs

The t_fdrestart test requires rump.


# 1.1294 15-Oct-2023 riastradh

t_fdrestart: New test of closing fd with another thread in I/O on it.

Adapted from regress/sys/kern/dislodgefd.

PR kern/57659


# 1.1293 26-Aug-2023 rillig

tests/usr.bin/error: add basic tests for several error message styles


# 1.1292 26-Aug-2023 riastradh

certctl(8): New tool for managing OpenSSL CA certificates.

Same command-line syntax as FreeBSD, clearer semantics about which
parts are config and which parts are cache.


# 1.1291 20-Aug-2023 riastradh

distrib/sets/lists/tests: Correction: h_inotify_* are MI.

Debug lists are probably still wrong, though -- looks like there's no
rule to change h_inotify_*.out.debug to h_inotify_*.debug. Out of
energy to look into this further, though; please fix me!


# 1.1290 20-Aug-2023 riastradh

distrib/sets/lists: /usr/tests/compat/linux/h_* is amd64-only for now.


# 1.1289 20-Aug-2023 riastradh

distrib/sets/lists: Add .debug files for new compat/linux tests.


# 1.1288 19-Aug-2023 christos

Add inotify tests


# 1.1287 07-Aug-2023 rillig

tests/lint: show that portable mode depends on PTRDIFF_TSPEC

Since 2023.07.08.12.45.43, lint warns in lib/libkvm on i386.


# 1.1286 06-Aug-2023 rillig

tests/lint: document how much of C99 lint already implements


# 1.1285 04-Aug-2023 riastradh

t_ubsan, t_ubsanxx: Remove gcc=10, gcc=12 conditionals.

These are built unconditionally. Should help fix the clang build.


# 1.1284 03-Aug-2023 rillig

lint: make '_Static_assert' only available in C11 or C23 mode


# 1.1283 03-Aug-2023 rin

Fix lists for HAVE_GCC=12.


# 1.1282 03-Aug-2023 nia

Revert addition of epoll to libc until discussion concludes


# 1.1281 01-Aug-2023 mrg

various updates for GCC 12

- bump some shlibs
- add new header files
- add compiler-version header files
- disable sanitizer libraries for gcc12 for now


# 1.1280 30-Jul-2023 riastradh

ld.elf_so: Add some known-answer tests for hash functions.

Make sure the testing mechanism detects the traditional overflow bug.


# 1.1279 29-Jul-2023 christos

Add tests for t_memfd_create and fix bug found by tests


# 1.1278 28-Jul-2023 christos

Add epoll(2) from Theodore Preduta as part of GSoC 2023


# 1.1277 15-Jul-2023 rillig

tests/lint: demonstrate use-after-free in GCC statement expression


# 1.1276 12-Jul-2023 rillig

tests/lint: add test for _Noreturn from C11


# 1.1275 07-Jul-2023 rillig

tests/lint: merge duplicate tests for C11 _Atomic


# 1.1274 05-Jul-2023 rillig

tests/lint: add platform-specific tests for troublesome pointer casts


# 1.1273 03-Jul-2023 rillig

tests/lint: move platform-specific query tests to separate files

This fixes the tests on 'unsigned char' platforms.

Thanks martin@ for the notification.


# 1.1272 02-Jul-2023 rillig

lint: add initial support for C23

Required by xsrc/external/mit/MesaLib.old, brw_eu_validate.c, which
initializes a struct using empty braces: 'return (struct string){};'.


# 1.1271 16-Jun-2023 rillig

indent: merge lexer symbols for type in/outside parentheses


# 1.1270 16-Jun-2023 wiz

mark some openssl 1.1 files as obsolete with openssl 3


# 1.1269 16-Jun-2023 rillig

tests/make: add test for multiple-inclusion guards


# 1.1268 16-Jun-2023 rillig

tests/make: clean up tests for the ':M' and ':S' modifiers


# 1.1267 14-Jun-2023 rillig

indent: merge parser symbols for stmt and stmt_list

They were handled in exactly the same way.


# 1.1266 01-Jun-2023 rillig

tests/make: clean up comments, extend a few tests


# 1.1265 31-May-2023 riastradh

ld.elf_so: New test for extern initial-exec TLS, PR toolchain/50277.

XXX pullup-10


# 1.1264 20-May-2023 rillig

tests/indent: migrate test driver from AWK to Lua

Lua reports more details when os.execute fails, which is useful when
running old versions of indent for comparison. The new test driver also
supports multiple test files in the same run.


# 1.1263 13-May-2023 rillig

tests/indent: add test for lexing of numbers


# 1.1262 13-May-2023 rillig

distrib/sets: format tests list


# 1.1261 10-May-2023 christos

update the sets for OpenSSL-3.x


# 1.1260 10-May-2023 rillig

tests/make: clean up tests for .for loops

Most of the tests from forloop.mk were already in directive-for.mk.


# 1.1259 09-May-2023 sjg

make: add :mtime to provide mtime of file

The value of the variable is passed to stat(2)
and st_mtime is new value.
An optional arg can be used if stat(2) fails, otherwise
the current time is used.

See varmod-mtime.mk for usage examples.


# 1.1258 23-Apr-2023 rillig

tests/lint: test command line parsing for message and query IDs

The parsing methods differ but shouldn't.


# 1.1257 21-Apr-2023 gutteridge

Add new test t_open_pr_57260

New test case that reflects the fix in PR kern/57260. The majority of
work for this case itself was by riastradh@, who'd supplied the basis
for it in the ticket, and provided further guidance.


# 1.1256 28-Mar-2023 rillig

lint: warn about 'extern' declarations inside function bodies

https://mail-index.netbsd.org/tech-userlevel/2023/03/15/msg013727.html

The previous attempt (message 351 about 'extern' declarations outside
headers) did not cover the proposal from the tech-userlevel mailing list
but instead warns about a different usage pattern of the 'extern'
keyword.


# 1.1255 28-Mar-2023 rillig

lint: warn about extern declarations outside headers

https://mail-index.netbsd.org/tech-userlevel/2023/03/15/msg013727.html


# 1.1254 27-Feb-2023 rillig

lint: split platform-specific test for loss of accuracy

Lint distinguishes between platforms where size_t is unsigned int and
platforms where size_t is unsigned long.


# 1.1253 24-Feb-2023 martin

Add mew file make/unit-tests/meta-ignore.inc


# 1.1252 05-Feb-2023 rillig

tests/lint: merge tests for initialization


# 1.1251 05-Feb-2023 rillig

tests/lint: remove redundant tests

The names of the tests were misleading: 'recursive' should have been
'nested', and the interesting topic in the 'cast' tests was not the cast
but the pointer dereference.


# 1.1250 30-Jan-2023 christos

add t_strchrnul


# 1.1249 29-Jan-2023 rillig

tests/lint: merge tests for '>>'


# 1.1248 23-Jan-2023 sjg

make: .[NO]READONLY for control of read-only variables

Reviewed by: rillig


# 1.1247 22-Jan-2023 rillig

tests/lint: merge tests for declaration after statement


# 1.1246 21-Jan-2023 rillig

lint: add support for the C11 type qualifier '_Atomic'

That keyword can be used as a type specifier as well, support for that
will be added later.


# 1.1245 21-Jan-2023 rillig

tests/lint: test _Atomic, added in C11


# 1.1244 19-Jan-2023 rillig

tests/make: rename files that are not test cases


# 1.1243 16-Jan-2023 rillig

distrib/sets: add missing directory for xlint tests


# 1.1242 15-Jan-2023 rillig

tests/lint: add basic tests for lint (not lint1 or lint2)


# 1.1241 15-Jan-2023 rillig

tests/lint: add test for parsing sizeof expressions


# 1.1240 15-Jan-2023 rillig

distrib/sets: sort list of test files

In ASCII, '_' comes before lowercase letters.


# 1.1239 04-Jan-2023 rillig

tests/lint: merge tests for ':?' with null pointer constant


Revision tags: netbsd-10-base
# 1.1238 01-Dec-2022 ozaki-r

branches: 1.1238.2;
tests: fix Makefile and lists for MKRUMP=no

Pointed out by Michael Scholz, thanks.


# 1.1237 30-Nov-2022 ozaki-r

tests: build and install t_ip_reass.c


# 1.1236 25-Nov-2022 knakahara

Add ATF for unnumbered interfaces.


# 1.1235 22-Nov-2022 jakllsch

Fix h_lualibm debug set lists.


# 1.1234 21-Nov-2022 christos

lua libm API from Phil Rulon


# 1.1233 17-Nov-2022 ozaki-r

distrib: add missing ./usr/libdata/debug/usr/tests/net/inpcb


# 1.1232 17-Nov-2022 ozaki-r

tests: build and install added test files


# 1.1231 17-Nov-2022 chs

Restore backward compatibility of UFS2 with previous NetBSD releases by
disabling support in UFS2 for extended attributes (including ACLs).
Add a new variant of UFS2 called "UFS2ea" that does support extended attributes.
Add new fsck_ffs operations "-c ea" and "-c no-ea" to convert file systems
from UFS2 to UFS2ea and vice-versa (both of which delete all existing extended
attributes in the process).


# 1.1230 10-Nov-2022 blymn

Added new libcurses test checkfile.


# 1.1229 09-Nov-2022 knakahara

Add test for sys/netipsec/ipsec.c:r1.176.


# 1.1228 08-Nov-2022 blymn

Added a new check file for libcurses test slk


# 1.1227 04-Nov-2022 ozaki-r

tests: add tests for invalid extra operations on a shutdown socket

The tests cover some error paths that normally happen.


# 1.1226 04-Nov-2022 ozaki-r

sets: fix wrong keywords for tests/net/tcp


# 1.1225 02-Nov-2022 ozaki-r

tests: add tests for TCP with nc


# 1.1224 11-Oct-2022 knakahara

Add test for sadb_x_policy->sadb_x_policy_flags.


# 1.1223 09-Sep-2022 wiz

grep: when -r is used, but no path argument provided, search the current dir

As discussed on tech-userlevel.


# 1.1222 03-Sep-2022 rillig

tests/make: remove nonexistent file from file list

The file had been added accidentally, it never existed in distdir.


# 1.1221 02-Sep-2022 sjg

Enable make/unit-tests/directive-for-break

Also ensure MAKE_VERSION is ignored.


# 1.1220 27-Aug-2022 christos

Add sincos{,f,l} from FreeBSD


# 1.1219 12-Aug-2022 riastradh

cgdconfig(8): Add support for shared keys.

New clause `shared <id> algorithm <alg> subkey <info>' in a keygen
block enables `cgdconfig -C' to reuse a key between different params
files, so you can, e.g., use a single password for multiple disks.
This is better than simply caching the password itself because:

- Hashing the password is expensive, so it should only be done once.

Suppose your budget is time t before you get bored, and you
calibrate password hash parameters to unlock n disks before you get
bored waiting for `cgdconfig -C'.

. With n password hashings the adversary's cost goes up only by a
factor of t/n.
. With one password hashing and n subkeys the adversary's cost goes
up by a factor of n.

And if you ever add a disk, rehashing it will make `cgdconfig -C'
go over budget, whereas another subkey adds negligible cost to you.

- Subkeys work for other types of keygen blocks, like shell_cmd,
which could be used to get a key from a hardware token that needs a
button press.

The <info> parameter must be different for each params file;
everything else in the keygen block must be the same. With this
clause, the keygen block determines a shared key used only to derive
keys; the actual key used by cgdconfig is derived from the shared key
by the specified algorithm.

The only supported algorithm is hkdf-hmac-sha256, which uses
HKDF-Expand of RFC 5869 instantiated with SHA-256.

Example:

algorithm aes-cbc;
iv-method encblkno1;
keylength 128;
verify_method none;
keygen pkcs5_pbkdf2/sha1 {
iterations 39361;
salt AAAAgMoHiYonye6KogdYJAobCHE=;
shared "pw" algorithm hkdf-hmac-sha256
subkey AAAAgFlw0BMQ5gY+haYkZ6JC+yY=;
};

The key used for this disk will be derived by

HKDF-HMAC-SHA256_k(WXDQExDmBj6FpiRnokL7Jg==),

where k is the outcome of PBKDF2-SHA1 with the given parameters.

Note that <info> encodes a four-byte prefix giving the big-endian
length in bits of the info argument to HKDF, just like all other bit
strings in cgdconfig parameters files.

If you have multiple disks configured using the same keygen block
except for the info parameter, `cgdconfig -C' will only prompt once
for your passphrase, generate a shared key k with PBKDF2 as usual,
and then reuse it for each of the disks.


# 1.1218 12-Aug-2022 riastradh

cgdconfig(8): New -t operation just prints the derived key in base64.

For testing purposes.


# 1.1217 21-Jul-2022 kre

Add ATF tests for realpath(1)

Note that realpath can act differently for root than for other users
(where an ordinary user will see EACCESS root just barrels right through).

The tests adapt themselves, when run as root, less error cases can be
tested than when run as some other user.


# 1.1216 05-Jul-2022 rillig

lint: add additional queries that are not enabled by default

In the last 18 months, several lint warnings have been made adjusted to
allow common usage patterns. For example, lint no longer warns about a
constant condition in the statement 'do { ... } while (false)' (message
161), as this pattern is well-known in statement-like macros, making it
unlikely that the 'false' is a mistake. Another example is casts
between unequal pointer types (message 247) for a few well-known
patterns that are unlikely to be bugs.

Occasionally, it is useful to query the code for patterns or events that
would not justify a warning. These patterns are modeled as predefined
queries that can be selected individually, in addition to and
independently of the existing warnings and errors.

New queries can be added as needed, in the same way as new warnings.
Queries that are deemed no longer used can be deactivated in the same
way as warnings that are no longer used.

As long as none of the queries is enabled, they produce a minimal
overhead of querying a single global variable. Computations that are
more expensive than a few machine instructions should be guarded by
any_query_enabled.

https://mail-index.netbsd.org/source-changes-d/2022/06/28/msg013716.html

ok christos@


# 1.1215 17-Jun-2022 rillig

tests/lint: remove .exp files, as they have become redundant

Now that each lint1 test lists all generated diagnostics as 'expect'
comments, the information from the .exp files is no longer needed. The
only information that gets lost is the order of the diagnostics, which
is mostly relevant for paired messages like 'inconsistent definition' +
'previous definition was here'.


# 1.1214 16-Jun-2022 rillig

tests/lint: add more details to messages in msg_200 until msg_299

Add some tests that were previously empty. Some other tests are still
empty.


# 1.1213 16-Jun-2022 rillig

tests/lint: make expectation lines in the tests more detailed

This commit migrates msg_100 until msg_199.


# 1.1212 10-Jun-2022 rillig

tests/lint: fix test for loss of accuracy on ILP32 platforms

The test had been wrong since msg_132.c 1.14 from 2022-05-30.

Using 'unsigned long' in a test that was intended to behave the same on
ILP32 and LP64 was an accident. Use 'unsigned long long' instead, which
is 64-bits wide on all platforms supported by lint.

Move the test about conversion from 'long' to 'int' to the
platform-specific test files.

Noticed by martin@ on powerpc.


# 1.1211 06-Jun-2022 nia

Remove accidentally committed merge conflict line.


# 1.1210 06-Jun-2022 nia

build system: Revert all the recent additions of MK[...] knobs that
allow conditionally disabling the building of certain user space
programs in the 'base' set.

There is not enough consensus that this is the right way and a few
people had strong objections, see source-changes-d@.


# 1.1209 31-May-2022 riastradh

libc: Reintroduce getentropy.

This was introduced two years ago when the getrandom/getentropy API
question was still open, and removed because the discussion was
ongoing. Now getentropy is more widely adopted and soon to be in
POSIX. So reintroduce the symbol into libc since we'll be keeping it
anyway. Discussion of details of the semantics, as interpreted by
NetBSD, is ongoing, but the symbol needs to get in before the
netbsd-10 branch. The draft POSIX text is
(https://www.opengroup.org/austin/docs/austin_1110.pdf):

SYNOPSIS
#include <unistd.h>

int getentropy(void *buffer, size_t length);

DESCRIPTION
The getentropy() function shall write length bytes of data
starting at the location pointed to by buffer. The output
shall be unpredictable high quality random data, generated by
a cryptographically secure pseudo-random number
generator. The maximum permitted value for the length
argument is given by the {GETENTROPY_MAX} symbolic constant
defined in <limits.h>.

RETURN VALUES
Upon successful completion, getentropy() shall return 0;
otherwise, -1 shall be retunred and errno set to indicate the
error.

ERRORS
The getentropy() function shall fail if:

[EINVAL] The value of length is greater than
{GETENTROPY_MAX}.

The getentropy() function may fail if:

[ENOSYS] The system does not provide the necessary
source of entropy.

RATIONALE
The getentropy() function is not a cancellation point.

Minor changes from the previous introduction of getentropy into libc:

- Return EINVAL, not EIO, on buflen > 256.
- Define GETENTROPY_MAX in limits.h.

The declaration of getentropy in unistd.h and definition of
GETENTROPY_MAX in limits.h are currently conditional on
_NETBSD_SOURCE. When the next revision of POSIX is finalized, we can
expose them also under _POSIX_C_SOURCE > 20yymmL as usual -- and this
can be done as a pullup without breaking existing compiled programs.


# 1.1208 27-May-2022 nia

mk: Add a MKLFS flag for excluding the log-structured filesystem userspace
tools from the build.


# 1.1207 23-May-2022 rillig

tests/make: document and demonstrate .for i containing .if empty(i)

PR bin/43821 describes the inconsistency that in a '.for i' loop, the
condition '.if ${i:M*.c}' works since 2009 while the seemingly
equivalent condition '.if !empty(i:M*.c)' does not access the variable
'i' from the .for loop but instead the global 'i'.

Resolving this situation in a backwards-compatible and non-surprising
way is hard, as make has grown several features during the last 20 years
that interact in various edge cases. For now, document the most obvious
pitfalls.


# 1.1206 22-May-2022 rillig

tests/compress: demonstrate truncation of target file

Reported by Giorgos Keramidas in PR#19722.


# 1.1205 12-May-2022 rillig

tests/lint: add more tests for __alignof__


# 1.1204 12-May-2022 rillig

tests/lint: adjust tests to reflect missing support of __alignof__

The change in lex.c 1.129 attempted to add support for __alignof, in
addition to the existing support for __alignof__. It failed by removing
support for __alignof__, while allowing the plain 'alignof' instead.


# 1.1203 08-May-2022 rillig

tests/make: remove test varquote

The test varmod-quote-dollar covers the same topic.


# 1.1202 08-May-2022 rillig

tests/make: migrate cond1 test to other, more specific tests

The tests in cond1 were a mixture of "everything related to conditions",
and the test cases were heavily dependent on each other, which made them
hard to understand. Move each test case to its corresponding
special-purpose test.


# 1.1201 29-Apr-2022 pgoyette

Add a new test for PR kern/56713 and set to expected_failure for now.


# 1.1200 28-Apr-2022 rillig

lint: revert resolving grammar conflicts for labeled statements

Restore the grammar rule for labeled_statement as it was before cgram.y
1.400 from 2022-04-24. This allows labels with attributes again. Fix
the wrong interpretation in the tests; the attributes belong to the
label, not to the statement.

Today in the morning, when I thought that the change in cgram.y 1.400
were innocent, I accidentally ran lint only with the options '-Sw' but
forgot the option '-g' for GNU mode. Without that option, the token
'__attribute__' is unknown, which unsurprisingly leads to lots of syntax
errors, and these didn't change with that commit. The actual change was
only visible in GNU mode.


# 1.1199 26-Apr-2022 blymn

Added new libcurses test.


# 1.1198 24-Apr-2022 rillig

tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.


# 1.1197 24-Apr-2022 rillig

tests/indent: migrate tests for parentheses, brackets, braces


# 1.1196 23-Apr-2022 rillig

tests/indent: migrate tests for the tokens '{' and '.'


# 1.1195 23-Apr-2022 rillig

tests/indent: migrate a few token tests to psym tests


# 1.1194 20-Apr-2022 blymn

Add test and check file for bkgrndset


# 1.1193 18-Apr-2022 rillig

make: only switch to POSIX mode if '.POSIX:' is the first line

https://pubs.opengroup.org/onlinepubs/9699919799/utilities/make.html
says that in order to make a makefile POSIX-conforming, its first
non-comment line must be the special dependency line '.POSIX:' without
any source dependencies.

Previously, make switched to POSIX mode even if such a line occurred
anywhere else, which was allowed by POSIX but was deep in the
"unspecified behavior" area. For NetBSD make, there is no big
difference since it doesn't ship any <posix.mk> file, this change mainly
affects the bmake distribution.

Previously, makefiles that contain '.POSIX:' somewhere in the middle
could fail due to <posix.mk> resetting .SUFFIXES, among other things.

Suggested by Simon J. Gerraty, who also reviewed an earlier version of
this change.


# 1.1192 08-Apr-2022 riastradh

membar_ops(3): Add some automatic tests.

These tests run two threads for five seconds each to try to trigger
races in the event of broken memory barriers. They run only on
machines with at least two CPUs; on uniprocessor systems there's no
point -- the membars can correctly just be (instruction barrier)
no-ops.


# 1.1191 08-Apr-2022 rillig

lint: remove unused message 70, add some more tests


# 1.1190 05-Apr-2022 rillig

tests/lint: add tests for a few early messages


# 1.1189 28-Mar-2022 christos

Add t_link


# 1.1188 12-Feb-2022 rillig

tests/make: document the history of bugs in '-k' mode

Reported in PR#49720 in 2015, fixed independently in compat.c 1.199 from
2020-12-07.


# 1.1187 12-Feb-2022 rillig

tests/make: demonstrate bug for .SILENT in jobs mode (since 2003)

Reported 2011 in PR#45356.


# 1.1186 07-Feb-2022 rillig

tests/make: demonstrate combination of .USE with transformation rule

Reported in 2003 in PR toolchain/20993. Linking a transformation rule
with .USE or .USEBEFORE node makes the transformation rule fail.


# 1.1185 23-Jan-2022 rillig

tests/make: migrate modts to varmod-to-separator and explain


# 1.1184 23-Jan-2022 rillig

tests/make: rename var-class to var-scope

There is no such concept as a "variable class" in make, these tests
focus on the variable scope instead.


# 1.1183 23-Jan-2022 rillig

tests/make: extend test suite, move old tests to 2020 scheme

The tests from envfirst.mk are now in opt-env.mk.
The tests from modword.mk are now in varmod-select-words.mk.


# 1.1182 19-Jan-2022 rillig

tests/make: demonstrate wrong location in diagnostic (since 2018-12-22)

When a target has multiple places where commands are defined, the
diagnostics mixed up the filename in some cases.


# 1.1181 28-Dec-2021 rillig

tests/make: document inconsistencies between '!=' and '::!='

Found while trying to make the error messages from Cmd_Exec more
detailed.


# 1.1180 23-Dec-2021 rillig

tests/make: explain the current behavior of the option '--version'


# 1.1179 20-Dec-2021 rillig

tests/lint: test excess braces around initializers


# 1.1178 14-Dec-2021 rillig

make: remove unreachable code for parsing the dependency operator

At the point where ParseDependencyOp is called, cp is guaranteed to
point to either ':' or '!'.

No functional change.


# 1.1177 13-Dec-2021 rillig

tests/make: extend tests for parsing makefiles


# 1.1176 12-Dec-2021 rillig

tests/make: test and document the newly added "variable" .SUFFIXES


# 1.1175 06-Dec-2021 rillig

tests/lint: demonstrate wrong warning for __builtin_alloca


# 1.1174 05-Dec-2021 rillig

make: fix use-after-free in modifier ':@'

Without memory allocator debugging, the newly added test doesn't show
any obvious failure.

With memory allocator debugging enabled, all make versions since
2016.02.27.16.20.06 crash with a segmentation fault.


# 1.1173 28-Nov-2021 rillig

tests/indent: migrate token_question to lsym_question and extend it


# 1.1172 28-Nov-2021 rillig

tests/indent: migrate test token_case_label to lsym_case_label


# 1.1171 28-Nov-2021 rillig

tests/indent: migrate token_comma to lsym_comma

The section on initializer values is new.


# 1.1170 28-Nov-2021 rillig

tests/indent: move test for ':' to lsym_token.c


# 1.1169 28-Nov-2021 rillig

indent: treat L"string" as a single token

There is never whitespace between the 'L' and the string literal or the
character constant. There might be a backslash-newline between them, but
that case was not handled before either.

No functional change.


# 1.1168 18-Nov-2021 rillig

tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.


# 1.1167 18-Nov-2021 rillig

distrib/sets: sort mi file


# 1.1166 18-Nov-2021 thorpej

Add a test case for backtrace(3) across a signal handler.


# 1.1165 17-Nov-2021 kre

Adjust new libcurses test filenames to the ones atually installed.
Possibly the intent was that the names used here were correct, and
the error is where they're installed - if so, that can be corrected later.

Hopefully this will fix the remaining current build issue.


# 1.1164 16-Nov-2021 blymn

Add more check files for libcurses tests.


# 1.1163 15-Nov-2021 blymn

Add new check files for curses atf.


# 1.1162 30-Oct-2021 rillig

lint: warn if an enum name is used for mismatched array access

This helps to keep the enum definition and the straight-forward
implementation of a to_string or name function in sync.

The test for message 241 had to be adjusted because of exactly this bug.
That test defined a bit mask enum but accessed it like a value enum
type.


# 1.1161 23-Oct-2021 rillig

tests/indent: migrate remaining tests from t_indent to t_options

The test types_from_file was a subset of opt_U and thus has been
removed.


# 1.1160 23-Oct-2021 rillig

tests/indent: migrate test for '-bap -sob' to t_options


# 1.1159 23-Oct-2021 rillig

tests/indent: migrate test for '--version' to t_options


# 1.1158 23-Oct-2021 rillig

tests/indent: migrate test for offsetof to t_options


# 1.1157 23-Oct-2021 rillig

tests/indent: remove redundant test list_head

The test cases are already in fmt_decl.c, in old_style_definition and
LIST_HEAD.


# 1.1156 23-Oct-2021 rillig

tests/indent: migrate f_decls to using t_options, add more tests


# 1.1155 23-Oct-2021 thorpej

Fix a regression introduced in kern_event.c,v 1.129 that would cause
"udata" to get clobbered on ONESHOT events, and add a unit test for it.
Reported by martin@ (manifested in his case as a KASSERT() firing when
running unit tests in COMPAT_NETBSD32).


# 1.1154 23-Oct-2021 thorpej

Add support for the EVFILT_EMPTY filter, which is activated when the
write buffer associated with the file descriptor is empty. This is
currently implemented only for sockets, and is intended primarily to
provide visibility to applications that all previously written data
has been acknowledged by the TCP layer on the receiver. Compatible
with the same filter in FreeBSD.


# 1.1153 22-Oct-2021 rillig

tests/indent: fix file list


# 1.1152 22-Oct-2021 rillig

tests/indent: fix file list

lex.c got renamed to lex_ident.c.


# 1.1151 22-Oct-2021 rillig

tests/indent: migrate integer options tests to t_options


# 1.1150 22-Oct-2021 rillig

tests/indent: migrate tests for parentheses, struct, #if, wide char


# 1.1149 22-Oct-2021 rillig

tests/indent: migrate a few more tests to t_options


# 1.1148 19-Oct-2021 rillig

tests/indent: add test for INDENT OFF/ON comments

Just to prevent unintended side effects when fixing bugs in this area.


# 1.1147 18-Oct-2021 rillig

tests/indent: remove redundant tests for '-ncs' and '-pcs'

These tests are already covered by opt_cs.c and opt_pcs.c.


# 1.1146 18-Oct-2021 rillig

tests/indent: condense test for indentation level, add missing files


# 1.1145 18-Oct-2021 rillig

tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.


# 1.1144 18-Oct-2021 rillig

tests/indent: extend tests for labels, extract test driver

Having the test driver in a separate file allows to run it on its own,
as 'awk -f t_options.awk label.c'. When the test driver warns, exit 1;
this is only needed for the standalone version, when run from inside ATF
the warnings on stderr already suffice to make the test fail in the end.


# 1.1143 18-Oct-2021 rillig

tests/indent: consolidate tests for comments

These tests have been the motivation for t_options.sh, which allows to
run indent with various command line options on the same input, without
having to create 3 files per test case.

A test file actually contains several tests, all separated by '#indent'
directives. Isolating each of these tests is simpler than having to pick
up the corresponding sections from 3 separate files. Running indent on
each small test case isolates the test cases from each other, preventing
them to influence later test cases. Exactly this had happened when
support for C99 comments was added in March 2021, which later turned
out to be done wrong.


# 1.1142 18-Oct-2021 rillig

tests/indent: merge tests for numbers into token_ident

The previous tests 'binary' and 'float' not only test binary and
floating point numbers, making their names too specific. Move them into
a new test token_ident that covers all "identifier-like" tokens, just as
in the code.

The test cases for the option '-cs' are already covered more
systematically in opt_cs.c, so remove that test.


# 1.1141 16-Oct-2021 rillig

tests/indent: add newly added t_options to file list


# 1.1140 16-Oct-2021 rillig

tests/indent: remove accidentally added file from the mi list


# 1.1139 16-Oct-2021 rillig

tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.


# 1.1138 14-Oct-2021 rillig

tests/indent: provide full line coverage for argument handling


# 1.1137 13-Oct-2021 rillig

indent: check command line options stricter

Previously, bool options were allowed to have trailing garbage. For
example, the option '-bacc' could be spelled '-bacchus' as well.

Check that the exact option name is given in the command line, to
prevent typos in the configuration files and to reduce surprises just in
case a future option is a prefix of an existing option, or vice versa.

Add a new test program for error handling. Most of these tests are so
simple that it would be overkill to create 3 files for each test.


# 1.1136 13-Oct-2021 thorpej

Add support for the NOTE_SECONDS, NOTE_MSECONDS, NOTE_USECONDS,
NOTE_NSECONDS, and NOTE_ABSTIME filter flags to EVFILT_TIMER,
API-compatible with the same in FreeBSD.


# 1.1135 10-Oct-2021 thorpej

Add a test case for the race condition in PR kern/50094, modeled after
the Go run-time scenario described in the PR.


# 1.1134 10-Oct-2021 thorpej

Add a test case to heavily exercise EVFILT_PROC + NOTE_TRACK.


# 1.1133 07-Oct-2021 rillig

tests/indent: test parsing of command line options in profile file


# 1.1132 05-Oct-2021 rillig

tests/indent: demonstrate off-by-one error in edge case


# 1.1131 30-Sep-2021 yamaguchi

Added tests for the linear hook APIs


# 1.1130 26-Sep-2021 rillig

tests/lint: add tests for platform characteristics

Running lint in usr.bin/make on i386 fails due to this warning:

cond.c(800): warning: argument #3 is converted from 'unsigned char' to
'unsigned int' due to prototype [259]

This warning only occurred on i386 but not on sparc or x86_64. Try to
reproduce the test situation in platform_int.

The platform code in t_integration.sh was not strict enough, it didn't
check for multiple conditions, such as in msg_132_ilp32. That test was
only supposed to run on ILP32 platforms where size_t is unsigned int. It
also ran on sparc, even though size_t is long there.


# 1.1129 25-Sep-2021 rillig

tests/indent: test deeply nested struct declarations


# 1.1128 25-Sep-2021 rillig

tests/indent: test edge cases for the tokenizer


# 1.1127 25-Sep-2021 rillig

tests/indent: test lexing of character constants and string literals


# 1.1126 19-Sep-2021 thorpej

Add native implementations of eventfd(2) and timerfd(2), compatible with
the Linux interfaces of the same name.


# 1.1125 13-Sep-2021 rillig

tests/lint: add more tests for direct-abstract-declarator

Lint's grammar in this area differs a lot from the grammar in C99. GCC's
parser has a long comment about special cases in this area. It's tricky
to even parse these type names correctly, let alone assign them the
correct types, that's why it needs more tests before trying to refactor
that code.


# 1.1124 12-Sep-2021 rillig

lint: add more details to error about redeclaration

Message 27 is triggered by several conditions. The one triggered by
register_vget in sbin/fsck_lfs/vnode.c needs more details than the
others.


# 1.1123 10-Sep-2021 rillig

tests/lint: test line number tracking with \v and \f


# 1.1122 03-Sep-2021 rillig

tests/lint: test GCC builtins for overflow in strict bool mode

Seen in inetd.c.


# 1.1121 31-Aug-2021 rillig

tests/lint: add test for prototype conversions in C90

The purpose of warning 259 is to find function calls that differ in the
ABI. The warning's original purpose was not to warn about lossy
conversions, that's just a side effect.

Warning 259 had been implemented before C99 was published, which is more
than 20 years ago. In the meantime, almost all code has migrated to
using function prototypes. With the default lint flags from NetBSD's
<sys.mk>, it would rather make sense to focus on lossy conversions now.

To prepare for potentially upcoming differences in lint's C90 and C99
modes, clone the test now as far as possible. The test for C90 mode is
smaller than for C99 mode, since 'long long' was not available back
then.


# 1.1120 30-Aug-2021 rillig

tests/make: explain where "${var}" in .for loops comes from


# 1.1119 29-Aug-2021 christos

Inetd enhancements by James Browning, Gabe Coffland, Alex Gavin, Solomon Ritzow
Described in:
https://www.mail-archive.com/tech-userlevel@netbsd.org/msg03114.html
And developed in:
https://github.com/ritzow/src/pull/1

From their notes:

All new functionality should be explained by the updated manpage.

The manpage has been refactored a bit: A new section "Directives"
has been added and the information about default hostnames and
IPsec directives has been moved there, and the new file include
directive information is also there.

getconfigent has the most major changes. A newline is no longer
read immediately, but is called only by a "goto more" (inside an
if(false) block). This allows multiple definitions or directives
to exist on a single line for anything that doesn't terminate using
a newline. This means a key-values service definition can be followed
by another key-values service definition, a positional definition,
or an ipsec, hostname, or .include directive on the same line.

memset is no longer used explicitly to clear the servtab structure,
a function init_servtab() is used instead, which uses a C struct
initializer.

The servtab se_group field is its own allocation now, and not just
a pointer into the user:group string.

Refactored some stuff out of getconfigent to separate functions
for use by parse_v2.c. These functions in inetd.c are named with
the form parse_*()

parse_v2.c only has code for parsing a key-values service definition
into a provided servtab. It should not have anything that affects
global state other than line and line_number.

Some function prototypes, structures, and #defines have been moved
from inetd.c to inetd.h.

The function config_root replaces config as the function called on
a config file load/reload. The code removed from the end of
config(void) is now called in config_root, so it is not run on each
recursive config call.

setconfig(void) was removed and its code added into config_root
because that is the only place it is called, and redundant checks
for non-null globals were removed because they are always freed by
endconfig. The fseek code was also removed because the config files
are always closed by endconfig.

Rate limiting code was updated to add a per-service per-IP rate
limiting form. Some of that code was refactored out of other places
into functions with names in the form rl_*()

We have not added any of the license or version information to the
new files parse_v2.c, parse_v2.h, and inetd.h and we have not
updated the license or version info for inetd.c.

Security related:

The behavior when reading invalid IPsec strings has changed. Inetd
no longer exits, it quits reading the current config file instead.
Could this impact program security?

We have not checked for memory leaks. Solomon tried to use dmalloc
without success. getconfigent seemed to have a memory leak at each
"goto more". It seems like inetd has never free'd allocated strings
when throwing away erroneous service definitions during parsing
(i.e. when "goto more" is called when parsing fields). OpenBSD's
version calls freeconfig on "goto more"
(https://github.com/openbsd/src/blob/c5eae130d6c937080c3d30d124e8c8b86db7d625/usr.sbin/inetd/inetd.c#L1049)
but NetBSD only calls it when service definitions are no longer
needed. This has been fixed. freeconfig is called immediately before
any "goto more". There shouldn't be any time when a servtab is in
an invalid state where freeconfig would break.


# 1.1118 28-Aug-2021 rillig

tests/lint: demonstrate hashcode sorting of the lint2 output

The hashcodes modulo 1009 are:

48 func7000
637 func0000
646 no_prototype
697 func1000
757 func2000
817 func3000
877 func4000
937 func5000
997 func6000


# 1.1117 25-Aug-2021 rillig

tests/lint: test conversion from long long to intptr_t on ilp32

Seen in usr.bin/make/var.c:1608.


# 1.1116 24-Aug-2021 rillig

lint: allow libraries to use 128-bit integer types


# 1.1115 24-Aug-2021 rillig

tests/lint2: reduce indentation for mi files


# 1.1114 22-Aug-2021 rillig

tests/lint: demonstrate wrong constant folding in strict bool mode

Found while investigating wrong constant folding in default mode.


# 1.1113 19-Aug-2021 rillig

tests/lint: test folding of constant expressions

Since November 2001, there is a comment above the function 'fold' that
suggests there are a few bugs concerning overflow detection. Add some
first 'proper regression tests' to prove these bugs.


# 1.1112 16-Aug-2021 rillig

tests/lint: test arithmetic promotions and enums


# 1.1111 12-Aug-2021 martin

add directory for debug data for mkdep tests


# 1.1110 11-Aug-2021 rillig

tests/mkdep: test findcc

This function is used by both mkdep and lint.


# 1.1109 09-Aug-2021 rillig

lint: warn about 'char * = strchr(const char *, int)'

Found in findcc.c, there are about 25 other instances of this
incongruency in the whole source tree.

For more examples of functions from the C Standard Library that
implicitly remove the 'const' qualifier from an argument, see the C++
include file 'cstring'.


# 1.1108 08-Aug-2021 rillig

tests/lint: make list of tests simpler

Since the file /usr/tests/usr.bin/xlint/lint2/tests has only been in the
file set for a few minutes, it is not marked as obsolete but simply
removed.


# 1.1107 07-Aug-2021 rillig

tests/lint: test reading of 128-bit integer types and printf


# 1.1106 07-Aug-2021 rillig

tests/lint: add test for reading the lint1 output


# 1.1105 06-Aug-2021 martin

Fix copy+pasto (wrong dir for t_lint2)


# 1.1104 05-Aug-2021 rillig

tests/lint: add test skeletons for messages from lint2


# 1.1103 05-Aug-2021 rillig

tests/lint: test emitting 128-bit integer types for lint2


# 1.1102 03-Aug-2021 rillig

tests/lint: test GCC extension for casting to union type


# 1.1101 03-Aug-2021 rillig

tests/lint: test casting a struct to another struct


# 1.1100 01-Aug-2021 rillig

tests/lint: test the usual arithmetic conversions in traditional C


# 1.1099 01-Aug-2021 rillig

tests/lint: test the usual arithmetic conversions

The function 'balance' does not mention __uint128_t and nevertheless
works as expected. Need to investigate further.


# 1.1098 31-Jul-2021 rillig

tests/make: split tests for the variable modifier ':O'

The tests for parse errors are now in varmod-order, which lets the other
tests focus on the desired behavior of the modifiers.


# 1.1097 30-Jul-2021 rillig

tests/make: register test varmod-order-numeric


# 1.1096 25-Jul-2021 rillig

tests/lint: cover every code line in the grammar


# 1.1095 25-Jul-2021 rillig

tests/lint: test declarators with attributes


# 1.1094 25-Jul-2021 rillig

tests/lint: demonstrate missing support for GCC typeof


# 1.1093 25-Jul-2021 rillig

tests/lint: test parse errors in statements

These errors are really unrealistic. Most parse errors that occur in
statements are already handled elsewhere and continue with the next
semicolon.

The tests had to be split into two separate files because lint assumes
that after the 5th parse error, it does not make sense to continue this
translation unit.


# 1.1092 25-Jul-2021 rillig

tests/lint: test parsing of type_name


# 1.1091 15-Jul-2021 rillig

tests/lint: cover more edge cases in the parser


# 1.1090 15-Jul-2021 rillig

tests/lint: test struct declarations


# 1.1089 15-Jul-2021 rillig

tests/lint: test precedence of operators


# 1.1088 14-Jul-2021 rillig

tests/lint: add several tests for edge cases in the grammar


# 1.1087 14-Jul-2021 ozaki-r

tests: add tests for ALTQ CBQ


# 1.1086 13-Jul-2021 rillig

tests/lint: test binary integer literals and underscores


# 1.1085 11-Jul-2021 rillig

lint: support __attribute__((hot))

The corresponding attribute 'cold' was already added in cgram.y 1.84
from 2016-12-29.


# 1.1084 11-Jul-2021 rillig

tests/lint: test dangling else


# 1.1083 10-Jul-2021 rillig

tests/lint: test declarations


# 1.1082 10-Jul-2021 rillig

tests/lint: add more tests for covering the grammar


# 1.1081 09-Jul-2021 rillig

tests/lint: add test for unrealistic edge cases in declarations

The example code for triggering these grammar rules looks completely
contrived. Even if lint had not implemented these cases, hopefully
nobody would have ever noticed.


# 1.1080 09-Jul-2021 yamaguchi

added tests for IFF_PROMISC of vlan(4)


# 1.1079 08-Jul-2021 christos

Add new interrupted stdio tests


# 1.1078 08-Jul-2021 rillig

tests/lint: add tests for C90 mode and malformed declarations

In the grammar, 148 lines are still uncovered by the tests. The
untested parts are mostly obscure declarations and a few parse errors.


# 1.1077 06-Jul-2021 rillig

tests/lint: add tests for GCC __attribute__

Before fixing the wrong handling of __attribute__ that is demonstrated
at the end of gcc_attribute.c, ensure that the attribute handling works
in the most basic cases.

Lint currently accepts __attribute__ in more places than it should.
This leads to some ambiguities in the grammar.


# 1.1076 04-Jul-2021 rillig

test/lint: demonstrate wrong warnings for 128-bit shifts


# 1.1075 04-Jul-2021 rillig

lint: remove remaining support for lvalue casts

These had been GCC extensions until GCC 3.4, they were removed in GCC
4.0.


# 1.1074 04-Jul-2021 rillig

lint: remove outdated assertion

Since err.c 1.12 from 2000-07-06, lint allows to suppress individual
error messages. Suppressed error messages do not increment nerr.
Keeping nerr at 0 had triggered the assertion.


# 1.1073 04-Jul-2021 rillig

tests/lint: add test for suppressing errors in strict bool mode


# 1.1072 03-Jul-2021 rillig

tests/lint: fix test for character comparison on macppc

On macppc, char == unsigned char, which generates one more warning than
on platforms where char == signed char.


# 1.1071 02-Jul-2021 rillig

tests/lint: add test for array subscripts in C99 initialization


# 1.1070 29-Jun-2021 rillig

lint: fix wrong warning about out-of-range value '\xff' for char

This only affects platforms where char has the same representation as
unsigned char.


# 1.1069 29-Jun-2021 rillig

tests/lint: add test that only runs where char == unsigned char

There a 4 regular NetBSD builds where lint is activated. All these
builds run on platforms where char == signed char.

The official test runs from https://releng.netbsd.org/test-results.html
mostly have char == signed char as well.

However, lint behaves differently on platforms with char == unsigned
char. On these platforms, a simple "char ch = '\xff'" leads to the
bogus warning that "conversion of 'int' to 'char' is out of range".


# 1.1068 29-Jun-2021 rillig

tests/lint: add tests for ILP32 platforms

Previously, all tests for lint had to produce the exact same output, no
matter which platform they ran on. This differs from practical needs
since lint is intended to produce different results depending on whether
the platform is ILP32 or LP64.

Examples for these are type conversions and the widths of the integer
types during lexical analysis.


# 1.1067 27-Jun-2021 rillig

lint: require C11 for _Generic

This does not have any effect in practice since the option -g
(originally meant for GCC extensions to the C standards) implicitly
allows all features from C11, since err.c 1.111 from 2021-04-14.

Since the default lint flags for NetBSD builds include the option -g,
this allows all C11 features.

Currently it is not possible to say "allow GNU extensions but not C11".


# 1.1066 27-Jun-2021 rillig

lint: fix option -Ac11, add test for _Generic

Previously, selecting the option -Ac11 allowed features from C11 but at
the same time prohibited 'long long', which was added in C99. This was
caused by the option -s, which is interpreted as "allow features from
C90, but no later".

The test for _Generic, which has been added in C11, demonstrates that
the current implementation is broken. Lint currently thinks that the
return type of a _Generic selection is the type of the expression, but
it really is the type of the selected expression. In the current tests,
this is always 'const char *', but C11 does not require that the types
of a generic selection are compatible.


# 1.1065 27-Jun-2021 rillig

tests/lint: fix list of files to be installed


# 1.1064 27-Jun-2021 rillig

tests/lint: rename expected .ln file to .exp-ln

This way, the hack for suffixes is no longer needed.


# 1.1063 20-Jun-2021 rillig

tests/lint: test syntax error in initialization using designator

This test prepares the upcoming refactoring of the grammar.


# 1.1062 19-Jun-2021 rillig

lint: fix endless loop on unfinished comment at EOF

Found using afl.


# 1.1061 19-Jun-2021 rillig

lint: fix assertion after malformed for loop

Found using afl.


# 1.1060 19-Jun-2021 rillig

lint: fix assertion failure in struct with unnamed member

Found using afl.


# 1.1059 19-Jun-2021 rillig

lint: fix crash in malformed initialization


# 1.1058 19-Jun-2021 rillig

tests/lint: add test cases for lexical analysis


# 1.1057 16-Jun-2021 rillig

tests/make: demonstrate wrong error handling in jobs mode


Revision tags: cjep_sun2x-base1
# 1.1056 06-Jun-2021 blymn

New check files added for the libcurses addstr test.


# 1.1055 05-Jun-2021 blymn

New check file for libcurses clear test.


Revision tags: cjep_sun2x-base cjep_staticlib_x-base1
# 1.1054 25-May-2021 rillig

branches: 1.1054.2;
tests/lint: make test d_gcc_extension platform-independent

That test was intended to test the keywords '__extension__' and
'__typeof'. The GCC builtin functions were just a side-effect.

These built-in functions generated error messages on platforms such as
amd64 where sizeof(long double) != sizeof(double), but not on others
such as sparc.

The current infrastructure for the lint tests cannot handle tests with
platform-dependent outcome.


# 1.1053 17-May-2021 yamaguchi

Add a new link-aggregation pseudo interface named lagg(4)

- FreeBSD's lagg(4) based implementation
- MP-safe and MP-scalable


# 1.1052 16-May-2021 rillig

lint: add more specific warning for bit-field of type plain 'int'

Previously, declaring a bit-field of type plain 'int' resulted in this
warning:

warning: nonportable bit-field type 'int' [34]

This warning was too unspecific to be actionable, and until yesterday it
didn't even include the type. In order to allow this warning to be
understood and properly fixed, describe the actual nonportability more
precisely:

warning: bit-field of type plain 'int' has
implementation-defined signedness [344]


# 1.1051 16-May-2021 rillig

tests/lint: add expected output for testing '&' in switch statement


# 1.1050 14-May-2021 rillig

tests/lint: test bitwise mismatch in switch statement


Revision tags: cjep_staticlib_x-base
# 1.1049 02-May-2021 rillig

branches: 1.1049.2;
tests/lint: add test for bit-field types in GCC mode


# 1.1048 02-May-2021 rillig

tests/lint: demonstrate missing support for __packed __aligned


# 1.1047 30-Apr-2021 rillig

tests/lint: add very basic tests for GCC __attribute__


# 1.1046 27-Apr-2021 rillig

tests/make: test the combination of -de with -j1

The test cases are the same as in opt-debug-errors.mk. The output
differs in several details though.

Even though the option '-k' is given (which is the default for any tests
that don't override it in unit-tests/Makefile), there is no message
"(continuing)" anywhere.

The failed target is printed twice. Once before the failed commands,
once after. This redundancy is not necessary and may be removed in a
follow-up commit.

The printed commands are in their unexpanded form, which may or may not
be more helpful than the expanded and space-normalized form of compat
mode. Either way, this is an unnecessary inconsistency between compat
mode and jobs mode.

In jobs mode, the message "make: stopped in $dir" is printed for each
failure, which is helpful since each of the jobs may have started in a
separate directory.


# 1.1045 22-Apr-2021 rillig

tests/lint: add test for typeof after statement

Found by christos@.


# 1.1044 18-Apr-2021 rillig

tests/lint: add emit.ln to the release files


# 1.1043 18-Apr-2021 rillig

lint: test emitting of symbol information in the .ln files

Even though the new test is quite large, it didn't find any bugs in the
code. The only thing I'm unsure about is why static functions are
exported as well, since they are supposed to be local to the translation
unit.


# 1.1042 17-Apr-2021 rillig

tests/lint: demonstrate assertion failure in initialization


# 1.1041 15-Apr-2021 rillig

tests/make: demonstrate handling of null bytes


# 1.1040 14-Apr-2021 rillig

lint: add test for newly added message about static array size


# 1.1039 09-Apr-2021 rillig

tests/lint: demonstrate wrong lint warning about complex variables


# 1.1038 08-Apr-2021 rillig

lint: in code from included files, print stack trace

Previously, the standard NetBSD build generated several lint warnings in
lhash.h from OpenSSL, without providing any hint as to which file
actually included that header. In cases like these, lint now interprets
the line number information in the preprocessor output from GCC to
reconstruct the exact include path to the file in question.

The program check-expect.lua had to be rewritten almost completely since
it assumed that all diagnostics would come from the main file. In all
existing tests, this was true, but these tests did not cover all cases
that occurred in practice. Now it records the complete location of the
diagnostic instead of just the line number.


# 1.1037 05-Apr-2021 rillig

lint: warn about for wrong type cast in argument to ctype.h functions

The argument to most of the functions from <ctype.h> "shall either be
representable as an 'unsigned char' or shall equal the value of the
macro EOF".

When confronted with the infamous warning 'array subscript has type
char', there are enough programmers who don't know the background of
that warning and thus fix it in a wrong way. Neither GCC nor Clang
explain its warning to target these programmers.

Both GCC and Clang warn about 'array subscript has type char', but they
ignore the other requirements of the <ctype.h> functions, even though
these are in the C standard library.

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94182
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95177
https://stackoverflow.com/a/60696378


# 1.1036 04-Apr-2021 rillig

tests/make: split test for modifier ':@' into separate files

The file varmod-loop.mk has grown too large to be single-purpose, plus
it combined parse-time and run-time tests. This has the downside that
as soon as a parse-time test results in an error, the run-time tests are
not run anymore.


Revision tags: thorpej-futex-base
# 1.1035 02-Apr-2021 rillig

tests/lint: prevent typo from tree.c 1.264 from happening again


# 1.1034 28-Mar-2021 rillig

lint: remove wrong warning about wrong initializer type

The following code is valid:

int valid = {{{ 3 }}};

C90 3.5.7 and C99 6.7.8 both say that the "initializer for a scalar
shall be a single expression, optionally enclosed in braces". They
don't put any upper bound on the amount of braces, not even in the
"Translation limits" section.


# 1.1033 23-Mar-2021 rillig

tests/lint: test initialization using string literals

The errors in line 74 and 75 of the test are wrong. Everything is fine
there. The bug lies in init_array_using_string, try to see if you can
spot it, neither GCC 9.3.0 nor Clang 8.0.1 could.


# 1.1032 14-Mar-2021 rillig

tests/make: add test for short-circuit evaluation of modifiers


# 1.1031 12-Mar-2021 rillig

tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.


# 1.1030 09-Mar-2021 rillig

tests/indent: demonstrate strange alignment for global variables


# 1.1029 08-Mar-2021 rillig

tests/indent: demonstrate wrong removed empty line before '//'


# 1.1028 08-Mar-2021 rillig

tests/indent: demonstrate another bug in nested blocks


# 1.1027 08-Mar-2021 rillig

tests/indent: add test for output line counting


# 1.1026 07-Mar-2021 rillig

lint: in strict C mode, warn about initialization with '[a ... b]'

https://gcc.gnu.org/onlinedocs/gcc/Case-Ranges.html


# 1.1025 06-Mar-2021 rillig

tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.


# 1.1024 28-Feb-2021 rillig

lint: fix null pointer dereference on parse error

Fixes PR bin/22119.


# 1.1023 28-Feb-2021 rillig

lint: add test to demonstrate that PR bin/20264 has been fixed


# 1.1022 21-Feb-2021 rillig

indent: add test demonstrating that indent cannot handle C99

indent cannot handle line-end comments.

The indent test suite requires each test file to have both a NetBSD and
a FreeBSD RCS ID. If the FreeBSD RCS ID is missing, the test will
silently pass since in that case, an empty file is compared with an
empty file. See the /start/,/end/ operator in t_indent.sh.


# 1.1021 21-Feb-2021 rillig

lint: add another test for C99 initializers


# 1.1020 19-Feb-2021 rillig

lint: warn about mismatch in getopt handling


# 1.1019 16-Feb-2021 kre

PR bin/55979

Add a sh ATF test to demonstrate a bug in the way that \0 characters
are dropped from scripts. This test will eventually be extended to
test other potential sh script input related issues.

When initially committed, this test should fail. It should succeed
when the fix for the PR is committed (soon).

Nb: this tests only the \0 related issues from the PR, the MSAN
detected uninitialised variable (struct field) can only be detected
by MSAN, as it has no visible impact on the operation of the shell
when running on any real (or even emulated) hardware.
(It will, however, also be fixed).


# 1.1018 14-Feb-2021 rillig

make: add test for the variable modifier ':sh'


# 1.1017 13-Feb-2021 rillig

tests/libcurses: add test for addbytes


# 1.1016 07-Feb-2021 rillig

libcurses: demonstrate bug in addch that doubles tab indentation

When adding "\t" via addch, win.curx advances by twice the spaces as
intended. This bug was introduced somewhere between NetBSD 8.0 and 9.0.

Adding "\t" via addstr does not have this bug.

This bug causes the installation menu of sysinst to be have its menu
items indented by 16 characters instead of only 8. This in turn
produces an ugly line break in the German translation.

The test framework for libcurses is not well integrated into ATF.
Whenever the expected output is longer than the actual output, or vice
versa, the test passes nevertheless. This makes it necessary to
constantly look into atf-run.log to see whether the actual output is
indeed equal to the expected output, which is crucial, especially for
telling the difference between addstr and addnstr.

Reusing the .chk files for several tests is not a good idea either. For
example, addstr and waddstr are supposed to produce the same result for
ASCII-only text, so it was tempting to use the same file. But waddstr
seems to have a bug (maybe undefined behavior), at least waddstr returns
ERR in one case where it shouldn't. This means that currently the
expected output (acknowledging the bug) must be different.

The "expected" test output in waddstr.chk looks completely broken, but
that's exactly what the test produces right now.


# 1.1015 01-Feb-2021 rillig

make: add test for reading from make's stdin

Just out of curiosity whether that really works. It does.


# 1.1014 30-Jan-2021 rillig

make(1): add test for combining the options -j, -n, -t

This is a preparation for refactoring the complicated condition in
JobStart.


# 1.1013 29-Jan-2021 rillig

make(1): demonstrate unnecessary creation of empty files in jobs mode


# 1.1012 17-Jan-2021 rillig

lint: add more tests for system headers in strict bool mode


# 1.1011 14-Jan-2021 rillig

lint: add tests for newly added messages for strict bool mode


# 1.1010 10-Jan-2021 rillig

lint: add test for triggering assertion failures in lint1


# 1.1009 10-Jan-2021 rillig

lint: add test for treating _Bool as non-scalar type

This strict mode is not yet implemented. The plan is to use it for
usr.bin/make, to get rid of the many possible variants of defining the
Boolean type in make.h. These variants did find some bugs, but not
reliably so. Using static analysis seems more promising for this.

In an early stage of developing this test, lint1 crashed in the enum
definition in line 213, where the node for the '?:' had been NULL. This
can happen in other situations as well, such as with syntax errors, but
these should be rare, as lint is usually only run if the compiler has
accepted the source code. Still, there should not be any assertion
failures while running lint1.


# 1.1008 10-Jan-2021 rillig

lint: demonstrate wrong handling of conversion to _Bool


# 1.1007 02-Jan-2021 rillig

lint: add a test for each message produced by lint1

Having a test for each message ensures that upcoming refactorings don't
break the basic functionality. Adding the tests will also discover
previously unknown bugs in lint.

The tests ensure that every lint message can actually be triggered, and
they demonstrate how to do so. Having a separate file for each test
leaves enough space for documenting historical anecdotes, rationale or
edge cases, keeping them away from the source code.

The interesting details of this commit are in Makefile and
t_integration.sh. All other files are just auto-generated.

When running the tests as part of ATF, they are packed together as a
single test case. Conceptually, it would have been better to have each
test as a separate test case, but ATF quickly becomes very slow as soon
as a test program defines too many test cases, and 50 is already too
many. The time complexity is O(n^2), not O(n) as one would expect.
It's the same problem as in tests/usr.bin/make, which has over 300 test
cases as well.


# 1.1006 01-Jan-2021 rillig

lint: demonstrate bug in handling of nested C9X struct initializers


# 1.1005 01-Jan-2021 rillig

lint: fix segmentation fault when checking returned enum types (211)


# 1.1004 31-Dec-2020 rillig

lint: check that in "if (cond)", cond is scalar


# 1.1003 31-Dec-2020 rillig

make(1): add test for error handling and expansion in .for loops


# 1.1002 30-Dec-2020 rillig

make(1): add test for .endfor without corresponding .for


# 1.1001 30-Dec-2020 rillig

lint: add test for old style function arguments


# 1.1000 29-Dec-2020 rillig

make(1): add test that explains how variables are exported

Exporting the variables at the right time and with the correct values is
a subtle issue. The current implementation carefully marks variables as
ready to be exported, then exports them and at the same time tries to
export as few variables as possible, to avoid memory leaks. This test
describes and explains how all this works in detail.

This test also justifies that the call to Var_ReexportVars happens in
the make process itself, not in the child processes, no matter whether
these are created with vfork or (only theoretically) with plain fork.
This has changed in compat.c 1.217, job.c 1.390 and main.c 1.504 from
2020-12-27.


# 1.999 28-Dec-2020 rillig

lint1: add forgotten tests


# 1.998 28-Dec-2020 rillig

lint1: fix file list for recently added test output


# 1.997 27-Dec-2020 rillig

make(1): add test for expansion errors in jobs mode

Since compat mode and jobs mode are implemented separately and vary in
lots of small details, each of them needs to be tested on its own.


# 1.996 19-Dec-2020 rillig

make(1): add test for null byte in .for loop body


# 1.995 19-Dec-2020 rillig

make(1): demonstrate wrong line numbers in .for loops, since 2007-01-01


# 1.994 14-Dec-2020 rillig

make(1): add test for parsing the end of a condition


# 1.993 13-Dec-2020 rillig

branches: 1.993.2;
make(1): demonstrate wrong error handling in compat mode


# 1.992 13-Dec-2020 rillig

make(1): add test for misspelled directives

This test allows the other directive-* tests to focus on the purpose of
the individual directive, allowing these tests to continue after
parsing, without errors.


# 1.991 13-Dec-2020 roy

t_ossaudio was installed for clang, so remove gcc marking


# 1.990 12-Dec-2020 rillig

make(1): add test for a shell with error control

None of the predefined shells has error control, and the corresponding
code had not been covered by the existing unit tests.


# 1.989 12-Dec-2020 pgoyette

Also add the new test to the sets lists.


# 1.988 10-Dec-2020 rillig

make(1): test all combinations of switches for running commands

The code in JobPrintSpecials is rather complicated and contains
surprising interaction between some of the switches.

To see the exact effects of the switches, record the current state and
its output, to prevent accidental breakage during the upcoming
refactorings.


# 1.987 09-Dec-2020 rillig

make(1): add test for the -n option combined with RunFlags


# 1.986 09-Dec-2020 rillig

make(1): add test for combining -j1 with -n


# 1.985 07-Dec-2020 rillig

make(1): add tests and tutorial for the ?= assignment operator


# 1.984 07-Dec-2020 rillig

make(1): add new unit test opt-keep-going-multiple.mk to file lists


# 1.983 06-Dec-2020 rillig

make(1): add test for .END after failed main node


# 1.982 01-Dec-2020 rillig

make(1): add test and tutorial for indirect modifiers


# 1.981 01-Dec-2020 rillig

make(1): add test for the special .MAKEFLAGS variable


# 1.980 01-Dec-2020 rillig

make(1): add tests for suppressing "stopped in"

These tests demonstrate the unwanted behavior described in PR bin/55578
and PR bin/55832.


# 1.979 30-Nov-2020 sjg

Added meta-cmd-cmp


# 1.978 24-Nov-2020 rillig

make(1): add test for bug in error handling of .BEGIN in -k mode


# 1.977 24-Nov-2020 rillig

make(1): add test for error in dependency of .END node in -k mode


# 1.976 24-Nov-2020 rillig

make(1): add test for missing "Stop" after error in .END


# 1.975 23-Nov-2020 rillig

make(1): test that .PHONY targets are not resolved using suffix rules


# 1.974 22-Nov-2020 rillig

make(1): add test for debug output from transformation rules


# 1.973 22-Nov-2020 rillig

make(1): add another unit test for suffix handling


# 1.972 22-Nov-2020 rillig

make(1): document the selection of the main target


# 1.971 21-Nov-2020 rillig

make(1): add test for incomplete transformation rule


# 1.970 16-Nov-2020 rillig

make(1): add test for self-referencing suffix rule

Just to ensure that make doesn't run into an endless loop.


# 1.969 14-Nov-2020 rillig

make(1): add test for the -t option in jobs mode


# 1.968 13-Nov-2020 sjg

Add new make unit-test


# 1.967 10-Nov-2020 rillig

make(1): add more tests for parsing .if directives

The details of parsing are quite tricky and not documented in the manual
page. Record the current behavior to be a little safer in future
refactorings.


# 1.966 09-Nov-2020 rillig

make(1): move test for != assignments to var-op-shell


# 1.965 08-Nov-2020 rillig

make(1): in lint mode, only allow '&&' and '||', not '&' and '|'

These variants of the condition operators are neither documented in the
manual page nor are they used in practice.


# 1.964 08-Nov-2020 rillig

make(1): add test for expanding variable expressions


# 1.963 08-Nov-2020 rillig

make(1): add newly added test to file list


# 1.962 07-Nov-2020 rillig

make(1): add test for job command flags


# 1.961 04-Nov-2020 rillig

make(1): add test for undefined variables in command line arguments

The variable discardUndefined has an implicit negation in its name,
which makes it hard to understand. Plus, most of the time it is true.
It's better to have a flag that is false most of the time and has a
positive name.

On the first attempt of inverting that variable, I stumbled upon
MainParseArgs, which initially leaves discardUndefined == FALSE, and
after handling the dashed options, sets it to TRUE. This would make a
difference when more command line arguments would be added later via the
.MAKEFLAGS special target.

Upon further inspection, the only place where discardUndefined is used
is in VarAssign_EvalSubst in parse.c, and that place is not reachable
from any of the dashed options. Therefore, discardUndefined could
already be set at the very beginning of MainParseArgs or even when
initializing the global variable itself, without any observable
difference.

Not even the ::= variable modifier could do anything about this since it
is not reachable from the dashed command line options as well, and in
addition, it expands its right-hand side in any case, always discarding
undefined variables. Oh, these little inconsistencies everywhere.


# 1.960 03-Nov-2020 rillig

make(1): move tests from directives.mk to separate tests


# 1.959 02-Nov-2020 rillig

make(1): add test for parse errors in commands in lint mode (-dL)

The difference to non-lint mode is that the exit status is now 2 instead
of 0.


# 1.958 02-Nov-2020 rillig

make(1): add test for parse errors in shell commands, compat mode


# 1.957 02-Nov-2020 rillig

remove extraneous tab, sort entries alphabetically (by fmt-list)


# 1.956 02-Nov-2020 mrg

add missing files (one from me, one from someone else :-)


# 1.955 01-Nov-2020 christos

Add tests for col


# 1.954 31-Oct-2020 rillig

make(1): add test for recursive variable expressions


# 1.953 31-Oct-2020 rillig

make(1): merge the SysV modifier tests into varmod-sysv


# 1.952 31-Oct-2020 rillig

use the same indentation for all libcurses test files


# 1.951 24-Oct-2020 blymn

Add new tests and check files for libcurses from the Google Summoer of Code
project.


# 1.950 24-Oct-2020 rillig

make(1): add test for looking up suffixes


# 1.949 23-Oct-2020 rillig

make(1): add test for dependencies of the form '%.o: %.c'


# 1.948 23-Oct-2020 rillig

make(1): add test case in which .BEGIN depends on .END

Just for fun.


# 1.947 23-Oct-2020 rillig

make(1): add test for the '::' dependency operator


# 1.946 23-Oct-2020 rillig

make(1): move tests from cond2.mk to varmod-ifelse.mk


# 1.945 23-Oct-2020 rillig

make(1): add test for .ERROR_CMD in jobs mode


# 1.944 20-Oct-2020 rillig

make(1): split test suffixes.mk into simpler, isolated tests

The code in suff.c is already hard to understand, and so were the tests
in suffixes.mk since several independent topics were merged into a
single test.

Splitting this test into a separate test per issue allows to document
the expected and actual behavior in more detail. That's complicated
enough already.

PR bin/49086


# 1.943 18-Oct-2020 rillig

make(1): add test for turning a target into a transformation


# 1.942 16-Oct-2020 mgorny

Try to fix tests/sys/x86 again

Thank to Martin Husemann for the suggestion.


# 1.941 15-Oct-2020 mgorny

Move the new x86 test into x86-specific lists


# 1.940 15-Oct-2020 mgorny

Add tests for process_xmm_to_s87() and process_s87_to_xmm()


# 1.939 08-Oct-2020 rillig

make(1): move test for .CURDIR from misc.mk to varname-dot-curname.mk


# 1.938 04-Oct-2020 rillig

make(1): add tests for parsing assignments, especially :sh

Luckily nobody uses the :sh variable assignment modifier since its
syntactical variant != is simpler.


# 1.937 03-Oct-2020 rillig

make(1): add unit test for the Towers of Hanoi puzzle


# 1.936 03-Oct-2020 rillig

make(1): add tests for the various supported shells


# 1.935 02-Oct-2020 rillig

make(1): add tests for parsing and exporting variables

Once again, there are a few surprises deeply hidden inside the edge
cases.


# 1.934 01-Oct-2020 pgoyette

Fix up the debug stuff for if_tap and if_vether


# 1.933 30-Sep-2020 roy

Add rump_open_tap


# 1.932 29-Sep-2020 roy

vether(4): Add ATF tests based on the tap(4) tests.


# 1.931 27-Sep-2020 rillig

make(1): add test for merging long lines of job output


# 1.930 25-Sep-2020 rillig

make(1): add test for harmless bug in Parse_File

When there is a dependency group at the end of a top-level makefile,
this dependency group is not finished properly. This allows to add
further commands to the targets of this dependency group, which was not
intended.


# 1.929 25-Sep-2020 rillig

make(1): add test for deleting the suffixes during parsing


# 1.928 25-Sep-2020 rillig

make(1): add test for partial expansion of undefined variables


# 1.927 23-Sep-2020 rillig

make(1): add variant of the counter test

I had expected that using the ::+= modifier instead of the ::= modifier
would work, since the assignment modifier for COUNTER no longer contains
a reference to itself. But instead of ending up at 4, the counter even
goes up to 6.


# 1.926 23-Sep-2020 rillig

make(1): fix assertion failure in -j mode with .END node

There had been two separate global variables for the .END node, and in
parallel mode, only the one in jobs.c was initialized.

The code in JobRun heads over to Compat_Make without calling Compat_Run
first, which left the variable ENDNode uninitialized.


# 1.925 22-Sep-2020 kamil

Add new RTLD test file for r_debug

New tests:
- self
- dlopen

Both check whether the r_debug structure seems to be well-formed, without
and with a dlopen(3) call.


# 1.924 14-Sep-2020 rillig

make(1): add test for undefined expressions in conditions in lint mode


# 1.923 14-Sep-2020 rillig

make(1): add tests for numbers in conditions


# 1.922 13-Sep-2020 rillig

make(1): add recently added tests to distrib file list


# 1.921 08-Sep-2020 christos

Add bind test


# 1.920 05-Sep-2020 rillig

make(1): move test for -dg1 from opt-debug-g1 to opt-debug-graph1


# 1.919 05-Sep-2020 rillig

make(1): add tests for each debug option


# 1.918 04-Sep-2020 rillig

make(1): add test for the special variable MAKEFILE


# 1.917 04-Sep-2020 rillig

re-indent and sort distrib/sets/lists/tests/mi

This way, the fields 2 and 3 don't jump horizontally as often as before,
which makes the appearance of the whole file as calm and organized as it
should be.


# 1.916 04-Sep-2020 rillig

make(1): extend tests for the :hash variable modifier

The previous test vectors didn't contain any hash with a leading zero.
This could have been a simple programming mistake by using %8x instead
of the intended %08x. Using snprintf wouldn't have been possible anyway
since the hex digits are printed in little-endian order, but without
reversing the bits of each digit. Kind of unusual, but doesn't affect
the distribution of the hashes.


# 1.915 02-Sep-2020 rillig

make(1): add test for the .for directive

For a long time, I had assumed that the iteration variables of a .for
loop are just normal global variables. This assumption was wrong but
didn't have any consequences.

The iteration variables of a .for loop can just be accessed like global
variables, therefore it is not obvious that they are implemented in a
completely different way.

There are some edge cases in conditions used inside .for loops, in which
the iteration variables cannot be used like normal variables. An
example is brought up in https://gnats.netbsd.org/47888, which observes
that the defined() and empty() functions in conditions only work with
variables but ignore the iteration "variables", simply because these are
not variables but only expressions.


# 1.914 29-Aug-2020 rillig

make(1): add tests for .else and .for + .endif


# 1.913 29-Aug-2020 rillig

make(1): fix assertion failure for .SUFFIXES in archives

This occurred in the posix1.mk test, even though it is disabled in
unit-tests. But in tests/usr.bin/make it still runs. There, it should
have produced an "expected failure" but crashed instead.

The archive-suffix test is the stripped-down version of the posix1 test.


# 1.912 28-Aug-2020 rillig

make(1): add test for interrupting a command


# 1.911 28-Aug-2020 rillig

make(1): add tests for the special .INCLUDES and .LIBS variables


# 1.910 27-Aug-2020 rillig

make(1): add test for the -dg1 option


# 1.909 27-Aug-2020 riastradh

Remove bogus Atffile and Kyuafile entries for if_wg tests.


# 1.908 27-Aug-2020 riastradh

Sort and deduplicate set lists.


# 1.907 26-Aug-2020 riastradh

Clarify wg(4)'s relation to WireGuard, pending further discussion.

Still planning to replace wgconfig(8) and wg-keygen(8) by one wg(8)
tool compatible with wireguard-tools; update wg(4) for the minor
changes from the 2018-06-30 spec to the 2020-06-01 spec; &c. This just
clarifies the current state of affairs as it exists in the development
tree for now.

Mark the man page EXPERIMENTAL for extra clarity.


# 1.906 24-Aug-2020 riastradh

Restore obsolete entries for make's modorder tests.

These tests were removed a week ago, but their set list entries were
removed rather than marked obsolete.


# 1.905 24-Aug-2020 martin

Backout previous, commiter was dazed and confused


# 1.904 24-Aug-2020 martin

Add modorder* make unit test files


# 1.903 23-Aug-2020 rillig

make(1): add tests for numeric comparisons in .if directives


# 1.902 23-Aug-2020 rillig

make(1): add test for the newly added .SHELL variable


# 1.901 22-Aug-2020 rillig

make(1): add test for expanding wildcards in directories

This test covers DirExpandInt.


# 1.900 22-Aug-2020 rillig

make(1): add test for assigning to the variable named ""

This has been possible at least since 2013, probably much longer.


# 1.899 22-Aug-2020 rillig

make(1): add test for deferred variable expansion in dependencies


# 1.898 22-Aug-2020 rillig

make(1): add test for the special "..." in shell commands


# 1.897 22-Aug-2020 rillig

make(1): add test for combining :: and .USEBEFORE


# 1.896 20-Aug-2020 riastradh

[ozaki-r] Add wg files


# 1.895 20-Aug-2020 rillig

make(1): add test for parsing functions in .if conditions


# 1.894 18-Aug-2020 nakayama

Quoted from the top of the file:
# Note: don't delete entries from here - mark them as "obsolete" instead.


# 1.893 18-Aug-2020 perseant

Add skipped test for in-kernel roll-forward agent


# 1.892 16-Aug-2020 rillig

make(1): move tests for the :Ox modifier into separate file

The test has been extended by ensuring that the shuffled words are still
the same. Comparing two shuffled lists is probabilistic, but comparing
their sorted results is not, therefore that's completely sensible to do.

When writing this test, by coincidence I discovered how to generate the
"Undefined variable" error message. Unfortunately, the error message is
wrong since the variable NUMBERS is defined at that point. In summary,
that error message is shown when it shouldn't, and when it should it is
not shown. Still, I'm glad that I finally found it.


# 1.891 16-Aug-2020 rillig

make(1): move tests for the :M modifier into separate files

The test for the different escaping has been adjusted to actually show
the different parsing results in the test output. To do this, it had to
get its own file since it needs the -dv debug flag and specialized
post-processing.


# 1.890 16-Aug-2020 rillig

make(1): add dummies for fine-grained tests, one per single feature

The test names have been derived from the current manual page.

All these tests are dummies right now, and the code from the existing
tests will be moved into the new tests step by step.

This is done to prevent modmisc, escape, varmod-edge and varmisc from
growing without any bounds, and to reduce the side-effects of one test
to the others.


# 1.889 14-Aug-2020 riastradh

New system call getrandom() compatible with Linux and others.

Three ways to call:

getrandom(p, n, 0) Blocks at boot until full entropy.
Returns up to n bytes at p; guarantees
up to 256 bytes even if interrupted
after blocking. getrandom(0,0,0)
serves as an entropy barrier: return
only after system has full entropy.

getrandom(p, n, GRND_INSECURE) Never blocks. Guarantees up to 256
bytes even if interrupted. Equivalent
to /dev/urandom. Safe only after
successful getrandom(...,0),
getrandom(...,GRND_RANDOM), or read
from /dev/random.

getrandom(p, n, GRND_RANDOM) May block at any time. Returns up to n
bytes at p, but no guarantees about how
many -- may return as short as 1 byte.
Equivalent to /dev/random. Legacy.
Provided only for source compatibility
with Linux.

Can also use flags|GRND_NONBLOCK to fail with EWOULDBLOCK/EAGAIN
without producing any output instead of blocking.

- The combination GRND_INSECURE|GRND_NONBLOCK is the same as
GRND_INSECURE, since GRND_INSECURE never blocks anyway.

- The combinations GRND_INSECURE|GRND_RANDOM and
GRND_INSECURE|GRND_RANDOM|GRND_NONBLOCK are nonsensical and fail
with EINVAL.

As proposed on tech-userlevel, tech-crypto, tech-security, and
tech-kern, and subsequently adopted by core (minus the getentropy part
of the proposal, because other operating systems and participants in
the discussion couldn't come to an agreement about getentropy and
blocking semantics):

https://mail-index.netbsd.org/tech-userlevel/2020/05/02/msg012333.html


# 1.888 09-Aug-2020 rillig

make(1): add test for .USE combined with inference rule without commands

Discovered by christos.


# 1.887 09-Aug-2020 rillig

make(1): add test for non-obvious .MAKE.EXPORTED edge case


# 1.886 07-Aug-2020 rillig

make(1): add test for exporting variables


# 1.885 06-Aug-2020 rillig

make(1): add test for unintended "recursive variable" in -dL mode


# 1.884 03-Aug-2020 rillig

make(1): in lint mode, disallow dynamic variable names in :@ modifier

This is an extremely obscure feature that hopefully nobody ever
considered using.


# 1.883 02-Aug-2020 rillig

make(1): add test for nested VAR_SUBST assignments


# 1.882 31-Jul-2020 rillig

make(1): add test for braces in dependency lines

The comment at DirExpandCurly says something about "recursively", but the
nested braces don't work.

The manual page only mentions that "{} may be used", but it keeps quiet
about the exact meaning and also doesn't mention any nesting.


# 1.881 28-Jul-2020 rillig

make(1): add test for setting .OBJDIR via the command line


# 1.880 27-Jul-2020 rillig

make(1): add tests for parsing directives like .if and .info


# 1.879 27-Jul-2020 rillig

make(1): add very basic test for archive handling

The whole code in arch.c had been uncovered by tests before.

The code coverage shows that neither the archive name nor the member
contain any $, even though archive.mk looks like it. It could be
necessary to place the variable assignments below the dependency line,
to force late evaluation.


# 1.878 26-Jul-2020 rillig

make(1): add test for off-by-one error in Var_Parse


# 1.877 26-Jul-2020 riastradh

Another /usr/libdata/usr/tests/sys/crypto/chacha set list entry.

(Why do we need this here _and_ in debug/mi?)


# 1.876 25-Jul-2020 riastradh

Add kernel ChaCha test to exercise all available implementations.


# 1.875 25-Jul-2020 rillig

make(1): add newly added unit tests


# 1.874 17-Jul-2020 kamil

Add ppoll() a compatibility wrapper around pollts(2)

Submitted by Apurva Nandan.


# 1.873 06-Jul-2020 christos

new mapped test.


# 1.872 03-Jul-2020 jruoho

Add a check for PR bin/54692.


# 1.871 03-Jul-2020 jruoho

Add a check for the overflow noted in PR lib/46542.


# 1.870 01-Jul-2020 jruoho

Add basic checks for magic symlink(7)'s. These include a case for PR lib/55361,
although it seems that realpath(3) has bigger problems with these symlinks.


# 1.869 01-Jul-2020 jruoho

Add basic checks for a64l(3), l64a(3), and l64a_r(3).


# 1.868 30-Jun-2020 lukem

fix sets for MKKYUA


# 1.867 30-Jun-2020 riastradh

New test sys/crypto/aes/t_aes.

Runs aes_selftest on all kernel AES implementations supported on the
current hardware, not just the preferred one.


# 1.866 30-Jun-2020 jruoho

After a comedy of errors, move t_mbtowc to its final resting place.


# 1.865 30-Jun-2020 jruoho

Check that DTrace's execsnoop and opensnoop work (cf. PR kern/53417).


# 1.864 30-Jun-2020 jruoho

Add a couple of tests for sequential ifconfig(8) options, incl. PR kern/41912.


# 1.863 29-Jun-2020 riastradh

New cgd cipher adiantum.

Adiantum is a wide-block cipher, built out of AES, XChaCha12,
Poly1305, and NH, defined in

Paul Crowley and Eric Biggers, `Adiantum: length-preserving
encryption for entry-level processors', IACR Transactions on
Symmetric Cryptology 2018(4), pp. 39--61.

Adiantum provides better security than a narrow-block cipher with CBC
or XTS, because every bit of each sector affects every other bit,
whereas with CBC each block of plaintext only affects the following
blocks of ciphertext in the disk sector, and with XTS each block of
plaintext only affects its own block of ciphertext and nothing else.

Adiantum generally provides much better performance than
constant-time AES-CBC or AES-XTS software do without hardware
support, and performance comparable to or better than the
variable-time (i.e., leaky) AES-CBC and AES-XTS software we had
before. (Note: Adiantum also uses AES as a subroutine, but only once
per disk sector. It takes only a small fraction of the time spent by
Adiantum, so there's relatively little performance impact to using
constant-time AES software over using variable-time AES software for
it.)

Adiantum naturally scales to essentially arbitrary disk sector sizes;
sizes >=1024-bytes take the most advantage of Adiantum's design for
performance, so 4096-byte sectors would be a natural choice if we
taught cgd to change the disk sector size. (However, it's a
different cipher for each disk sector size, so it _must_ be a cgd
parameter.)

The paper presents a similar construction HPolyC. The salient
difference is that HPolyC uses Poly1305 directly, whereas Adiantum
uses Poly1395(NH(...)). NH is annoying because it requires a
1072-byte key, which means the test vectors are ginormous, and
changing keys is costly; HPolyC avoids these shortcomings by using
Poly1305 directly, but HPolyC is measurably slower, costing about
1.5x what Adiantum costs on 4096-byte sectors.

For the purposes of cgd, we will reuse each key for many messages,
and there will be very few keys in total (one per cgd volume) so --
except for the annoying verbosity of test vectors -- the tradeoff
weighs in the favour of Adiantum, especially if we teach cgd to do
>>512-byte sectors.

For now, everything that Adiantum needs beyond what's already in the
kernel is gathered into a single file, including NH, Poly1305, and
XChaCha12. We can split those out -- and reuse them, and provide MD
tuned implementations, and so on -- as needed; this is just a first
pass to get Adiantum implemented for experimentation.


# 1.862 28-Jun-2020 rillig

make(1): demonstrate bug when evaluating conditions


# 1.861 27-Jun-2020 jruoho

Add also a test that writes random garbage to every ifconfig(8) option that
takes parameters. Based on quick testing, iwn(4) and wm(4) pass, but
urtwn(4) panics. Use at your own risk; in some cases, it may be possible
that horrors are written directly to the hardware.


# 1.860 27-Jun-2020 jruoho

Add t_t_mbtowc.


# 1.859 27-Jun-2020 jruoho

Move the test for mktemp(3) to the right place.


# 1.858 27-Jun-2020 jruoho

Add a simple test case that writes random garbage to (almost) every sysctl node.
This test reproduced already at least five unique panics in a few quick runs.
The test is skipped by default as it is not likely safe even without the panics.


# 1.857 27-Jun-2020 jruoho

Add a basic test for enabling/disabling network interface capabilities.


# 1.856 27-Jun-2020 jruoho

Add a test case for PR kern/53767.


# 1.855 27-Jun-2020 jruoho

Add test cases for different 802.11 options. These include cases for
PR kern/35045, PR kern/45745, and PR kern/55424.


# 1.854 25-Jun-2020 jruoho

Test creating thousands of bridge(4)'s. Unlike with tap(4) (PR kern/55417),
this test succeeeds. It is even possible to have the ultimate ifconfig(8)
output with more than 65,000 devices.


# 1.853 25-Jun-2020 jruoho

Verify that PR kern/52150 is no longer present.


# 1.852 25-Jun-2020 jruoho

Add a test case for PR kern/52744, which no longer appears to be present.


# 1.851 25-Jun-2020 jruoho

Add a test case for kern/52771.


# 1.850 25-Jun-2020 jruoho

Add a test case for PR kern/53410.


# 1.849 25-Jun-2020 jruoho

Add test cases for PR kern/53546 and PR kern/55417. Both are skipped as
both reproduce panics.


# 1.848 24-Jun-2020 jruoho

Check that fstat(1) works (cf. PR kern/55407).


# 1.847 24-Jun-2020 jruoho

Add a few checks for stdethers(8) and stdhosts(8).


# 1.846 24-Jun-2020 jruoho

Add few basic tests for cpuctl(8). These cover PR kern/45117 and PR bin/54220.
Though, the former is not explicitly tested as it hangs the system.


# 1.845 24-Jun-2020 jruoho

Add a test case for bin/54620.


# 1.844 24-Jun-2020 jruoho

Add a test case for PR bin/55389.


# 1.843 12-Jun-2020 roy

Remove in-kernel handling of Router Advertisements

This is much better handled by a user-land tool.
Proposed on tech-net here:
https://mail-index.netbsd.org/tech-net/2020/04/22/msg007766.html

Note that the ioctl SIOCGIFINFO_IN6 no longer sets flags. That now
needs to be done using the pre-existing SIOCSIFINFO_FLAGS ioctl.

Compat is fully provided where it makes sense, but trying to turn on
RA handling will obviously throw an error as it no longer exists.

Note that if you use IPv6 temporary addresses, this now needs to be
turned on in dhcpcd.conf(5) rather than in sysctl.conf(5).


# 1.842 06-Jun-2020 thorpej

Improvements to the problib(3) API:

==> Provide a much more complete set of setters and getters for different
value types in the prop_array_util(3) and prop_dictionary_util(3)
functions.

==> Overhaul the prop_data(3), prop_number(3), and prop_string(3) APIs
to be easier to use and less awkwardly named, Deprecate the old
awkward names, and produce link-time warnings when they are referenced.

==> Deprecate mutable prop_data(3) and prop_string(3) objects. The old
APIs that support them still exist, but will now produce link-time
warnings when used.

==> When the new prop_string(3) API is used, strings are internally
de-duplicated as a memory footprint optimization.

==> Provide a rich set of bounds-checked gettter functions in and a
corresponding set of convenience setters in the prop_number(3) API.

==> Add a new prop_bool_value(3) function that is equivalent to
prop_bool_true(3), but aligned with the new "value" routines in
prop_data(3), prop_string(3), and prop_number(3).


# 1.841 17-May-2020 rillig

usr.bin/make: demonstrate actual behavior of .INCLUDEDFROMFILE


# 1.840 10-May-2020 rillig

usr.bin/make: add tests for surprising dollar removal


# 1.839 30-Apr-2020 ryo

Add a test for sigaltstack(2) and SA_ONSTACK


# 1.838 29-Apr-2020 rillig

usr.bin/make: add test case for lazy conditions


# 1.837 26-Apr-2020 thorpej

Add a NetBSD native futex implementation, mostly written by riastradh@.
Map the COMPAT_LINUX futex calls to the native ones.


Revision tags: phil-wifi-20200421
# 1.836 19-Apr-2020 maxv

Add tests for USER_LDT.


Revision tags: phil-wifi-20200411
# 1.835 11-Apr-2020 christos

Add new t_extattr


Revision tags: phil-wifi-20200406
# 1.834 09-Mar-2020 christos

wrong test name


# 1.833 08-Mar-2020 mgorny

Add tests for missing libc catalog entries


# 1.832 08-Mar-2020 christos

new test for ifconfig


# 1.831 06-Mar-2020 kamil

Add new ptrace(2) test file

t_ptrace_sigchld - for SIGCHLD handler + ptrace(2).

Right now a single test is enabled (raise(SIGKILL)) and marked as failed
as it never finishes as the child is never collected before exiting the
parent uninterested about its child (SA_NOCLDWAIT).


Revision tags: is-mlppp-base
# 1.830 11-Feb-2020 isaki

Add ATF tests for audio(4).

91 passed test cases
0 failed test cases.
0 expected failed test cases.
62 skipped test cases.

There are many skipped tests, because the test itself supports full-
duplex, half-duplex and uni-directional devices but pad(4) used in ATF
tests is uni-directional device.


# 1.829 11-Feb-2020 riastradh

Test that fpu state is preserved by fork.


# 1.828 18-Jan-2020 kre

Move recently added .debug files from tests/mi to debug/mi (with all the
others) and while so doing, give them the "debug" attribute.

While here, sort.


# 1.827 17-Jan-2020 christos

fix names of debug files and missing directories


# 1.826 17-Jan-2020 christos

remove trailing ,


# 1.825 17-Jan-2020 christos

Add libarchive tests


# 1.824 03-Dec-2019 hikaru

Add HMAC-SHA-{256,384,512} test cases.


# 1.823 30-Nov-2019 pgoyette

Add the new unit-tests for make(1) to the sets list, fixing the build.


Revision tags: phil-wifi-20191119
# 1.822 05-Oct-2019 jhigh

adding full scheme comparison to libcrypt:crypt and pwhash tests


# 1.821 15-Sep-2019 christos

fexecve(2) related additions.


# 1.820 15-Sep-2019 christos

add t_fcntl


# 1.819 18-Aug-2019 kamil

Add ATF c and c++ tests for TSan, MSan, libFuzzer

These tests require Clang/LLVM 7 or newer on NetBSD.

Contributed by Yang Zheng during GSoC 2018.


Revision tags: netbsd-9-base
# 1.818 28-Jul-2019 christos

branches: 1.818.2;
add new wcsrtombs test


# 1.817 20-Jun-2019 isaki

Rewrite t_pad test.
Previous version compared the pad's output binary passed mulaw-slinear
conversion and frequency conversion with the prepared "good result".
In such case, a test may fail when the implemantation changes. In fact,
the frequency conversion algorithm was changed in isaki-audio2, so
output waveforms is not completely the same (but that's no problem with
the audio waveforms).
New version uses slinear_le/2ch/44100Hz input data and compares the
output binary with the input data. pad with no conversions should
output the same binary.
Fix PR kern/54187.


Revision tags: phil-wifi-20190609
# 1.816 07-Jun-2019 christos

new origin test


# 1.815 01-Jun-2019 kamil

Add ATF KERN_PROC_CWD tests


# 1.814 26-May-2019 christos

sort.


# 1.813 26-May-2019 hannken

Add entries for the recent tests/lib/libcurses commit.


# 1.812 26-Apr-2019 maya

Add a test case for signbit.
(paranoia prior to a libm change)


# 1.811 24-Apr-2019 kamil

Add a complete C11 threads(3) implementation

C11 Thread support library is a portable threading C API between OSs,
similar to std::threads in the C++ world.

The library is implemented as a thin shim over POSIX interfaces.

NetBSD implements the API as a part of the POSIX threading library
(libpthread(3)).

C11 threads(3) are in the process of making them an integral part
of the POSIX standard. The interface has been implemented in major
OSs and used with stopgap libraries for older versions of them.

C11 threading library is already used (with a stopgap implementation)
in the NetBSD distribution in MESA.

Original implementation by myself from 2016.

ATF tests are new and cover almost all interfaces.

Proposed on tech-userlevel@.


# 1.810 04-Apr-2019 kamil

Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.


# 1.809 26-Feb-2019 isaki

Add ATF tests for __sync_* functions instead of all_sync_ops_linkable.c


# 1.808 18-Feb-2019 rin

Belatedly add debugging symbols for t_atomic_*.


# 1.807 17-Feb-2019 isaki

Add ATF tests for atomic_ops(3).


# 1.806 09-Feb-2019 mrg

add new t_libgomp test.


# 1.805 03-Feb-2019 thorpej

Implement support for "pshared" POSIX semaphores.

Fixes lib/53273 (and Firefox's multi-process tab feature).


Revision tags: pgoyette-compat-20190127
# 1.804 25-Jan-2019 christos

PR/53908: Alex Raschi: Test that require modules belong in modules; move the
threadpool test from kernel to modules.


Revision tags: pgoyette-compat-20190118
# 1.803 17-Jan-2019 knakahara

Add ATF for ipsecif(4) pfil.


# 1.802 27-Dec-2018 christos

initfini_array test


Revision tags: pgoyette-compat-1226
# 1.801 25-Dec-2018 knakahara

Add ATF for NAT-T enabled ipsecif(4).


# 1.800 24-Dec-2018 thorpej

Add rump-based test cases for threadpool(9).


# 1.799 24-Dec-2018 thorpej

Add threadpool(9), an abstraction that provides shared pools of kernel
threads running at specific priorities, with support for unbound pools
and per-cpu pools.

Written by riastradh@, and based on the May 2014 draft, with a few changes
by me:
- Working on the assumption that a relative few priorities will actually
be used, reduce the memory footprint by using linked lists, rather than
2 large (and mostly empty) tables. The performance impact is essentially
nil, since these lists are consulted only when pools are created (and
destroyed, for DIAGNOSTIC checks), and the lists will have at most 225
entries.
- Make threadpool job object, which the caller must allocate storage for,
really opaque.
- Use typedefs for the threadpool types, to reduce the verbosity of the
API somewhat.
- Fix a bunch of pool / worker thread / job object lifecycle bugs.

Also include an ATF unit test, written by me, that exercises the basics
of the API by loading a kernel module that exposes several sysctls that
allow the ATF test script to create and destroy threadpools, schedule a
basic job, and verify that it ran.

And thus NetBSD 8.99.29 has arrived.


# 1.798 23-Dec-2018 jakllsch

Make the /usr/tests/lib/libnvmm directory and testing framework files MI.

Should fix non-amd64 build.


# 1.797 23-Dec-2018 jakllsch

further build fixes


# 1.796 05-Dec-2018 kre

Add a new test program to test the "intermediate" shell built in
utilities. That is, not the low level ones that look like syntax,
but aren't: break/continue/return; not those which are really
just external programs that are built in for efficiency (printf,
test, and kill - though kill really needs to be built in) - those
should all have separate test programs (there is a test here for the
built-in echo, as that is an entirely different thing to /bin/echo);
and also not those for which there are other tests because of the
nature of the built-in (like exit, wait, shift, ...). Lastly not
"times" either as that just seems to be too hard to test rationally.

There is a test (well, framework) for ulimit and there's also t_ulimit.sh
one of those should go, but I am not yet sure which is the best way
to reconcile things.

Note: many (in fact) most of the test cases added here are either
entirely empty (no tests at all, beyond testing that the built-in is
in fact a shell built-in) or only very rudimentary tests - assistance
in fleshing those out would be welcome (the boilerplate is all here,
all that is needed is some actual tests to run...)


Revision tags: pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930
# 1.795 23-Sep-2018 christos

merge openssl-1.1.1


Revision tags: pgoyette-compat-0906
# 1.794 05-Sep-2018 kre

Add ATF tests for printf(1)

Two new test programs, one for the version of printf in /bin/sh
and one for the command /usr/bin/printf (t_builtin and t_command)

Each test program has 28 test cases (the same in each) of which
currently 27 pass, and 1 is skipped.

See the test scripts themselves for more information.


# 1.793 21-Aug-2018 christos

add new tests, sort


# 1.792 06-Aug-2018 msaitoh

s/t_ifnametoindex/t_if_nametoindex/


# 1.791 06-Aug-2018 msaitoh

Add simple test case for if_nametoindex(3).


# 1.790 03-Aug-2018 kamil

Register micro-UBSan ATF tests in the distribution

Populate distrib files, mtree lists and add the entry in Makefile to
include the new code.


Revision tags: pgoyette-compat-0728
# 1.789 10-Jul-2018 kre

Add tests for pattern matching (filename expansion (glob), case statement
patterns, and variable expansion substring matching)

Currently (2018-07-10) all 3 sub-tests fail (sh bugs...)
Expect to see 14 (of 261) case matching sub-tests fail, 11 (of 167) filename
expansion (glob) sub-tests fail, and 6 (of 87) var substring sub-tests fail.

Also expect those numbers to reduce as sh bugs are fixed.


Revision tags: phil-wifi-base pgoyette-compat-0625
# 1.788 20-Jun-2018 maya

branches: 1.788.2;
Add test case for PR lib/50646.

Make sure that cabsl (aka __c99_cabsl) is usable from C++.


# 1.787 15-Jun-2018 yamaguchi

Add if_vlan directory to lists to fix the build failure

build.sh was failed when using "-V MKDEBUG=yes"


# 1.786 14-Jun-2018 yamaguchi

Add test cases for multicast address handling of vlan(4)

ok ozaki-r@


# 1.785 25-May-2018 martin

Add new test program


# 1.784 24-May-2018 christos

add new tests


Revision tags: pgoyette-compat-0521
# 1.783 18-May-2018 kamil

Add new ATF tests: t_fork and t_vfork

Test behavior of raise(signal) in either fork(2)ed or vfork(2)ed child.

Tests:
- raise1 SIGKILL
- raise2 SIGSTOP
- raise3 SIGTSTP
- raise4 SIGTTIN
- raise5 SIGTTOU
- raise6 SIGABRT
- raise7 SIGHUP
- raise8 SIGCONT

t_vfork:raise2 fails ignoring non-maskable SIGSTOP.

The remaining ones pass.

Sponsored by <The NetBSD Foundation>


# 1.782 02-May-2018 kamil

Add new ATF Undefined Behavior Sanitizer tests

Add new cc and c++ tests to check whether UBSan works.
These tests are prepared for GCC (in base) and Clang (with external patches).

Enable these tests for all ports by default, just verify whether we are
using GCC/Clang or a compatible compiler.

Add five equivalent C and C++ tests:
- Integer addition overflow
- Integer divide by zero
- Integer negation overflow
- Integer subtraction overflow
- VLA out of bounds

All tests pass on NetBSD/amd64.

Patch submitted by <Harry Pantazis>
Minor cleanup by <myself>


Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415
# 1.781 11-Apr-2018 kamil

Import new C and C++ ATF tests for ASan

Add new tests:
- tests/usr.bin/cc/t_asan_poison.sh
- tests/usr.bin/c++/t_asan_poison.sh

These tests verify the following build options:
- regular
- profile
- pic
- pie
- compat32
- (static unsupported)

These tests verify whether ASan code can include compiler and sanitizer
specific header: <sanitizer/asan_interface.h>. The testing code checks
the ASAN_POISON_MEMORY_REGION() functionality, poisoning valid memory and
asserting that it triggers expected failure.

Patch submitted by <Siddharth Muralee>


Revision tags: pgoyette-compat-0407
# 1.780 04-Apr-2018 kamil

Add new ATF tests for Address Sanitzier (ASan)

Add new C and C++ tests:
- t_asan_double_free
- t_asan_global_buffer_overflow
- t_asan_heap_overflow
- t_asan_off_by_one
- t_asan_uaf

Each tests checks:
- regular build
- 32-bit
- PIC
- PIE
- profile

These tests require paxctl(8) to disable ASLR in order to work in a
predictable way. This is especially true for all !regular builds with
additional compiler flags.

There are no static variations of these tests as this mode is not supported
in upstream ASan.

Enable these tests on amd64 and i386.

Patch submitted by <Siddharth Muralee>
Additional polishing by myself.


# 1.779 04-Apr-2018 kamil

Sort files in usr/tests/usr.bin/c++/

No functional change intended.


Revision tags: pgoyette-compat-0330
# 1.778 24-Mar-2018 kamil

Add new C++ ATF tests

Add new variations for existing C++ tests:
- Static
- Profile+32-bit
- PIC+32-bit
- PIC+Profile
- PIC+Profile+32-bit

All tests pass for NetBSD/amd64:
- t_cxxruntime
- t_hello
- t_static_destructor

+--------------------------------------------------------------+
| Options | cxxruntime | hello | static_destructor |
+--------------------------------------------------------------+
| None | Passed | Passed | Passed |
| 32-bit | Passed | Passed | Passed |
| PIC | Passed | Passed | Passed |
| PIE | Passed | Passed | Passed |
| Profile | Passed | Passed | Passed |
| Static | Passed | Passed | Passed |
| Profile+32-bit | Passed | Passed | Passed |
| PIC+32-bit | Passed | Passed | Passed |
| PIC+Profile | Passed | Passed | Passed |
| PIC+Profile+32-bit | Passed | Passed | Passed |
+--------------------------------------------------------------+

Add new C++11 std::call_once tests:
- t_call_once
- t_call_once2

Add new C++11 test with pthread_once(3) and C++ lambda:
- t_pthread_once

All tests with the profile option for std::call_once and
pthread_once(3) are marked as expected failure (NetBSD/amd64).

Results for *_once*:
+------------------------------------------------------------+
| Options | call_once | call_once2 | pthread_once |
+------------------------------------------------------------+
| None | Passed | Passed | Passed |
| 32-bit | Passed | Passed | Passed |
| PIC | Passed | Passed | Passed |
| PIE | Passed | Passed | Passed |
| Profile | Failed | Failed | Failed |
| Static | Passed | Passed | Passed |
| Profile+32-bit | Failed | Failed | Failed |
| PIC+32-bit | Passed | Passed | Passed |
| PIC+Profile | Failed | Failed | Failed |
| PIC+Profile+32-bit | Failed | Failed | Failed |
+------------------------------------------------------------+

Long term there is an option to refacotr the framework for C and C++ tests,
in order to reduce code duplication.

Patches sent by Yang Zheng <tomsun.0.7@gmail.com>


Revision tags: pgoyette-compat-0322 pgoyette-compat-0315
# 1.777 14-Mar-2018 kamil

Add new ATF tests: kernel/t_zombie

New tests attempting to kill, stop, drop or revive a zombie:
- signal1 (SIGKILL)
- signal2 (SIGSTOP)
- signal3 (SIGABRT)
- signal4 (SIGHUP)
- signal5 (SIGCONT)

New test race1 verifying whether there are any kernel races when processing
signals to zombies, executing in a loop for 5 seconds.

These tests were inspired by a kernel unexpected behavior when a lookup
of a dying process could result in two detected entities once as an alive
process and once as a zombie.

race1 is similar to t_ptrace_wait* race1, however without ptrace(2) involved.

Sponsored by <The NetBSD Foundation>


# 1.776 09-Mar-2018 joerg

Add ifunc support for statically linked applications on x86, ppc, sparc
and ARM.


Revision tags: pgoyette-compat-base
# 1.775 22-Feb-2018 martin

branches: 1.775.2;
PR lib/53044: remove tests not provided by OpenSSL 1.1.x


# 1.774 11-Feb-2018 christos

Add obsolete lines for the gcc-5 and openssl-1.0 lines for systems that have
installed gcc-6 and openssl-1.1. Requested by wiz@


# 1.773 08-Feb-2018 christos

add openssl to the list of selectable variables for sets and fix the sets.


# 1.772 10-Jan-2018 knakahara

add ipsec(4) interface ATF.


# 1.771 10-Dec-2017 christos

new tests


# 1.770 08-Dec-2017 christos

make _lwp_park return the remaining time to sleep in the "ts" argument
if it is a relative timestamp, as discussed in tech-kern.
XXX: pullup-8


# 1.769 07-Dec-2017 christos

new test for trapsignal


# 1.768 06-Dec-2017 christos

add interp test.


# 1.767 19-Nov-2017 martin

ATF test program for PR kern/52738: check for mtime updates after rewriting
a file.


# 1.766 01-Nov-2017 martin

Add ./usr/libdata/debug/usr/tests/net/ipsec


# 1.765 30-Oct-2017 ozaki-r

Add test cases of NAT-T (transport mode)

A small C program is added to make a special socket (UDP_ENCAP_ESPINUDP)
and keep it to handle UDP-encapsulated ESP packets.


# 1.764 02-Oct-2017 pgoyette

Add new LIST_MOVE test to sets list.


# 1.763 29-Sep-2017 maya

Add simple test for workqueue(9)


# 1.762 20-Sep-2017 ozaki-r

Add tests of rtcache invalidation


# 1.761 16-Aug-2017 joerg

Add missing strfmon_l. Noticed by Bruno Haible. Add test case.


# 1.760 10-Aug-2017 ryo

Add support IP_PKTINFO for sendmsg(2).

The source address or output interface can be specified by adding IP_PKTINFO
to the control part of the message on a SOCK_DGRAM or SOCK_RAW socket.

Reviewed by ozaki-r@ and christos@. thanks.


# 1.759 02-Aug-2017 ozaki-r

Add test cases for setsockopt(IP_IPSEC_POLICY)


# 1.758 23-Jul-2017 perseant

Add missing setlist entries for DUCET collation test.


Revision tags: perseant-stdc-iso10646-base
# 1.757 18-Jul-2017 ozaki-r

branches: 1.757.2;
Separate test files


# 1.756 14-Jul-2017 perseant

Add a simple collation test. This test is expected to fail on HEAD since
we do not yet have a working implementation of wcscoll.


# 1.755 11-Jul-2017 joerg

Implement __cxa_thread_atexit and __cxa_thread_atexit_impl. This
functions are used for destructors of thread_local objects.

If a pending destructor exists, prevent unloading of shared objects.
Introduce __dl_cxa_refcount interface for this purpose. When the last
reference is gone and the object has been dlclose'd before, the
unloading is finalized.

Ideally, __cxa_thread_atexit_impl wouldn't exist, but libstdc++ insists
on providing __cxa_thread_atexit as direct wrapper without further
patching.


# 1.754 03-Jul-2017 ozaki-r

Add test cases for IPComp


# 1.753 09-Jun-2017 knakahara

add tests of ioctl for /dev/crypto


Revision tags: netbsd-8-base
# 1.752 01-Jun-2017 perseant

branches: 1.752.2;
Add tests for btowc(3)/wctob(3) and enable compilation of the test for
digittoint(3).

The digittoint(3) test is skipped since we don't provide that function yet.

One of the test cases for btowc(3) is also skipped, since it tests conversion
to Unicode---whereas our wchar_t representation is locale-dependent.


# 1.751 31-May-2017 perseant

Add new locale tests to distrib sets, thanks pgoyette@ for the reminder


# 1.750 30-May-2017 pgoyette

Add the new t_toupper to unbreak the build


# 1.749 27-May-2017 bouyer

merge the bouyer-socketcan branch to HEAD.

CAN stands for Controller Area Network, a broadcast network used
in automation and automotive fields. For example, the NMEA2000 standard
developped for marine devices uses a CAN network as the link layer.

This is an implementation of the linux socketcan API:
https://www.kernel.org/doc/Documentation/networking/can.txt
you can also see can(4).

This adds a new socket family (AF_CAN) and protocol (PF_CAN),
as well as the canconfig(8) utility, used to set timing parameter of
CAN hardware. Also inclued is a driver for the CAN controller
found in the allwinner A20 SoC (I tested it with an Olimex lime2 board,
connected with PIC18-based CAN devices).

There is also the canloop(4) pseudo-device, which allows to use
the socketcan API without CAN hardware.

At this time the CANFD part of the linux socketcan API is not implemented.
Error frames are not implemented either. But I could get the cansend and
canreceive utilities from the canutils package to build and run with minimal
changes. tcpudmp(8) can also be used to record frames, which can be
decoded with etherreal.


# 1.748 26-May-2017 martin

Fix typo


# 1.747 26-May-2017 pgoyette

Add new t_strcol test to the sets list - hopefully fix the build


# 1.746 21-May-2017 riastradh

Remove MKCRYPTO option.

Originally, MKCRYPTO was introduced because the United States
classified cryptography as a munition and restricted its export. The
export controls were substantially relaxed fifteen years ago, and are
essentially irrelevant for software with published source code.

In the intervening time, nobody bothered to remove the option after
its motivation -- the US export restriction -- was eliminated. I'm
not aware of any other operating system that has a similar option; I
expect it is mainly out of apathy for churn that we still have it.
Today, cryptography is an essential part of modern computing -- you
can't use the internet responsibly without cryptography.

The position of the TNF board of directors is that TNF makes no
representation that MKCRYPTO=no satisfies any country's cryptography
regulations.

My personal position is that the availability of cryptography is a
basic human right; that any local laws restricting it to a privileged
few are fundamentally immoral; and that it is wrong for developers to
spend effort crippling cryptography to work around such laws.

As proposed on tech-crypto, tech-security, and tech-userlevel to no
objections:

https://mail-index.netbsd.org/tech-crypto/2017/05/06/msg000719.html
https://mail-index.netbsd.org/tech-security/2017/05/06/msg000928.html
https://mail-index.netbsd.org/tech-userlevel/2017/05/06/msg010547.html

P.S. Reviewing all the uses of MKCRYPTO in src revealed a lot of
*bad* crypto that was conditional on it, e.g. DES in telnet... That
should probably be removed too, but on the grounds that it is bad,
not on the grounds that it is (nominally) crypto.


# 1.745 21-May-2017 riastradh

Remove MKCRYPTO_RC5. Unconditionally include RC5 in libcrypto.so.

This option existed only because RC5 is covered by patents that, twenty
years ago, we had reason to suspect the patent holder, RSA, Inc., might
litigate. The two US patents in question are 5,724,428 and 5,835,600.

According to the USPTO Patent Term Calculator web site at
<https://www.uspto.gov/patent/laws-and-regulations/patent-term-calculator#heading-5>
(retrieved 2017-05-21), patents filed after 1995-06-07 expire twenty
years after the filing date.

number filing date
5,724,428 1995-11-01
5,835,600 1997-04-21

Thus, these patents appear to be expired.

As proposed on tech-crypto and tech-security:

https://mail-index.netbsd.org/tech-crypto/2017/05/05/msg000718.html
https://mail-index.netbsd.org/tech-security/2017/05/05/msg000927.html


# 1.744 20-May-2017 kre

Add a test of sh syntax & parsing (first attempt anyway.)


Revision tags: prg-localcount2-base3
# 1.743 15-May-2017 ozaki-r

Add test cases for SA lifetime


# 1.742 15-May-2017 ozaki-r

Sort


# 1.741 14-May-2017 kamil

Add new ATF C++ tests in usr.bin/c++: t_static_destructor

These tests are cloned from t_cxxruntime and check proper order of destructor
calls. They must be reported in reverse order of constructor completion.

Added tests:
- static_destructor
- static_destructor_pic
- static_destructor_pie
- static_destructor32

This test file replaces src/regress/usr.bin/c++/static_destructor.


# 1.740 14-May-2017 kamil

Add new ATF C++ tests in usr.bin/c++

These tests are cloned from t_hello and use c++ runtime basic functions.

Added tests:
- hello
- hello_pic
- hello_pie
- hello32


# 1.739 14-May-2017 kamil

Add new c++ ATF tests in usr.bin/c++: t_hello

This is a copy of t_hello from usr.bin/cc.

Added tests:
- hello
- hello_pic
- hello_pie
- hello32

These tests do not use c++ runtime library functions.

Protect these tests with MKCXX.


Revision tags: prg-localcount2-base2
# 1.738 10-May-2017 ozaki-r

Test tunnel mode with IPv4 over IPv6 and IPv6 over IPv4


Revision tags: prg-localcount2-base1
# 1.737 27-Apr-2017 ozaki-r

Add test cases for L2TP/IPsec


# 1.736 27-Apr-2017 ozaki-r

Add test cases for gif/IPsec


Revision tags: prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.735 17-Apr-2017 knakahara

branches: 1.735.2;
fix build failure


# 1.734 14-Apr-2017 ozaki-r

Add tests for ipsec

- Check if setkey correctly handles algorithms for AH/ESP
- Check IPsec of transport mode with AH/ESP over IPv4/IPv6
- Check IPsec of tunnel mode with AH/ESP over IPv4/IPv6


# 1.733 03-Apr-2017 kamil

Remove tests/kernel/t_ptrace* from the tree

ptrace(2) tests have been moved to tests/lib/libc/sys

Sponsored by <The NetBSD Foundation>


# 1.732 02-Apr-2017 kamil

Import ptrace(2) tests into appropriate directory tests/lib/libc/sys/

This is the correct directory documented in tests/README for such tests.

Discussed with <martin>

Sponsored by <The NetBSD Foundation>


# 1.731 02-Apr-2017 kamil

Remove kernel/arch/{amd64,i386,x86} tests

These files were merged with kernel/t_ptrace_wait*

This removes MD test files.

Sponsored by <The NetBSD Foundation>


# 1.730 31-Mar-2017 ozaki-r

Add t_ping_opts


# 1.729 22-Mar-2017 jdolecek

add tests for the mount update from rw to rw+log, which used to case the panic
reported in PR kern/52056


Revision tags: pgoyette-localcount-20170320
# 1.728 11-Mar-2017 ozaki-r

Separate tests for learning table of bridge


# 1.727 06-Mar-2017 christos

more lint tests


# 1.726 06-Mar-2017 christos

add new lint test


# 1.725 28-Feb-2017 ozaki-r

Add tests for loopback interface


# 1.724 22-Feb-2017 kamil

Fix build of !x86 ports

Mark debug/usr/tests/kernel/arch/x86 as MI directory.

Sponsored by <The NetBSD Foundation>


# 1.723 21-Feb-2017 kre

PR bin/50934

Add a test program for the bug described in this PR.
This is the first pkill/pgrep/prenice test (more would be good!)

This test has been confirmed to work once the bug described in the PR
has been fixed, so the test is not marked "expected to fail" even
though initially that is what should happen.

Note: the test cana also fail if the system running the tests happens
to be running processes with names that match the patterns searched for
by the test, other than the test program itself. This is expected to be
unlikely.


# 1.722 20-Feb-2017 kamil

Remove tests/lib/libc/gen/exect paths from mtree and sets

The exect tests have been removed from the distribution.

Requested by Thomas Klausner.


# 1.721 16-Feb-2017 knakahara

add l2tp(4) basic test.


# 1.720 11-Feb-2017 nakayama

Redo rev.1.718, remove trash in line end.


# 1.719 09-Feb-2017 christos

put back exect directory; we try to remove it before the files inside it and
we fail.


# 1.718 09-Feb-2017 christos

remove exect test


# 1.717 08-Feb-2017 kamil

libpthread_dbg(3) deletion from the base distribution

libpthread_dbg(3) is a remnant library from the M:N thread model
(pre-NetBSD-5.0) API to introspect threads within a process and for use
of debuggers.

Currently in the 1:1 model it's not used in GDB neither in LLDB and it's
not either planned to be used. It's current function to read pthread_t
structures is realizable within a regular debugger capable to
instrospect objects within a tracee (GDB, LLDB...).

Remaining users of this API can still use this library from
pkgsrc/devel/libpthread_dbg.

Sponsored by <The NetBSD Foundation>


# 1.716 02-Feb-2017 martin

Add test program for PR kern/51762


# 1.715 27-Jan-2017 hannken

Add test for read/write to readonly update mount.


Revision tags: bouyer-socketcan-base
# 1.714 14-Jan-2017 christos

branches: 1.714.2;
add new test file


Revision tags: pgoyette-localcount-20170107
# 1.713 05-Jan-2017 wiz

Tag cleanup: if the last column contains 'obsolete', the one before should too.


# 1.712 02-Jan-2017 martin

Add misising mixerctl file


# 1.711 02-Jan-2017 christos

Add mixerctl tests


# 1.710 19-Dec-2016 maya

adjust set lists for t_fe_round


# 1.709 15-Dec-2016 kre

More sets list sorting (maybe this time they're really all done)


# 1.708 13-Dec-2016 kamil

Add regs1 in arch/i386/t_ptrace_wait*

regs1:
Call PT_GETREGS and iterate over General Purpose registers

Sponsored by <The NetBSD Foundation>


# 1.707 09-Dec-2016 kamil

Attach t_exect to ATF tests and distribution

Add missing SIGTRAP handler. Assert there that the signal is SIGTRAP as
expected and si_code TRAP_TRACE.

This test will break on some ports that have dummy or incomplete
implementation of exect(2).

This test works on amd64 correctly.

Sponsored by <The NetBSD Foundation>


# 1.706 02-Dec-2016 kamil

Refactor location of amd64-specific ATF tests to new dir kernel/arch/amd64

Rename
- tests/kernel/t_ptrace_amd64_wait.c
to
- tests/kernel/arch/amd64/t_ptrace_wait.c
and adapt appropriate files accordingly.

New directory will be used for more amd64-specific tests, verifying the
MD parts of the kernel.

Remove old entries from distrib/sets/lists as they were added a while ago.

Sponsored by <The NetBSD Foundation>


# 1.705 02-Dec-2016 kamil

Fix !amd64 sets

Sponsored by <The NetBS Foundation>


# 1.704 01-Dec-2016 kamil

Add t_ptrace_amd64_wait{,3,4,6,id,pid} tests

Sponsored by <The NetBSD Foundation>


# 1.703 26-Nov-2016 ozaki-r

Add basic tests for vlan(4)


# 1.702 18-Nov-2016 kamil

Add new test file lib/libpthread_dbg/t_threads

This test contains threads1 test that:
Asserts that td_thr_iter() call without extra logic works

This tests fails and is linked with gnats:
PR lib/51635: td_thr_iter in <pthread_dbg.h> seems broken

Sponsored by <The NetBSD Foundation>


# 1.701 16-Nov-2016 kamil

Add new test-suite t_dummy for libpthread_dbg

At the moment this test does nothing except reports failure from td_open()
for overloaded (implemented) dummy1_proc_lookup() (.proc_lookup from
td_proc_callbacks_t) of the following form:

static int
dummy1_proc_lookup(void *arg, const char *sym, caddr_t *addr)
{
return TD_ERR_ERR;
}

This file and directory with tests is placeholder for new ones, without
further need to alter mtree and distribution sets.

The libpthread_dbg interface and library is used by gdb(1) to handle
threads in applications.

Sponsored by <The NetBSD Foundation>


# 1.700 15-Nov-2016 skrll

Fix librefuse falout.... Hi pho


# 1.699 11-Nov-2016 njoly

New clock_nanosleep(2) testcase.


# 1.698 11-Nov-2016 alnsn

Add 3des-cbc tests with 192 bits key.


# 1.697 10-Nov-2016 alnsn

Add t_cgd_blowfish.


# 1.696 07-Nov-2016 kamil

Add new tests for combination of wait(2) interfaces with ptrace(2)

Move out wait(2) specific tests from t_ptrace and put them to t_ptrace_wait

Add generic code fragments to reuse the same source-code for every member
of the wait(2) family, namely:
- wait(2)
- waitpid(2)
- waitid(2)
- wait3(2)
- wait4(2)
- wait6(2)

Currently in the new test-suite there are the following tests:
- traceme1
- traceme2
- traceme3
- traceme4
- attach1

Not all tests are possible to be executed against every wait(2)-like
interface, therefore they will be disabled in such case. Currently this
limits attach1 to waitpid(2), waitid(2), wait4(2), wait6(2), while the
other tests (traceme 1-4) run with all of the interfaces.

The construct of this file is dedicated for addition of new tests in the
close future.

As of now all of the tests pass correctly.

Thanks for Robert Elz for suggestions on improving the code (earlier draft
of this new form).

Sponsored by <The NetBSD Foundation>.


# 1.695 07-Nov-2016 ozaki-r

Add basic tests for IPv6 Path MTU Discovery


# 1.694 06-Nov-2016 alnsn

Add "crypto" category to t_cgd_aes.


# 1.693 06-Nov-2016 kamil

Add new tests: tests/lib/libc/sys/t_wait_noproc and t_wait_noproc_wnohang

The t_wait_noproc test checks whether wait(2)-family of functions return
error and set ECHILD for lack of childs.

The t_wait_noproc_wnohang adds to options (except wait(2), wait3(2)) new
parameter WNOHANG and verifies that error is still signaled and errno set
to ECHILD.

Currently t_wait_noproc_wnohang reports failures, these have been marked as
expected and referenced to PR standards/51606.

The problem report is authored by Robert Elz, and the initial regression
has been notified by Nicolas Joly.

Remove redundant test in tests/lib/libc/sys/t_wait for wait6(2) with no
WNOHANG specified.

Sponsored by <The NetBSD Foundation>.


# 1.692 06-Nov-2016 alnsn

Add tests for not-yet-committed cgd algorithm AES-XTS.

The tests are marked as expected failures.


Revision tags: pgoyette-localcount-20161104
# 1.691 02-Nov-2016 kamil

Add new test t_ptrace with traceme1

This test is a placeholder for further checks of the native ptrace(2)
function calls.

XXX: Is it safe to call ATF functions from a child? FreeBSD seems to
construct dedicated asserts for them.

XXX: printf(3) calls from a child are not intercepted by atf-run(1)

Sponsored by <The NetBSD Foundation>.


# 1.690 31-Oct-2016 ozaki-r

Add tests for ping6 options

- -S <sourceaddr>
- -I <interface>
- -g <gateway>


# 1.689 30-Oct-2016 kamil

Add new test t_timedmutex

This test is a clone on t_mutex with additional two tests for timed-mutex
specific block.

All simple-mutex (not with the timed property according to the C11 wording)
specific tests are covered by pthread_mutex_timedlock(3) with parameter
ts_lengthy of sufficiently large tv_sec value (right now UINT16_MAX). If,
a test will hang, it won't wait UINT16_MAX seconds, but will be terminated
within the default timeout for ATF tests (right now 300 [sec] in my
NetBSD/amd64 setup).

This test was inspired by a classic selflock test failure of
pthread_mutex_timedlock(3) of the following form:

#include <assert.h>
#include <errno.h>
#include <pthread.h>
#include <stdio.h>
#include <time.h>

int main(int argc, char **argv)
{
pthread_mutex_t mtx;
struct timespec ts;

ts.tv_sec = 0;
ts.tv_nsec = 1000;
printf("ts{.tv_sec = %d, .tv_nsec=%ld}\n", ts.tv_sec, ts.tv_nsec);
fflush(stdout);

printf("mtx_init\n");
assert(pthread_mutex_init(&mtx, NULL) == 0);

printf("mtx_lock\n");
assert(pthread_mutex_lock(&mtx) == 0);

printf("mtx_timedlock\n");
assert(pthread_mutex_timedlock(&mtx, &ts) == ETIMEDOUT);

printf("mtx_unlock\n");
assert(pthread_mutex_unlock(&mtx) == 0);

printf("mtx_destroy\n");
assert(pthread_mutex_destroy(&mtx) == 0);

return 0;
}

Current NetBSD implementation wrongly hangs on this test.

The issue was detected during development of the C11 portable threads.

My local tests in chroot presents that the are further issues:

t_timedmutex (21/25): 10 test cases
mutex1: [0.001142s] Failed: /usr/src/tests/lib/libpthread/t_timedmutex.c:75: *param != 20
mutex2: [0.261499s] Passed.
mutex3: [0.261496s] Passed.
mutex4: [0.001204s] Failed: /usr/src/tests/lib/libpthread/t_timedmutex.c:265: pthread_mutex_timedlock(&mutex, &ts_lengthy): Connection timed out
mutex5: [0.001235s] Failed: /usr/src/tests/lib/libpthread/t_timedmutex.c:337: pthread_mutex_timedlock(&mutex5, &ts_lengthy): Connection timed out
mutex6: [21.218497s] Failed: /usr/src/tests/lib/libpthread/t_timedmutex.c:512: start != 1
mutexattr1: [0.001328s] Passed.
mutexattr2: [0.001175s] Passed.
timedmutex1: [301.119397s] Failed: Test case timed out after 300 seconds
timedmutex2: [301.123081s] Failed: Test case timed out after 300 seconds
[623.990659s]

I'm also receiveing the same failure in the mutex6 test in t_mutex, so
there might be a false positives due to local chroot(8) issues.

Commit approved by <christos>.


# 1.688 22-Oct-2016 abhinav

Add tests for uniq(1) based on the example test cases provided in the POSIX man page.
Ok christos


# 1.687 04-Oct-2016 ozaki-r

Add tests for sysctl net.inet.ip.mtudisc

From suzu-ken@IIJ


Revision tags: localcount-20160914
# 1.686 05-Sep-2016 ozaki-r

Add very basic tests for tun devices


# 1.685 31-Aug-2016 maya

Add failing test for casinh


# 1.684 22-Aug-2016 maya

add failing test for PR lib/51427
ilogb(INFINITY)=-INT_MAX, it should be INT_MAX

while here, test raised exceptions, other values.

XXX some platforms don't have exceptions


# 1.683 19-Aug-2016 christos

new lint test


# 1.682 18-Aug-2016 christos

new lint test


# 1.681 14-Aug-2016 jakllsch

tests for sys/dev/clock_subr.c


Revision tags: pgoyette-localcount-20160806
# 1.680 30-Jul-2016 njoly

New getsockname(2) testcase for UNIX domain sockets.


# 1.679 29-Jul-2016 pgoyette

Add files for the new fss(4) test


Revision tags: pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.678 13-Jul-2016 matt

branches: 1.678.2;
Fix libproc compat setting


# 1.677 01-Jul-2016 christos

Add hmac(3)


# 1.676 29-Jun-2016 christos

fix sets for MKCRYPTO=no


# 1.675 16-Jun-2016 pgoyette

Add input/output files for new test case - fix build


# 1.674 21-Apr-2016 ozaki-r

Add tests of route flags using IPv6 addresses


# 1.673 15-Apr-2016 ozaki-r

Add a new test case for PPPoE using PAP

From s-yamaguchi@IIJ (with some tweaks by me)


# 1.672 09-Apr-2016 riastradh

Introduce pserialize-safe linked lists.

These are like LIST_* from queue(3), but issue the appropriate memory
barriers for pserialize readers and writers.

Discussed on tech-kern:

https://mail-index.netbsd.org/tech-kern/2016/04/03/msg020365.html


# 1.671 08-Apr-2016 gson

Add regression tests for some past gdb bugs.


# 1.670 06-Apr-2016 christos

Add wait tests.


# 1.669 20-Mar-2016 christos

Add command substitution test.


# 1.668 16-Mar-2016 christos

Add the shift test


# 1.667 16-Mar-2016 christos

new sh tests


# 1.666 13-Mar-2016 christos

Add new sh test


# 1.665 08-Mar-2016 christos

remove obsolete test


# 1.664 04-Mar-2016 ozaki-r

Add tests for tap(4)


# 1.663 23-Feb-2016 christos

add t_option


# 1.662 22-Feb-2016 christos

new shell test


# 1.661 29-Jan-2016 ozaki-r

Add tests for a gateway not on the local subnet

The tests are derived from the example at
http://www.netbsd.org/docs/network/#nonsubnetgateway ,
which has come up in PR 50717.


# 1.660 25-Jan-2016 jnemeth

Add t_hypot to fix build break. Hi gson!


# 1.659 05-Jan-2016 jakllsch

Add some tests for the kernel HID parser.


# 1.658 01-Jan-2016 jakllsch

tests for libusbhid (many of which fail)


# 1.657 05-Dec-2015 christos

new files


# 1.656 04-Dec-2015 christos

add gpt directory


# 1.655 04-Dec-2015 christos

Add gpt tests


# 1.654 18-Nov-2015 christos

Add new db test.


# 1.653 12-Nov-2015 ozaki-r

Add tests of IPv6 link local address

From s-yamaguchi@IIJ


# 1.652 11-Nov-2015 ozaki-r

Add tests for RA

From s-yamaguchi@IIJ (with some tweaks by me)


# 1.651 05-Nov-2015 knakahara

add basic if_gif tests to ATF.


# 1.650 14-Oct-2015 christos

add new test


# 1.649 07-Oct-2015 ozaki-r

Add tests for assigining/deleting IP addresses

The tests help to find defects related to creation/deletion
of routes/llentries and assigning/deleting of IP addresses.


# 1.648 25-Sep-2015 martin

Try to fix set lists for libproc and librtld_db. The latter is probably
wrong and needs to be redone with COMPATARCHDIRS magic, but I can't
find any documentation how to do it. Matt?


# 1.647 24-Sep-2015 christos

debug for libproc


# 1.646 24-Sep-2015 christos

update for libproc/librtld_db/dtrace changes


# 1.645 14-Sep-2015 ozaki-r

Add tests for IPv6 ICMP redirect

Note that tests for redirect timeout doesn't work for now due to
PR kern/50240.

From s-yamaguchi@IIJ (with some fixes and tweaks by ozaki-r)


# 1.644 31-Aug-2015 ozaki-r

Add tests for ICMP redirect timeout


# 1.643 27-Aug-2015 rjs

Don't make fifofs test depend on rump.


# 1.642 23-Aug-2015 mrg

move the obsolete list files into their respective sets. this means
that if you install a new set and run "postinstall fix obsolete"
the expected things happen.

(hi 12.5 year old me who thought base was better than etc set, which
it really was, but this is better again :-)


# 1.641 10-Aug-2015 mrg

now that we only support gcc 4.8, make all the gcc tags just "gcc".
this should help with next-gcc, when we can add back gcc=48 and
gcc=5x tags, as necessary.


# 1.640 10-Aug-2015 mrg

obsolete and clean up gcc=3 (3.3), gcc=4 (4.1), and gcc=45 (4.5) sets.


# 1.639 06-Aug-2015 ozaki-r

Add basic tests for IPv6 Address Lifetime Expiry


# 1.638 03-Aug-2015 ozaki-r

Add tests for NDP


# 1.637 30-Jul-2015 ozaki-r

Add tests for IPv4 DAD


# 1.636 29-Jul-2015 christos

fix name of the test


# 1.635 29-Jul-2015 christos

new lint test.


# 1.634 29-Jul-2015 ozaki-r

Add tests for ARP


# 1.633 28-Jul-2015 christos

new test


# 1.632 01-Jul-2015 christos

new test


# 1.631 01-Jul-2015 ozaki-r

Add tests of interface creation/destruction


# 1.630 24-Jun-2015 matt

Remove spurious rump from directories


# 1.629 22-Jun-2015 christos

add new db test


# 1.628 22-Jun-2015 matt

Update some of the set lists to use the compatdir/compatfile
compattestsdir/compattestsfile as well the kmod auto-entry creation.
Remove entries that are now instantiated by the above.


# 1.627 27-May-2015 kefren

Add another simple MPLS test but using this time a mixed IPv4/IPv6 LSR
This test encapsulates IPv6 packets, pass them over MPLS to an IPv6
neighbour that switches label and passes forward to an IPv4
neighbour. There, the IPv6 packet is decapsulated and passed to IPv6 stack
For the return path we test both implicit and explicit null encapsulations


# 1.626 27-May-2015 kefren

Add a simple IPv6/MPLS test


# 1.625 26-May-2015 htodd

Revert wrong build fix.


# 1.624 26-May-2015 htodd

Fix debug build.


# 1.623 26-May-2015 ozaki-r

Run mcast tests on rump kernels

The tests on anita qemus failed due to that the host network environment
didn't meet the tests.

The change makes the tests independent from host environments
and the tests will pass on any environments including anita qemus.

Discussed on tech-kern and tech-net.


# 1.622 18-May-2015 ozaki-r

Add tests for route flags


# 1.621 15-May-2015 ozaki-r

Add missing rump flag to net/route test files


# 1.620 13-May-2015 ozaki-r

Add basic tests for IP forwarding


# 1.619 11-May-2015 christos

add new lint test.


# 1.618 05-May-2015 sjg

New unit-test for make


# 1.617 01-May-2015 christos

- new test for strtoi
- namespace protection for strto{i,u}
- separate manpages for strto{i,u} from the ones for strto{u,}l
From: Kamil Rytarowski


# 1.616 09-Apr-2015 ginsbach

Split inet_addr(3) tests from t_inet_network into stand-alone t_inet_addr,
so that t_inet_network only contains tests for inet_network(3).


# 1.615 05-Apr-2015 martin

Add new bind(2) test program


# 1.614 03-Apr-2015 christos

add another lint test


# 1.613 29-Mar-2015 chopps

- Add new tests for -c check flag in resize_ffs


# 1.612 06-Feb-2015 rjs

Fix build when MKRUMP=no.


# 1.611 31-Jan-2015 christos

PR/49617: Kirk Russell: new posix_fallocate test


# 1.610 14-Jan-2015 christos

add vnode kqueue test from PR/48958


# 1.609 06-Jan-2015 mrg

fix MKGCC=no builds.


# 1.608 05-Jan-2015 christos

add in_cksum tests


# 1.607 05-Jan-2015 joerg

Add missing gcccmds tags.


# 1.606 05-Jan-2015 mrg

fix MKGCCCMDS=no, and turn it on by default for sun2.


# 1.605 21-Dec-2014 martin

Add new test program


# 1.604 20-Dec-2014 uebayasi

config(1): Fix test breakage

Now config(1) checks the content of $S/conf/Makefile.kern.inc. Install it
into config(1) test directory to fix test. Noticed by Martin Husemann.


# 1.603 08-Dec-2014 ozaki-r

Add basic tests for ifconf (SIOCGIFCONF)


# 1.602 02-Dec-2014 christos

add new address printing tests.


# 1.601 21-Nov-2014 ozaki-r

Add missing file entries of tests/usr.bin/xlint/lint1

This unbreaks the build.


# 1.600 15-Nov-2014 uebayasi

Merge tests.


# 1.599 14-Nov-2014 uebayasi

Test orphan ELF section placement.


# 1.598 14-Nov-2014 uebayasi

Test __start_xxx/__stop_xxx symbol generation.


# 1.597 14-Nov-2014 uebayasi

Minimal linker script test.


# 1.596 29-Oct-2014 uebayasi

config(1): Check minimal config(1) output files


# 1.595 20-Oct-2014 christos

t_mcast is not a rump test (but should be).


# 1.594 15-Oct-2014 justin

PR standards/49279 add tests for open_memstream, ported from OpenBSD


# 1.593 13-Oct-2014 uebayasi

Sort.


# 1.592 11-Oct-2014 christos

add multicast tests


# 1.591 18-Sep-2014 ozaki-r

Add net/if_bridge test


# 1.590 25-Aug-2014 joerg

Add basic support for indirect functions. It allows providing a public
function symbol with an implementation choosen at run time.
Refactor calls to functions by address in ld.elf_so to create temporary
function descriptors on the stack, if the address is not leaked outside.

Limitations:
- no support for initialising static storage with function pointers
- no support for unnamed resolver functions

Inspired by FreeBSD's r228435 by kib@freebsd.org.


# 1.589 24-Aug-2014 apb

Add tests for backslash escaping in make(1).

Many of these tests fail, and I have populated the escape.exp file with
the results that I expect, not with the results that make(1) actually
produces.

Also update the set lists for these tests.


# 1.588 24-Aug-2014 apb

sort


# 1.587 23-Aug-2014 christos

new make tests


# 1.586 22-Aug-2014 apb

Test make(1) by running the maintained tests, not unmaintained
copies of them.

* Remove all old tests from src/tests/usr.bin/make/d_*. These tests
were unmaintained old copies of the actual tests which are maintained
under src/usr.bin/make/unit-tests. One exception is the test in
d_unmatchedvarparen.mk, which was new, but has nw been added to
src/usr.bin/make/unit-tests/varmisc.mk.
* In src/tests/usr.bin/make/Makefile, copy all
the tests from src/usr.bin/make/unit-tests to
${DESTDIR}/usr/tests/usr.bin/make/unit-tests.
* In src/tests/usr.bin/make/t_make.sh, run the tests installed above,
instead of the old tests.
* In etc/mtree/NetBSD.dist.tests, create the
usr/tests/usr.bin/make/unit-tests diectory.
* Update the set lists for all the above.


# 1.585 22-Aug-2014 apb

sort


Revision tags: netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.584 09-Aug-2014 gson

branches: 1.584.2;
Test that reading a CTLTYPE_INT sysctl variable into a buffer that is
too small returns ENOMEM, and that reading it into a buffer that is
large enough returns the expected sizeof(int) bytes of data.


# 1.583 07-Aug-2014 jmmv

Add missing Kyuafile.


# 1.582 18-Jul-2014 christos

Add t_minherit.


# 1.581 12-Jul-2014 dholland

Mark stray files obsolete (don't just remove them); noted by Paul Goyette.
(hi darrenr)


# 1.580 12-Jul-2014 darrenr

Test n17_6 does not yet exist so remove unrequired files and test case


# 1.579 09-Jul-2014 alnsn

Add t_cop and t_extmem kernel bpfjit tests to the build.


# 1.578 08-Jul-2014 alnsn

Add t_mbuf tests to the build.


# 1.577 07-Jul-2014 alnsn

Add bpf/t_mbuf test to the build.


# 1.576 01-Jul-2014 htodd

Fix build for ipf tests.


# 1.575 30-Jun-2014 alnsn

Add new net/t_bpfjit test.


# 1.574 25-Jun-2014 alnsn

Add new libbpfjit tests.


# 1.573 23-Jun-2014 shm

Add bm(3) tests


# 1.572 16-Jun-2014 joerg

Add modfl(3). From FreeBSD.


# 1.571 31-May-2014 christos

add missing files for dotcmd tests


# 1.570 31-May-2014 christos

new shell tests


# 1.569 15-May-2014 apb

sort


Revision tags: yamt-pagecache-base9
# 1.568 10-May-2014 martin

Add a test case for PR kern/48787.


# 1.567 29-Apr-2014 uebayasi

Minimal execve(2) ATF test.


# 1.566 17-Apr-2014 pgoyette

Reference the correct test file name...

Hello again, xtos!


# 1.565 17-Apr-2014 christos

add new lint tests


# 1.564 06-Apr-2014 christos

add stp*cpy tests.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
# 1.563 08-Feb-2014 jmmv

branches: 1.563.2;
Update file lists for atf 0.19.

This has been tested with both MKKYUA=no (the default) and MKKYUA=yes, as
well as with a non-clean tree and a clean build. Hopefully I got the
details right... but they were tricky!


# 1.562 04-Feb-2014 njoly

Handle another declaration after statement case for lint in c99 mode.
Add the corresponding testcase.


# 1.561 01-Feb-2014 jmmv

Add missing Kyuafile for usr.bin/vmstat tests.


# 1.560 30-Jan-2014 joerg

Add test for uint64 to real long double conversion.


# 1.559 17-Jan-2014 pgoyette

Update sets lists for new h_sha1hmac test program.


# 1.558 15-Jan-2014 martin

Obsolete /usr/tests/opencrypto


# 1.557 14-Jan-2014 pgoyette

Update sets list for new opencrypto test suite


# 1.556 09-Jan-2014 christos

add new resolv.conf file


# 1.555 07-Jan-2014 gson

Add some minimal tests of vmstat(1), to serve as regression tests
for PR bin/44518.


# 1.554 06-Jan-2014 gson

Make t_hostent test cases that query the DNS work on systems with no
Internet connectivity, by hijacking DNS queries and /etc/resolv.conf
accesses using librumphijack and providing a minimal DNS server to
answer the queries.


# 1.553 02-Jan-2014 tho

Drop superflous "picinstall" flag on "obsolete" items

Reported by apb@, thanks!


# 1.552 02-Jan-2014 tho

Mark all _pic.a archive files with the 'picinstall' flag.

This fixes checkflist with MKPICINSTALL=no.

ok christos@.


# 1.551 12-Nov-2013 kefren

mark t_ldp_static obsolete (this time correctly)


# 1.550 12-Nov-2013 joerg

Initial version of fmodl from FreeBSD.
Basic test case for the fmod family.


# 1.549 12-Nov-2013 kefren

Retire t_ldp_static. It's too heavy weighted for releng's anita and mostly
unsuited for atf.


# 1.548 11-Nov-2013 joerg

NetBSD 6.99.26: Switch i386 and amd64 to the x87 default control word
as initial value for new processes. This means that long double
computations get the expected 63bit mantissa. Binaries tagged as
compiled for 6.99.25 and older get the old value.

Add a simple test case to ensure that double and long double computation
are working correctly.


# 1.547 27-Oct-2013 apb

sort


# 1.546 12-Oct-2013 christos

add new t_tcp test


# 1.545 16-Aug-2013 christos

new hostent related tests.


# 1.544 11-Aug-2013 joerg

Sort entries in strcmp order.


# 1.543 10-Aug-2013 dholland

+tp


# 1.542 25-Jul-2013 kefren

add a couple of tests for dynamic MPLS routes generation using ldpd


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.541 23-Jul-2013 kefren

Add a test for RFC4182


# 1.540 19-Jul-2013 kefren

Add a couple of basic IP/MPLS forwarding tests


Revision tags: riastradh-drm2-base
# 1.539 03-Jul-2013 nakayama

branches: 1.539.2;
Enable tests which does not require rump if MKRUMP=no.
Pointed out by christos on source-changes-d.


# 1.538 02-Jul-2013 nakayama

rump is required for tests under tests/net/net.


# 1.537 27-Jun-2013 christos

add pktinfo tests


# 1.536 28-May-2013 joerg

Add mbsnrtowcs and wcsnrtombs. Approved by core.


# 1.535 22-Apr-2013 christos

new t_mktemp


# 1.534 17-Apr-2013 riz

Add ./usr/tests/kernel/t_umountstress to set lists, to fix the build.


# 1.533 14-Apr-2013 jmmv

Add missing Kyuafile.


# 1.532 28-Mar-2013 christos

new test


Revision tags: agc-symver-base
# 1.531 23-Mar-2013 christos

try to fix sun2


# 1.530 21-Mar-2013 christos

new dlopen tests for libpthread.


# 1.529 08-Mar-2013 martin

Adapt to renamed test program


# 1.528 08-Mar-2013 martin

Add new test program t_sigtimedwait_pr_47625.


# 1.527 28-Feb-2013 christos

Locale I/O tests.


# 1.526 28-Feb-2013 martin

Add new testprogram


# 1.525 26-Feb-2013 christos

add a new rpc test


# 1.524 25-Feb-2013 jmmv

Update file lists to reflect the import of kyua-atf-compat, which has the
side-effect of marking several atf-related entries as obsolete (when
MKKYUA!=no).


# 1.523 23-Feb-2013 jmmv

Remove duplicate (and possibly invalid) 'atf' tags from 3 tests.


# 1.522 23-Feb-2013 jmmv

Autogenerate Kyuafiles next to Atffiles when MKKYUA is set.

This is suboptimal: the current high-level definitions of test programs
in the Makefiles do not carry enough information to support all the
features of Kyuafiles. For example, it is not possible to register test
programs that do *not* use the ATF libraries, which is something that
has been frequently requested around here; nor it is possible to attach
arbitrary metadata to test programs from the Makefile, which is handy
particularly for ATF-less test programs.

For these reasons, consider this a transitional step.

Note that, with this change, you should now be able to use the 'kyua'
tool to run the tests in /usr/tests.


# 1.521 23-Feb-2013 jmmv

Register directories and files provided by kyua-cli.


# 1.520 19-Feb-2013 jmmv

Enable the build of kyua-testers and register its files and directories.
This is conditional on MKKYUA.


# 1.519 17-Feb-2013 htodd

Fix build by adding obsolete to files in /usr/tests/examples.


# 1.518 16-Feb-2013 jmmv

Hook Lutok into the build. This is all protected by the MKKYUA guard.


# 1.517 16-Feb-2013 jmmv

Move tests for examples from tests/examples to tests/share/examples.

This is to match the layout of the installed and source files more closely.
While doing this, honor the MKSHARE variable, as the files these tests
validate are only installed when MKSHARE=yes.


# 1.516 15-Feb-2013 jmmv

Update file lists for atf 0.17.


Revision tags: yamt-pagecache-base8
# 1.515 16-Jan-2013 christos

Add a new "debug" set that gets built when ${MKDEBUG} is set. On evbarm:
-rw-r--r-- 1 root src 35806068 Jan 16 10:47 base.tgz
-rw-r--r-- 1 root src 57374069 Jan 16 10:48 comp.tgz
-rw-r--r-- 1 root src 101286193 Jan 16 10:49 debug.tgz
...
This allows always building the debugging code and libraries but not
installing it (although now it is placed in the default sets if ${MKDEBUG}
is set


# 1.514 06-Jan-2013 christos

add the udp test.


# 1.513 02-Jan-2013 christos

fix mtree sets


Revision tags: yamt-pagecache-base7
# 1.512 04-Dec-2012 jruoho

Move the bitmap(3) test to the "right" place. Note it in bitops(3). Xrefs.


# 1.511 01-Dec-2012 christos

add a bitops test


# 1.510 30-Nov-2012 pgoyette

Remove the now-obsolete ipf/t_bpf.sh test


# 1.509 23-Nov-2012 njoly

Adjust for usr/tests/lib/libc/c063 debug entries.


# 1.508 20-Nov-2012 agc

add missing destdir files for netpgpverify addition


# 1.507 20-Nov-2012 agc

add test files for netpgpverify


# 1.506 18-Nov-2012 manu

Add most system calls for POSIX extended API set, part 2, with test cases:
faccessat(2), fchmodat(2), fchownat(2), fstatat(2), mkdirat(2), mkfifoat(2),
mknodat(2), linkat(2), readlinkat(2), symlinkat(2), renameat(2), unlinkat(2),
utimensat(2), openat(2).

Also implement O_SEARCH for openat(2)

Still missing:
- some flags for openat(2)
- fexecve(2) implementation


# 1.505 17-Nov-2012 joerg

Unbreak the NOTE_TRACK event of EVFILT_PROC. When attaching to the child
process, proc_find can't be used as the child is still in state SIDL.


# 1.504 12-Nov-2012 njoly

Adjust for tests/lib/{libbpfjit,libsljit} debug entries.


# 1.503 11-Nov-2012 alnsn

Build libbpfjit test to the build.


# 1.502 08-Nov-2012 pgoyette

Include the newly-converted tests/lib/libc/gen/t_sleep test


# 1.501 07-Nov-2012 pgoyette

Add the ATF file-locking test


# 1.500 05-Nov-2012 alnsn

Untie libsljit directory from MKSLJIT.


# 1.499 05-Nov-2012 pgoyette

Add new SysV IPC test


# 1.498 05-Nov-2012 alnsn

Build sljit test when MKSLJIT != no and set MKSLJIT to yes on amd64 and i386.


# 1.497 03-Nov-2012 pgoyette

Add tests/mqueue


Revision tags: yamt-pagecache-base6
# 1.496 27-Sep-2012 joerg

Add regression test for cdbr(3) and cdbw(3).


# 1.495 18-Sep-2012 martin

npftest.conf is not dependend on pic


# 1.494 13-Sep-2012 martin

npftest only is build with dynamic libraries


# 1.493 12-Sep-2012 rjs

Allow build with MKRUMP=no.


# 1.492 12-Sep-2012 martin

Set list changes for npftest binary and npf tests


# 1.491 12-Sep-2012 manu

branches: 1.491.2;
setcontext() used to be incompatible with -lpthread since it affected
the TLS pointer, therefore wrecking the pthread environement.

Some ports had _UC_TLSBASE flag or equivalent (_UC_UNIQUE on alpha)
that controlled whether setcontext() would change the TLS pointer.
This change let libpthread override setcontext() with its own version
that unsets _UC_TLSBASE, enabling safe usage of setcontext() with
-lpthread.

We also have the following required changes here:
- rename alpha's _UC_UNIQUE into _UC_TLSBASE
- add _UC_TLSBASE definition in header file for all ports
(powerpc, sh3, sparc and sparc64 lack the implementation for now)
- introduce a libc stub that can be overriden for setcontext()
- modify MD libcs swapcontext() implementations so that they use the
setcontext() libc stub instead of doing a plain system call.

While we are there:
- document various MD _UC_* flags in header file
- add libc and libpthread tests for swapcontext() behavior
(hopefully helpful to spot MD problems introduced with this change)

Future work:
- Deciding whether kernel support or _UC_TLSBASE should be added for
powerpc, sh3, sparc and sparc64 is left to portmasters
sparc64

Approved by core@


# 1.490 26-Aug-2012 jmmv

Add placeholder test programs for share/mk files.

The main goal of this change is to simplify the further addition of test
cases for the share/mk infrastructure by adding a few placeholder test
programs to the tests tree.

To not leave these test programs empty, I have added a bunch of extremely
simple test cases to them.


# 1.489 24-Aug-2012 jmmv

Sanitize the regex test cases.

- Merge h_regex_att (att.c) and t_regex_att.sh into a single C test program.
The former was really a test program, and the latter just a very strange
driver for it.

- Stop using awk to generate the shell test programs. This is unnecessary
and confusing. Instead, change t_regex.sh to generate the test case
functions on the fly with eval (as done in many other places).


# 1.488 14-Aug-2012 alnsn

Build and install t_bpfilter.


# 1.487 13-Aug-2012 christos

add fdpass files


# 1.486 11-Aug-2012 nakayama

Fix MKRUMP=no build.


# 1.485 10-Aug-2012 joerg

Make GCC entries optional.


# 1.484 10-Aug-2012 joerg

No need to check for MKRUMP twice.


# 1.483 08-Aug-2012 christos

fix pasto


# 1.482 08-Aug-2012 christos

adjust for MKRUMP = no


# 1.481 28-Jul-2012 njoly

Add testcase for PR/46743


# 1.480 23-Jul-2012 pgoyette

Oppps - should not removes lines from this file, just mark the old entries
as obsolete. Thanks for pointing this out, Berndt!


# 1.479 23-Jul-2012 pgoyette

Tests n201 and n202 have been removed with the recent update to ipf


# 1.478 22-Jul-2012 joerg

Add basic regression test for nbperf(1)


# 1.477 14-Jul-2012 christos

no more CRYPTO_{IDEA,MDC2}


# 1.476 11-Jul-2012 jmmv

Update file sets for atf 0.16.

In particular, add entries for the new libatf-c and libatf-c++ shared
libraries. I have followed existing entries to come up with the right
lines to add... but this is quite tricky, so please forgive any fallout
that may follow (and let me know if there is any!).


# 1.475 22-Jun-2012 christos

add recvmmsg test


# 1.474 11-Jun-2012 njoly

New testcase to check limits flags for ulimit builtin.


# 1.473 06-Jun-2012 martin

Add a basic test for infocmp - this would have cought todays terminfo
lossage (PR lib/46553).


# 1.472 03-Jun-2012 joerg

Switch terminfo(3) to cdb(5).


# 1.471 01-Jun-2012 skrll

Fix t_backtrace.debug entry.


# 1.470 27-May-2012 christos

sets for execinfo test


Revision tags: yamt-pagecache-base5
# 1.469 21-May-2012 martin

Calling _lwp_create() with a bogus ucontext could trigger a kernel
assertion failure (and thus a crash in DIAGNOSTIC kernels). Independently
discovered by YAMAMOTO Takashi and Joel Sing.

To avoid this, introduce a cpu_mcontext_validate() function and move all
sanity checks from cpu_setmcontext() there. Also untangle the netbsd32
compat mess slightly and add a cpu_mcontext32_validate() cousin there.

Add an exhaustive atf test case, based partly on code from Joel Sing.

Should finally fix the remaining open part of PR kern/43903.


# 1.468 18-May-2012 jruoho

Add a test case for PR kern/46463. From Richard Hansen.


# 1.467 30-Apr-2012 njoly

Move module related debug entries to module.mi list to fix MKDEBUG=yes
and MKKMOD=no builds. Add missing k_helper3.debug line.


# 1.466 20-Apr-2012 jruoho

Add few unit tests for mlock(2), including a case for PR kern/44788.


# 1.465 19-Apr-2012 jruoho

Add a test case for PR bin/39546.


Revision tags: yamt-pagecache-base4
# 1.464 14-Apr-2012 jruoho

Add a test case for PR kern/46328 (tested naively with tcpdump(8)).


# 1.463 10-Apr-2012 jruoho

Test that sysctl(8) does not segfault, as reported by pgoyette@ on current
users.


# 1.462 30-Mar-2012 jruoho

Add regression tests for PR bin/3914 and PR bin/27140.


# 1.461 29-Mar-2012 jruoho

Few fundamental consistency checks for the abs(3) family.


# 1.460 29-Mar-2012 jruoho

Few naive consistency checks for the atoi(3) family.


# 1.459 28-Mar-2012 jruoho

Add a small test that checks that random(3) does not always return zero when
the RNG is initialized with zero. Prompoted by the recent nasty bug in the
OpenBSD libc.


# 1.458 27-Mar-2012 jruoho

Add regression tests for the 1990s bugs PR bin/3538 and PR bin/4841.


# 1.457 27-Mar-2012 jruoho

Append a case for (fixed) PR bin/25899. From Min Sik Kim.


# 1.456 24-Mar-2012 tron

Update entries for IPFilter regression tests.


# 1.455 24-Mar-2012 matt

Mark ipf entries with ipfilter so that MKIPFILTER=no works.


# 1.454 23-Mar-2012 christos

add new tests


# 1.453 20-Mar-2012 jruoho

Add regression tests for PR bin/12424, PR bin/12316, and PR bin/14253,
all fixed long time ago.


# 1.452 19-Mar-2012 njoly

Adjust to unbreak mkdebug build.


# 1.451 19-Mar-2012 jruoho

Add regression tests for PR bin/2642 and PR bin/23836, both fixed long ago.


# 1.450 18-Mar-2012 christos

add t_cdefs


# 1.449 18-Mar-2012 jruoho

Add a case for PR bin/44973.


# 1.448 18-Mar-2012 jruoho

Add a test case for PR bin/28126. Does not fail with GNU sed.


# 1.447 18-Mar-2012 jruoho

Add a case for PR lib/41558. It is unclear whether this is a bug, but at
least it is documented now. Probably it would be better to follow Linux,
where the test case does not fail.


# 1.446 17-Mar-2012 jruoho

Move the _lwp_ctl(2) preemption counter check to the right place.


# 1.445 17-Mar-2012 jruoho

Adjust set lists and mtree.


# 1.444 17-Mar-2012 jruoho

Add few basic tests for realpath(3).


# 1.443 17-Mar-2012 jruoho

Adjust set lists and mtree.


# 1.442 11-Mar-2012 njoly

Small typo.


# 1.441 11-Mar-2012 jruoho

Adjust set lists and mtree.


# 1.440 10-Mar-2012 christos

add awk tests


Revision tags: netbsd-6-base
# 1.439 15-Feb-2012 riz

branches: 1.439.2;
Back out the recent import of IPFilter 5.1.1 for the upcoming branch,
which will now have IPFilter 4.1.34. IPFilter 5.1.1 will be restored
post-branch.

ok: core, releng.


# 1.438 14-Feb-2012 njoly

Kill dup lines.


# 1.437 14-Feb-2012 riz

Fix the build after ipfilter tests were added.


# 1.436 13-Feb-2012 martin

Move posix_spawn tests to lib/libc/gen/posix_spawn - they test both libc
and kernel, but that is an implementation detail unrelated to the tests
themselfs.
Ok: releng


# 1.435 11-Feb-2012 martin

Add userland part of posix_spawn. Libc functions imported from FreeBSD.
Based on Charles Zhang's summer of code project.


# 1.434 18-Jan-2012 bouyer

Make parts of the quota tests useable for more than quotas:
- rename h_quota2_server to h_ffs_server, there's nothing about quotas
in there.
- extract non-quota parts of quotas_common.sh to ffs_common.sh


# 1.433 27-Dec-2011 pgoyette

Add the Atffile for libcrypt tests


# 1.432 27-Dec-2011 christos

Add crypt tests.


# 1.431 25-Dec-2011 christos

more lint tests


# 1.430 21-Dec-2011 pgoyette

Include the fifofs Atffile


# 1.429 21-Dec-2011 christos

add the directories


# 1.428 21-Dec-2011 christos

Add a fifofs test.


# 1.427 24-Nov-2011 christos

add t_subr_prf


# 1.426 22-Nov-2011 cheusov

Regression tests for awk(1) (PR 44063)


# 1.425 21-Nov-2011 joerg

Add test cases for strcspn, strpbrk, strspn, wcscspn, wcspbrk and
wcsspn.


# 1.424 17-Nov-2011 christos

add kevent test


# 1.423 14-Nov-2011 christos

add t_evaltested


# 1.422 12-Nov-2011 riz

Add /usr/tests/examples/Atffile to fix the build.


# 1.421 12-Nov-2011 jmmv

Register the new asm examples and their tests.


Revision tags: yamt-pagecache-base3
# 1.420 08-Nov-2011 jruoho

Few naive checks for cpuset(3) and ftok(3).


Revision tags: yamt-pagecache-base2
# 1.419 06-Nov-2011 christos

Add the libtre tests
XXX: It would be *really* nice to share the data with libc/regex since
this is just another copy.


# 1.418 06-Nov-2011 christos

new regex tests


# 1.417 05-Nov-2011 jruoho

Move connect(2), listen(2) and socketpair(2) tests to the right place.


# 1.416 05-Nov-2011 jruoho

Few naive checks for time(3).


# 1.415 05-Nov-2011 jruoho

Add 21 unit tests for the XSI message queues.


# 1.414 04-Nov-2011 christos

add t_socketpair


Revision tags: yamt-pagecache-base
# 1.413 01-Nov-2011 pgoyette

branches: 1.413.2;
Add t_ether_aton test


# 1.412 31-Oct-2011 christos

add pipe2 tests


# 1.411 16-Oct-2011 jruoho

Basic checks for the root functions.


# 1.410 16-Oct-2011 jruoho

Basic IEEE tests for the hyperbolic sine and cosine.


# 1.409 15-Oct-2011 jruoho

Move the sigaction(2) test to the right place.


# 1.408 15-Oct-2011 jruoho

Move the ucontext(2) test to the right place.


# 1.407 15-Oct-2011 jruoho

Move the writev(2) test to the right place.


# 1.406 15-Oct-2011 jruoho

Move the clock_gettime(2) timer test to the right place.


# 1.405 15-Oct-2011 jruoho

Follow the design principles of tests(7) by merging 't_poll3w' to 't_poll'
as a test case instead of separate file.


# 1.404 15-Oct-2011 jruoho

Move the mkdir(2) test to the right place.


# 1.403 15-Oct-2011 jruoho

Move the pipe(2) test to the right place.


# 1.402 15-Oct-2011 jruoho

Move the posix_fadvise(2) test to the right place.


# 1.401 13-Oct-2011 njoly

Do not delete nul.in line, but tag it as obsolete.


# 1.400 11-Oct-2011 dholland

Don't use 'nul' in filenames as windows will belch.
(Caught by importing the tree into mercurial)


# 1.399 09-Oct-2011 christos

add the regex exhaustion test


# 1.398 04-Oct-2011 christos

add new test


# 1.397 28-Sep-2011 christos

Add a sockaddr_un test.


# 1.396 24-Sep-2011 christos

Add rfc6056 tests


# 1.395 24-Sep-2011 christos

Add the pty test.


# 1.394 19-Sep-2011 pgoyette

Mark the tests/lib/libc/ieefp directory obsolete, as well as its former
contents.


# 1.393 19-Sep-2011 njoly

Small typo (t_fpsclassify -> t_fpclassify).


# 1.392 19-Sep-2011 jruoho

Add missing entries.


# 1.391 19-Sep-2011 jruoho

Move duplicate ldexp(3) test out from the tests/libc.


# 1.390 19-Sep-2011 jruoho

Move the tests/libc/ieeefp to tests/libc/gen to match the structure of libc.
Also rename the test files to gain functional scope.


# 1.389 18-Sep-2011 jruoho

IEEE checks for the exponential family.


# 1.388 17-Sep-2011 jruoho

IEEE checks for the arcus functions.


# 1.387 17-Sep-2011 jruoho

Few tests for the error functions.


# 1.386 17-Sep-2011 jruoho

IEEE corner case tests for the pow(3) family (incl. PR lib/45372).


# 1.385 14-Sep-2011 jruoho

Some tests for sine, cosine, and tangent.


# 1.384 12-Sep-2011 jruoho

Merge 't_floor' to 't_ceil', and simplify.


# 1.383 12-Sep-2011 jruoho

Start systematic testing of libm(3) by first evaluating the corner cases
(NaN, +0.0, -0.0, +Inf, -Inf) for the ldexp(3) and scalbn(3) families.


# 1.382 11-Sep-2011 jruoho

See that system(3) works.


# 1.381 11-Sep-2011 jruoho

Naive tests for the naive putc(3) family.


# 1.380 11-Sep-2011 jruoho

Few unit tests for the fopen(3) family.


# 1.379 11-Sep-2011 jruoho

Couple of unit tests for fflush(3).


# 1.378 27-Aug-2011 dyoung

Build and install ppath(3) tests.


# 1.377 25-Aug-2011 dyoung

Set-list repair: remove the 'gcccmds' tag from lines where it does not
belong.


# 1.376 15-Jul-2011 jruoho

Split out the -lpthread tests to a separate file.

XXX: The only thing gained from this is seeing whether -lpthread breaks
the getenv(3) family. Yet, a strict hypothesis about this would require
that the two test files are identical, which they are not.


# 1.375 15-Jul-2011 jruoho

Rename two test files to get functional scope (and avoid confusion
with ctype(3)). No functional change.


# 1.374 15-Jul-2011 jruoho

Few naive unit tests for the getprotoent(3) family.


# 1.373 08-Jul-2011 jruoho

Split out 't_printf' and 't_scanf' from 't_format' to gain the common
"functional scope" for the test files.


# 1.372 07-Jul-2011 jruoho

Move 't_glob_star' to 't_glob' for glob(3).


# 1.371 07-Jul-2011 jruoho

Merge 't_environment' and 't_environment_pth'.


# 1.370 07-Jul-2011 pgoyette

Mark the ..../syscall/ test directories obsolete as well as their contents


# 1.369 07-Jul-2011 jruoho

Move 't_syslog_pthread' to 't_syslog' for consistency with libc.


# 1.368 07-Jul-2011 jruoho

Split out the string tests from t_string.c for consistency.


# 1.367 07-Jul-2011 jruoho

Remove 't_cerror' (this is tested by numerous individual tests).
Rename 't_context' to 't_getcontext' for consistency.


# 1.366 07-Jul-2011 jruoho

Adjust for tests/libc/sys.


# 1.365 07-Jul-2011 jruoho

Deprecate tests/sycall. The tests will be added back to tests/libc/sys.


# 1.364 07-Jul-2011 jruoho

Move the 'syscall/t_cmsg' test to 'include/sys/t_socket'.


# 1.363 04-Jul-2011 jruoho

Few tests for mkfifo(2).


# 1.362 04-Jul-2011 jruoho

Few fundamental checks for chroot(2) and fchroot(2).


# 1.361 04-Jul-2011 jruoho

Basic tests for issetugid(2).


# 1.360 03-Jul-2011 jruoho

Three simple unit tests for revoke(2).


# 1.359 03-Jul-2011 jruoho

Few naive test cases for link(2).


# 1.358 03-Jul-2011 mrg

mark all the ld.elf_so tests as mkpic.


# 1.357 03-Jul-2011 jruoho

Few naive tests for unlink(2).


# 1.356 03-Jul-2011 jruoho

Few simple tests for mknod(2), including a skipped one for PR kern/45111.


# 1.355 25-Jun-2011 nonaka

PR/45015: ld.elf_so: support ELF symbol versioning
Applied latest patch.


# 1.354 20-Jun-2011 jruoho

Few naive tests for truncate(2).


# 1.353 17-Jun-2011 christos

terminfo has moved.


# 1.352 14-Jun-2011 jruoho

Test that assert(3) works.


# 1.351 14-Jun-2011 jruoho

Add few basic tests for the getlogin(2) family.


# 1.350 12-Jun-2011 plunky

reinstate ssp:raw test, slightly differently.. this one is built
with -fstack-protector-all and tests that the compiler built in
stack protection works, by poking directly outside the buffer


# 1.349 09-Jun-2011 spz

and fix the sets for the addition of srp and evp tests in libcrypto


# 1.348 04-Jun-2011 jruoho

Add some tests for strtol(3).


# 1.347 04-Jun-2011 jruoho

Add some tests for stat(2) (or tests that use stat(2)).


# 1.346 03-Jun-2011 jruoho

Add some fundamental checks for memset(3). Prompted by a recent nasty
bug in the Google Android libc.


# 1.345 03-Jun-2011 jruoho

Test also setdomainname(3).


# 1.344 02-Jun-2011 jruoho

Few naive tests for sethostname(3).


# 1.343 02-Jun-2011 jruoho

A simple test for mincore(2).


# 1.342 01-Jun-2011 tron

Add new test "syscall/t_poll".


Revision tags: cherry-xenmp-base
# 1.341 30-May-2011 njoly

branches: 1.341.2;
Add testcase for PR bin/45004, to exercize suffixes lists for
mkdep(1).


# 1.340 28-May-2011 tron

Move regression test for PR kern/44986 from "kernel" to "syscalls" as
the later directory seems to be a better fit.


# 1.339 28-May-2011 tron

Add two test cases for pollts(2):
- The first tests basic functionality e.g. timeouts and correct events.
- The second tests whether pollts(2) correctly restores the signal mask.
This test currently fails because of PR kern/44986.


# 1.338 20-May-2011 joerg

lib/libobjc/t_threads is GCC-specific


# 1.337 18-May-2011 christos

add pselect


# 1.336 10-May-2011 jruoho

Few naive tests for pause(3).


# 1.335 09-May-2011 jruoho

Add a test case for PR kern/44946. This tests that common first level sysctl
nodes (ddb, hw, machdep, etc.) are not writable by a normal user.


# 1.334 09-May-2011 jruoho

Few basic tests for exit(3).


# 1.333 09-May-2011 jruoho

Few basic tests for strerror(3).


# 1.332 09-May-2011 jruoho

Few basic tests for closefrom(3).


# 1.331 05-May-2011 jruoho

Try to mirror the real source with the test directory structure (otherwise
the latter carries a risk of becoming a difficult mess to manage.)


# 1.330 05-May-2011 jruoho

Few fundamental consistency checks for alarm(2).


# 1.329 05-May-2011 jruoho

Follow the real tree with the test directory structure.


# 1.328 05-May-2011 jruoho

Fix some glitches (a human doing machine's work).


# 1.327 05-May-2011 jruoho

Follow the real tree with the test directory structure.


# 1.326 03-May-2011 jruoho

Add a test case for PR bin/26453.


# 1.325 03-May-2011 jruoho

Add a test for PR bin/41880.


# 1.324 03-May-2011 jruoho

A test for non-critical/low PR bin/42179.


# 1.323 03-May-2011 jruoho

Verify that PR bin/42628 is no longer an issue.


# 1.322 03-May-2011 jruoho

Add a test for non-critical/low PR bin/43141.


# 1.321 03-May-2011 jruoho

Some naive tests for the bswap(3) family.


# 1.320 02-May-2011 jruoho

Few basic tests for getitimer(2) and setitimer(2).


# 1.319 02-May-2011 pgoyette

Also add the Atffile to the sets list


# 1.318 01-May-2011 jruoho

Verify PR standards/44921.


# 1.317 01-May-2011 jruoho

Naive tests for clearerr(3).

Converted from the "PCCA" test suite by Stathis Kamperis.


# 1.316 01-May-2011 jruoho

Add a test for PR lib/41673 (another trivial errno "bug").


# 1.315 01-May-2011 jruoho

Few basic tests for nanosleep(2).


# 1.314 01-May-2011 jruoho

Two elementary tests for gettimeofday(2).


# 1.313 30-Apr-2011 jruoho

Few fundamental consistency checks for kill(2).


# 1.312 30-Apr-2011 alnsn

Add files required for the new testcase in t_awk.sh.


# 1.311 22-Apr-2011 joerg

Add t_threadjmp


# 1.310 17-Apr-2011 jruoho

Few simple tests for getgroups(2).


# 1.309 12-Apr-2011 matt

Fix MKDEBUG set lists.


# 1.308 11-Apr-2011 martin

Add libm/t_infinity


# 1.307 10-Apr-2011 jruoho

Formally verify PR standards/44777.


# 1.306 10-Apr-2011 blymn

Add libcurses tests


# 1.305 10-Apr-2011 jruoho

Verify that PR standards/21401 is no longer an issue.


# 1.304 10-Apr-2011 jruoho

Add tests for PR standards/44847 and PR standards/18067.


# 1.303 10-Apr-2011 jruoho

A naive test case for getcwd(3).


# 1.302 10-Apr-2011 jruoho

Add a test case for PR lib/41931 reported by he@. It was verified that these
fail on NetBSD 5.99.48 amd64 but pass on amd64 Linux (glibc 2.7).


# 1.301 09-Apr-2011 pgoyette

atf-ify the various locale tests


# 1.300 08-Apr-2011 jruoho

Move the round(3) checks from 't_libm' to their own 't_round'
for consistency. Add -Wfloat-equal and fix comparisons.


# 1.299 07-Apr-2011 jruoho

Add few naive test cases for msync(2).


# 1.298 07-Apr-2011 plunky

link libbluetooth tests to the build


# 1.297 06-Apr-2011 jruoho

As per PR lib/44818, remove 'lib/libpthread/t_status'. It takes two minutes
to rewrite this properly if someone misses this.


# 1.296 06-Apr-2011 jruoho

A test case for PR lib/44057.


# 1.295 06-Apr-2011 jruoho

Add few simple tests for getrusage(2), including heuristic for PR # 41734.


# 1.294 05-Apr-2011 jruoho

Basic tests for setrlimit(2).


# 1.293 05-Apr-2011 jruoho

Try to maintain the structure of libc and move 't_strtox' to 't_strtod'.


# 1.292 05-Apr-2011 jruoho

Add simple test cases for ttyname(3), strtod(3), and getgrent(3).


# 1.291 04-Apr-2011 jruoho

Use the same pattern for couple of simple setuid(2) tests.


# 1.290 04-Apr-2011 jruoho

Couple of simple tests for umask(2).


# 1.289 04-Apr-2011 he

Move the recently added tests for libexec/ld.elf_so to shl.mi, so that
the sun2 port builds again.


# 1.288 04-Apr-2011 jruoho

Few simple tests for nice(3).


# 1.287 04-Apr-2011 jruoho

Add some basic tests also for getsid(2).


# 1.286 04-Apr-2011 jruoho

Two basic tests for getpid(2).


# 1.285 03-Apr-2011 jruoho

Add couple of simple tests for access(2) and mprotect(2).


# 1.284 31-Mar-2011 joerg

Add initial regression test for ld.elf_so locking.


# 1.283 31-Mar-2011 jruoho

Add couple of simple tests for dup(2).


# 1.282 31-Mar-2011 jruoho

Add some basic tests for mmap(2), including one for the vm.user_va0_disable.


# 1.281 30-Mar-2011 jruoho

Add some naive tests for the efun(3) family of debug functions.


# 1.280 30-Mar-2011 he

Put tests depending on dlopen etc. under a test for MKPIC, and move
the corresponding entries in the set lists over to the shl.mi file.
This should bring the sun2 port back to a buildable state.


# 1.279 30-Mar-2011 jruoho

Add some basic tests for fsync(2) and <paths.h>.


# 1.278 25-Mar-2011 jruoho

Add some basic POSIX conformance tests for sched(3).


# 1.277 24-Mar-2011 jruoho

Add a naive test case for raise(3).


# 1.276 24-Mar-2011 jruoho

Add dummy test cases for ceil(3) and floor(3). It is expected that at least
one of these will fail on guest x86_64 NetBSD under Qemu. Thanks to pgoyette@
for checking the broken floor(16.999999...) = 17.


# 1.275 24-Mar-2011 jruoho

A dummy conformance-test for pthread_detach(3). I will extend this later.


# 1.274 24-Mar-2011 jruoho

A dummy conformance-test of pthread_equal(3).


# 1.273 22-Mar-2011 jmmv

+tests/lib/libutil/t_pidfile


# 1.272 19-Mar-2011 jruoho

Add a simple test file for <sys/bitops.h>. For now, only ilog2(3) is tested.


# 1.271 14-Mar-2011 pooka

test RUMPHIJACK fdoff=8


# 1.270 12-Mar-2011 bouyer

Add a test for rpc.rquotad(8)


# 1.269 12-Mar-2011 matt

Shell scripts don't have .debug versions.


# 1.268 11-Mar-2011 pooka

reality check


# 1.267 10-Mar-2011 pooka

+tp


# 1.266 10-Mar-2011 njoly

+libh_tls_{dlopen,dynamic}.so.1.debug


# 1.265 10-Mar-2011 pooka

rumpnet tests


# 1.264 10-Mar-2011 pooka

shmif_dumpbus tests


# 1.263 09-Mar-2011 joerg

Add TLS support infrastructure. For dynamic binaries, ld.elf_so exports
_rtld_tls_allocate and _rtld_tls_free. libpthread uses this functions to
setup the thread private area of all new threads. ld.elf_so is
responsible for setting up the private area for the initial thread.
Similar functions are called from _libc_init for static binaries, using
dl_iterate_phdr to access the ELF Program Header.

Add test cases to exercise the different TLS storage models. Test cases
are compiled and installed on all platforms, but are skipped on
platforms not marked for TLS support.

This material is based upon work partially supported by
The NetBSD Foundation under a contract with Joerg Sonnenberger.

It is inspired by the TLS support in FreeBSD by Doug Rabson and the
clean ups of the DragonFly port of the original FreeBSD modifications.


# 1.262 09-Mar-2011 bouyer

Use librumphijack for quota commands instead of rumpifed versions.


# 1.261 08-Mar-2011 pooka

+helper


# 1.260 07-Mar-2011 njoly

Add quota tests debug objects.


# 1.259 06-Mar-2011 bouyer

merge the bouyer-quota2 branch. This adds a new on-disk format
to store disk quota usage and limits, integrated with ffs
metadata. Usage is checked by fsck_ffs (no more quotacheck)
and is covered by the WAPBL journal. Enabled with kernel
option QUOTA2 (added where QUOTA was enabled in kernel config files),
turned on with tunefs(8) on a per-filesystem
basis. mount_mfs(8) can also turn quotas on.

See http://mail-index.netbsd.org/tech-kern/2011/02/19/msg010025.html
for details.


# 1.258 05-Mar-2011 pgoyette

sets-list dance for new ps_strings tests


Revision tags: bouyer-quota2-nbase
# 1.257 03-Mar-2011 pooka

+tp


# 1.256 26-Feb-2011 pgoyette

Read instructions...

Don't remove the ssp/h_raw entries, just mark them as obsolete


# 1.255 26-Feb-2011 pgoyette

ssp/raw test has been removed.


# 1.254 24-Feb-2011 pooka

+tests


# 1.253 23-Feb-2011 pooka

+tp


# 1.252 22-Feb-2011 pooka

+tp


# 1.251 19-Feb-2011 pooka

new test


# 1.250 18-Feb-2011 pooka

hfs


Revision tags: bouyer-quota2-base
# 1.249 16-Feb-2011 pooka

no need to create a hardlinked name for the helper, just fake argv[]


# 1.248 15-Feb-2011 pooka

another day, another tp


# 1.247 14-Feb-2011 pooka

slap this with summa dat +files


# 1.246 11-Feb-2011 pooka

+tp


# 1.245 09-Feb-2011 pooka

more testies


# 1.244 08-Feb-2011 pooka

oh no, more tests


# 1.243 06-Feb-2011 pooka

librumphijack build infra


# 1.242 03-Feb-2011 pooka

+ tests/usr.bin
+ tests/usr.bin/rump_server


# 1.241 24-Jan-2011 pooka

new helperprog


# 1.240 14-Jan-2011 pooka

branches: 1.240.2;
h_server is back, now testier than ever


# 1.239 14-Jan-2011 pooka

+tp


# 1.238 13-Jan-2011 pgoyette

Dance for t_hsearch.

While here, move the lib/libc/stdlib stuff into proper sort order. I
have no clue how stdlib suddenly comes before ssp!


# 1.237 13-Jan-2011 pgoyette

Ooopppsss - forgot the entry for the Atffile


# 1.236 13-Jan-2011 pgoyette

Sets-list and mtree dance for t_inet_network


# 1.235 13-Jan-2011 pgoyette

One more sets-list dance, for t_ptm


# 1.234 13-Jan-2011 pgoyette

Another sets-list dance for reorganizing the atf tests


# 1.233 13-Jan-2011 pgoyette

sets-list dance for nsdispatch test


# 1.232 13-Jan-2011 pgoyette

Fix entries for lib/libc/net/ entries for servent and protoent (these
should not be obsolete)


# 1.231 13-Jan-2011 pgoyette

sets-list and mtree dance for moving t_mktime & t_strptime


# 1.230 12-Jan-2011 pooka

Remember to commit the setlost stuff for the union test changes,
or there'll be vfs to pay.


# 1.229 12-Jan-2011 tron

Fix entries for debugging binaries of Atf-ified "getaddrinfo tests.


# 1.228 12-Jan-2011 pgoyette

Another sets-list dance, this time for the libc/atexit test


# 1.227 12-Jan-2011 pgoyette

Update sets list for moving of servent and protoent tests


# 1.226 12-Jan-2011 tron

Put back entries for obsolete debugging directories. They weren't
duplicates. Problem pointed out by Paul Goyette in private e-mail.


# 1.225 12-Jan-2011 tron

Remove duplicate entries for "usr/tests/lib/libc/getaddrinfo" and mark
the remaining entries as obsolete.


# 1.224 12-Jan-2011 pgoyette

Clean up some fallout from moving getaddrinfo test


# 1.223 12-Jan-2011 pgoyette

Hook up the getaddrinfo test in its new location


# 1.222 11-Jan-2011 pgoyette

sets-list dance for getaddrinfo test


# 1.221 11-Jan-2011 pooka

+tests/net/net


# 1.220 10-Jan-2011 christos

tests for sigqueue


# 1.219 08-Jan-2011 pgoyette

sets-list dance for atf version of regex test


# 1.218 08-Jan-2011 pgoyette

mtree and set-list games for xdr test


# 1.217 07-Jan-2011 pgoyette

Hook the new atf db test


# 1.216 07-Jan-2011 pgoyette

Forgot the Atffile for t_ttyio test


# 1.215 07-Jan-2011 pgoyette

Hook t_cerror and t_ttyio into the build


# 1.214 06-Jan-2011 pgoyette

Atf-ify test for mktime(3)


# 1.213 06-Jan-2011 njoly

Start unprivileged filesystem tests. For now, only chown/chmod owner
checks.


# 1.212 06-Jan-2011 pooka

+tp


# 1.211 06-Jan-2011 pooka

+helper


# 1.210 05-Jan-2011 pgoyette

Set-list magic for nsdispatch test


# 1.209 05-Jan-2011 pooka

new helper


# 1.208 05-Jan-2011 pooka

unsnafu


# 1.207 05-Jan-2011 riz

Update resize_ffs tests for byteswapped file system support, and
for UFS2 growth support. Also, reduce the number of tests run by default
while still maintaining decent coverage of features and block sizes.
Anyone working on resize_Ffs should run the tests with RESIZE_FFS_ALL_TESTS
set in the environment, which adds a lot more testing.


# 1.206 04-Jan-2011 pgoyette

Update the ieeefp tests so that they can be built on all architectures.
This enables us to avoid the set-list mess.

Build tested on amd64, i386, sun2, and vax!


# 1.205 03-Jan-2011 pgoyette

Atf-ify the atexit test


# 1.204 02-Jan-2011 pgoyette

Sets list magic for the servent/protoent/hash tests


Revision tags: matt-mips64-premerge-20101231
# 1.203 02-Jan-2011 dbj

add usr/tests/lib/libc/ieeefp and ./usr/libdata/debug/usr/tests/lib/libc/ieeefp


# 1.202 02-Jan-2011 pgoyette

Typo - it is h_getopt_long and not h_getoptlong


# 1.201 01-Jan-2011 pgoyette

Convert a few more tests from regress to atf


# 1.200 31-Dec-2010 pooka

Add some elementary tests for r/o file systems. More in 2011!


# 1.199 31-Dec-2010 pgoyette

Moving more tests out of regress and into atf mainstream


# 1.198 31-Dec-2010 pgoyette

Migrate a few miscellaneous tests from the old regress to atf


# 1.197 28-Dec-2010 pgoyette

Migrate the ldexp test to atf


# 1.196 28-Dec-2010 pgoyette

Migrate the remaining libc/gen tests to atf


# 1.195 28-Dec-2010 he

Introduce the "ssp" attribute derived from HAS_SSP from <bsd.sys.mk>.
Use it to flag entries which should only be included if the target platform
supports SSP. Fixes the build for a bunch of architectures.


# 1.194 27-Dec-2010 pgoyette

Move the various setjmp tests from regress to atf


# 1.193 27-Dec-2010 njoly

Remove unneeded t_ssp.debug entry.


# 1.192 27-Dec-2010 pgoyette

Migrate the ssp tests from regress to atf.

Of the 17 tests, 4 fail in both the regress and atf style. 3 additional
tests fails in atf that did NOT fail in regress: gets, fgets, and read.
I will investigate why, and update when I can, but it is still useful to
get these tests into the new format where they can be exercised.


# 1.191 26-Dec-2010 pgoyette

Migrate the last of the libc/string/ tests from regress to atf, and
re-enable building of t_popcount


# 1.190 25-Dec-2010 pgoyette

Migrate J.T.Conklin's public-domain str* tests from regress to atf.

While here, do some clean-up and knf.


# 1.189 25-Dec-2010 pgoyette

Move the siginfo tests from regress to atf. While here, add a new test
for PR/43655.

XXX The sigchild_dump test currently fails when execute under atf-run.
XXX It does not fail when executed directly from the shell, so there's
XXX something in atf that prevents the child process from dumping.


# 1.188 24-Dec-2010 skrll

Add support for DF_1_BIND_NOW, DF_1_NODELETE and DF_1_NOOPEN marked
objects, and the RTLD_NODELETE and RTLD_NOLOAD flags to dlopen(3).

Mark libpthread as DF_1_NOOPEN and use it to test the functionality.

Somewhat taken from FreeBSD.

Fixes PR 42029.

OK from christos and joerg.


# 1.187 23-Dec-2010 pgoyette

Migrate a couple more tests to aft


# 1.186 22-Dec-2010 pgoyette

Migrate a couple more tests from the old regress structure to atf


# 1.185 21-Dec-2010 njoly

+t_libm.debug.


# 1.184 20-Dec-2010 pgoyette

Move the only regress/lib/libm test to the new atf format


# 1.183 20-Dec-2010 njoly

Add testcase from PR/44255, that exercize parsedate(3) with sample
strings taken from the manpage.


# 1.182 20-Dec-2010 njoly

Remove unneeded .debug entry for t_swsensor script.


# 1.181 20-Dec-2010 pgoyette

Add a rump-based set of tests for sysmon_envsys(8) + powerd(8) + swsensor(4)


# 1.180 17-Dec-2010 pooka

the setlist joy for a new tp


# 1.179 15-Dec-2010 pooka

goop for initial raidframe test


# 1.178 15-Dec-2010 haad

Add usr.sbin/Attfile to test list.


# 1.177 15-Dec-2010 pooka

+traceroute tp


# 1.176 14-Dec-2010 pooka

add new, remove obsolete


# 1.175 14-Dec-2010 pooka

Add another version of the simple ping test, this time written as a
shell script and using rump_server, rump.ifconfig and rump.ping.

XXX: uses rump_allserver for now, though, since i noticed a problem
where the rump kernel syscall vector does not get updated for
dlopen()'d libraries (and hence if you dlopen librumpnet.so, socket()
still gives ENOSYS). Me be fixink it later.


# 1.174 14-Dec-2010 skrll

bah set lists. expect this lot back soon(ish).


# 1.173 14-Dec-2010 skrll

Convert a couple of old regress tests to ATF.

Remove the regress/usr.bin/rtld/dlopen/dlopen.c test as well as it's
covered by existing ATF test(s).


# 1.172 13-Dec-2010 pooka

Retire h_simpleserver and use rump_server instead.


# 1.171 12-Dec-2010 pooka

h_reboot has been superceded by rump.halt


# 1.170 09-Dec-2010 riz

Add new resize_ffs test programs, and obsolete an old one.


# 1.169 06-Dec-2010 pooka

+tp


# 1.168 03-Dec-2010 njoly

Add testcase for PR/44189: strtod(3) wrong results with "-0x".


# 1.167 03-Dec-2010 hannken

Add missing files ./usr/tests/util/make/d_unmatchedvarparen.{mk,out}


# 1.166 01-Dec-2010 njoly

Remove unexpected t_resize_ffs.debug (t_resize_ffs is an atf-sh
script).


# 1.165 01-Dec-2010 pooka

adjust previous a bit to attempt to deal with MKMONKEY


# 1.164 30-Nov-2010 riz

Add sets/mtree goop for new test program and accompanying dirs.


# 1.163 30-Nov-2010 pooka

build system gobbeldygook for tests


# 1.162 30-Nov-2010 pooka

test makecn/freecn


# 1.161 29-Nov-2010 njoly

Add missing atf keyword for Atffile.


# 1.160 23-Nov-2010 pooka

need the notorious "debug" flag for the .debug

caught by pgoyette


# 1.159 23-Nov-2010 pooka

Add simple test for md(4) which just stuffs junk into /dev/rmd0d
and checks the same data can be retrieved.


# 1.158 19-Nov-2010 njoly

Add testcase for PR/44113: printf(3) should ignore zero padding for
nan/inf.


# 1.157 19-Nov-2010 pooka

+tp


# 1.156 16-Nov-2010 tron

Add new "t_environment_pth" test to the set lists.


# 1.155 12-Nov-2010 pooka

+tp


# 1.154 11-Nov-2010 pooka

build system worship for new tests.


# 1.153 09-Nov-2010 pooka

+tp


# 1.152 07-Nov-2010 pooka

usual goop for new tp & dir


# 1.151 05-Nov-2010 pooka

+tp


# 1.150 04-Nov-2010 pooka

debug entries are sacred too


# 1.149 04-Nov-2010 pgoyette

Add files for lib/libc/stdio tests.


# 1.148 20-Oct-2010 jmmv

Adjust file lists and directories to match atf 0.11.


# 1.147 30-Sep-2010 njoly

Cleanup, sort entries and remove some duplicates.


# 1.146 23-Sep-2010 christos

new environment test


# 1.145 23-Sep-2010 he

Move shared library bits of the tests out to shl.mi, so that sun2,
which only does static linking, can complete the build.


# 1.144 09-Sep-2010 christos

add tests for glob


# 1.143 09-Sep-2010 njoly

Unobsolete libh_initfini3_dso.so.1.debug which is used by both library
and module, and remove h_initfini3_dso.so.1.debug which never existed.


# 1.142 01-Sep-2010 pooka

+tp


# 1.141 01-Sep-2010 njoly

Add missing .debug suffix.


# 1.140 27-Aug-2010 pooka

The incredible travels of Seth List.


# 1.139 25-Aug-2010 jmmv

Add entries for the libdes tests.


# 1.138 24-Aug-2010 pooka

scsipi test


# 1.137 19-Aug-2010 pooka

+10


# 1.136 17-Aug-2010 pooka

+tp


# 1.135 10-Aug-2010 pooka

+tp


# 1.134 09-Aug-2010 pooka

+tp


# 1.133 06-Aug-2010 pooka

+tp


# 1.132 04-Aug-2010 joerg

Mark correct entries as obsolete.


# 1.131 04-Aug-2010 joerg

Rename h_initfini3 dso now that it is a simple module.


# 1.130 04-Aug-2010 pooka

Actually, some nagging voice in my head tells me that all binary files
in the repo should be uuencoded, so uuencode the golden audio output.


# 1.129 04-Aug-2010 pooka

setlist lottery for dev/audio/pad test


# 1.128 02-Aug-2010 pooka

+tp


# 1.127 01-Aug-2010 jmmv

Add files for sort(1) tests.


# 1.126 31-Jul-2010 pooka

+tp


# 1.125 31-Jul-2010 jmmv

Add obsolete entries for usr/tests/lib/csu/h_initfini. Hi joerg@.


# 1.124 29-Jul-2010 njoly

Fix a few debug entries.


# 1.123 28-Jul-2010 jruoho

Add a simple test for pthread_join(3).


# 1.122 28-Jul-2010 pooka

setlist gods are not favorable to me today


# 1.121 28-Jul-2010 pooka

+tp


# 1.120 28-Jul-2010 joerg

Replace csu test case with a C++ based version. This makes the various
assembler routines obsolete. Be more exhaustive by testing dynamically
linked, statically linked and dynamically loaded.

XXX currently hard-codes /usr/tests due to limitations of bsd.test.mk


# 1.119 26-Jul-2010 pooka

setlistlust: exports for nfs tests


# 1.118 26-Jul-2010 pooka

setlist lottery for nfs tests


# 1.117 25-Jul-2010 pooka

new test


# 1.116 21-Jul-2010 nakayama

fix MKSKEY=no build.


# 1.115 19-Jul-2010 njoly

Missing .debug suffix.


# 1.114 18-Jul-2010 jmmv

Add tests for libobjc.


# 1.113 18-Jul-2010 jmmv

Add entries for lint1 tests.


# 1.112 17-Jul-2010 jmmv

Add tests for lib/csu/ and include/.


# 1.111 16-Jul-2010 jmmv

Add libpthread tests.


# 1.110 16-Jul-2010 njoly

Add some missing .debug suffix.


# 1.109 16-Jul-2010 jmmv

Add tests for libposix, libprop, librt, libskey and libutil.


# 1.108 14-Jul-2010 jmmv

Add the new kernel/t_sigaction test program.


# 1.107 14-Jul-2010 pooka

start converting renameraces to vfs


# 1.106 13-Jul-2010 pooka

tp


# 1.105 13-Jul-2010 pooka

+tp


# 1.104 11-Jul-2010 mrg

ldap is configured to depend upon MKCRYPTO no, so force MKLAP=no if
MKCRYPTO=no.
don't build pkg_install, libcrypto tests or rump_smbfs if MKCRYPTO=no.
mark librumpcrypto, rump_smb, pkg_*

fix set lists as appropriate.


# 1.103 10-Jul-2010 jmmv

t_ipf has been split into separate pieces.


# 1.102 10-Jul-2010 jmmv

Add new test programs for libcrypto.


# 1.101 07-Jul-2010 njoly

Add puffs/h_have_puffs.debug obsolete entry back.


# 1.100 06-Jul-2010 pooka

puffs test


# 1.99 06-Jul-2010 pooka

move psshfs tests from fs/puffs to fs/psshfs


# 1.98 05-Jul-2010 njoly

Add test program that use sample code from kern/41937, and fs rump
helpers to check currently supported filesystems.

t_rmdirrace (1/1): 5 test cases
ext2fs_race: Passed.
ffs_race: Passed.
msdosfs_race: Passed.
sysvbfs_race: Passed.
tmpfs_race: Passed.


# 1.97 04-Jul-2010 pooka

+tp


# 1.96 03-Jul-2010 njoly

Fix a few test entries for MKDEBUG builds.


# 1.95 03-Jul-2010 pooka

one more test_programs -> test-programs (but i didn't do a build,
just guessing based on the build log failure)


# 1.94 03-Jul-2010 jmmv

Update file lists for atf 0.10.


# 1.93 30-Jun-2010 njoly

Small xfail testcase to exercise 48k ffs image mount, from problem
reported by Hubert Feyrer on netbsd-users@.


# 1.92 29-Jun-2010 pooka

more tests


# 1.91 28-Jun-2010 pooka

test if i have mastered the setlists for adding tests


# 1.90 28-Jun-2010 pooka

+test


# 1.89 19-Jun-2010 pooka

aaand, finally, hopefully complete the simple addition by putting
h_xfail into set lists.


# 1.88 16-Jun-2010 pooka

tests


# 1.87 14-Jun-2010 pooka

fix filename


# 1.86 14-Jun-2010 pooka

ptyfs tests


# 1.85 10-Jun-2010 pooka

update


# 1.84 10-Jun-2010 pooka

update


# 1.83 09-Jun-2010 njoly

Add missing .debug extension.


# 1.82 09-Jun-2010 pooka

take care of the usual pastos invisible to the human eye


# 1.81 09-Jun-2010 pooka

+test


# 1.80 07-Jun-2010 riz

Remove a test (that a created directory had a predictable inode number)
that no longer makes sense since the vmlocking2 branch was merged.


# 1.79 05-Jun-2010 dholland

+t_sort


# 1.78 04-Jun-2010 jmmv

Adjust file lists for atf-0.9. Most notably, some files are gone for good!


# 1.77 31-May-2010 pooka

new tests


# 1.76 21-May-2010 pooka

Do you see over yonder, friend Sancho, thirty or forty hulking setlists?
I intend to do battle with them and add t_extattrctl into them.


# 1.75 19-May-2010 jruoho

Add a simple test for timer_create(2) / sigevent(3).
Case for SIGEV_THREAD commented out.


# 1.74 15-May-2010 njoly

Add some missing atf keywords to fix MKATF=no build.


# 1.73 08-May-2010 jmmv

Update file lists to match atf 0.8.


# 1.72 24-Apr-2010 lukem

add missing .debug suffix


# 1.71 21-Apr-2010 pooka

bend over


# 1.70 13-Apr-2010 pooka

Build & install msdosfs snapshot test and deal with the happy happy
joy joy setlistdist etcetc. stuff.


# 1.69 12-Apr-2010 pooka

snapshot test -> setlists


# 1.68 31-Mar-2010 pooka

add necessary build bucatini for kernfs tests


# 1.67 30-Mar-2010 pooka

add nullfs/umapfs tests to setlists etc


# 1.66 29-Mar-2010 pooka

Whoops, missed Atffile in previous. shame on me.


# 1.65 29-Mar-2010 pooka

jump through the setlist hoops for adding a new test


# 1.64 29-Mar-2010 pooka

+ ffs/t_fifos


# 1.63 16-Mar-2010 dogcow

Fix entries whose filenames do not actually end with ".sh". (Hi, jmmv!)


# 1.62 15-Mar-2010 jmmv

Register the new tests in sys/rc for rc.d scripts.


# 1.61 27-Feb-2010 martin

obsolete the popcount tests for now


# 1.60 24-Jan-2010 joerg

Add a regression test for the SHA2 family that also checks for unaligned
accesses.


# 1.59 14-Jan-2010 wiz

Consistency: set for obsolete files should be "foo-obsolete".


# 1.58 22-Dec-2009 jmmv

Update file sets to match atf 0.7.


# 1.57 15-Dec-2009 mrg

fix a bunch of issues with MKATF=no.


# 1.56 14-Dec-2009 matt

Update sets lists from matt-nb5-mips64


Revision tags: matt-premerge-20091211
# 1.55 05-Nov-2009 njoly

Remove unneeded t_event.debug (t_event is a shell script).


# 1.54 02-Nov-2009 plunky

add ATF tests for libevent


# 1.53 20-Oct-2009 jmmv

Account for the t_exitstatus to t_exit rename and the new t_wait tests in
tests/util/sh.


# 1.52 25-Sep-2009 njoly

Fix t_dlinfo debug name (add missing .debug).


# 1.51 24-Sep-2009 pooka

Add regression test to verify that linksets work correctly with rump.


# 1.50 24-Sep-2009 pooka

add regression tests for dlinfo()


# 1.49 19-Sep-2009 apb

Add new mtree tests


# 1.48 08-Sep-2009 pooka

Add test case for PR kern/42020:

t_rnd (1/1): 1 test cases
RNDADDDATA: Failed: Test case did not exit cleanly: Abort trap (core dumped)

Failed test cases:
t_rnd:RNDADDDATA


# 1.47 07-Sep-2009 he

Move ./usr/tests/modules/Atffile from tests/mi to tests/module.mi.
This should get us building for evbppc again, which doesn't do modules.


# 1.46 22-Jul-2009 joerg

Don't set debug for the directory.


# 1.45 21-Jul-2009 joerg

Add popcount(3) and the long and long long version. Name is inspired by
gnulib, the implementation goes back to the AMD Software Optimizer
guide. A number of platforms will want to replace the C version with
assembler code using native instructions.


# 1.44 20-Jul-2009 joerg

Add a fast, platform independent hash function to libc.
The algorithm used is the Jenkins hash. The name (mi_vector_hash)
reflects the nature of the hash function.
Add glue for libc ATF tests and include a test case to make sure that
(mis)alignment and endianess are handled correctly.

Bump libc minor to 169.


Revision tags: jym-xensuspend-nbase jym-xensuspend-base
# 1.43 02-May-2009 pooka

missed the "debug" column ... again


# 1.42 02-May-2009 pooka

add recent tests


# 1.41 08-Apr-2009 apb

Register new tests for mtree


# 1.40 08-Apr-2009 pooka

add debug keyword to t_renamerace.debug. spotted by Nicolas Joly


# 1.39 08-Apr-2009 pooka

tmpfs renamerace test


# 1.38 08-Apr-2009 pooka

Add ffs tests in kind of a semiguessed fashion.


# 1.37 07-Apr-2009 apb

Add tests for "mtree -C" and "mtree -D". Add "link" keyword to
previous mtree tests.


# 1.36 07-Apr-2009 apb

Add tests for mtree.


# 1.35 28-Feb-2009 njoly

Use crypto_XXX tags to fix MKCRYPTO_{IDEA,MDC2,RC5}=yes builds.
Solve PR/40667 and other reports from current-users@.


# 1.34 26-Feb-2009 njoly

Add some missing .debug extensions and remove some unneeded files
(t_ipf, Atffile) to fix MKDEBUG build.


# 1.33 20-Feb-2009 jmmv

Add directories and file lists for the new kernel and ipf tests.


# 1.32 17-Feb-2009 jmmv

Register the atf/test_programs/h_c helper.


# 1.31 17-Feb-2009 njoly

+t_cmsg.debug


# 1.30 13-Feb-2009 jmmv

Convert the threads libcrypto test to ATF and enable it. Drop the old one
in regress.


# 1.29 13-Feb-2009 jmmv

Convert libcrypto tests to ATF. Original work done by Lukasz Strzygowski
in the GSoC 2008 atfify project. Reorganization of files and build system
reworked by me.


# 1.28 13-Feb-2009 jmmv

Sync the tests list after adding several new util tests.


# 1.27 12-Feb-2009 uebayasi

Fix build for tests/syscall; pointed out by Geoff Wing.


# 1.26 19-Jan-2009 jmmv

branches: 1.26.2;
Adjust file lists after the import of ATF 0.6.


# 1.25 18-Jan-2009 he

Farm out module tests to module.mi, to accomodate evbppc which
currently does not build modules or module tests.


# 1.24 12-Nov-2008 ad

Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base mjf-devfs2-base
# 1.23 05-May-2008 jmmv

branches: 1.23.8;
Fix MKMODULAR=yes builds by resolving installation problems of the k_helper
test module after the introduction of bsd.kmodule.mk. The files list was
inconsistent with the new module structure and the Makefile did not use the
correct variable to specify the installation of the module. Hi ad@!


# 1.22 02-May-2008 ad

- Add a bsd.kmodule.mk to build new style modules.
- Set the file suffix to .kmod


# 1.21 01-May-2008 jmmv

Adjust file lists after the import of atf-0.5.


Revision tags: yamt-pf42-baseX yamt-pf42-base keiichi-mipv6-base matt-armv6-nbase
# 1.20 06-Mar-2008 jmmv

branches: 1.20.2;
Fix typo in t_modload entry.


# 1.19 02-Mar-2008 jmmv

Add the new t_modload test program.


Revision tags: hpcarm-cleanup-base mjf-devfs-base
# 1.18 10-Feb-2008 jmmv

branches: 1.18.2; 1.18.4; 1.18.6;
Register the new modules tests.


# 1.17 04-Feb-2008 jmmv

Adjust lists to match the import of atf 0.4.


Revision tags: pc532-eol-2008 matt-armv6-base
# 1.16 03-Jan-2008 jdc

branches: 1.16.2;
Add a note about marking entries as "obsolete", instead of deleting them.


# 1.15 31-Dec-2007 ad

Remove systrace. Ok core@.


# 1.14 26-Dec-2007 jmmv

Fix name of t_psshfs.


# 1.13 26-Dec-2007 jmmv

Register the new tests for puffs (psshfs only for now).


# 1.12 23-Dec-2007 jmmv

Register the directories and files related to the addition of the test
programs for connect(2) and listen(2).


Revision tags: cube-autoconf-base
# 1.11 22-Nov-2007 jmmv

Add the debug files for id's h_id helper tool.


# 1.10 19-Nov-2007 jmmv

Mark the id's libfake as obsolete and register the new h_id helper tool.


# 1.9 16-Nov-2007 jmmv

Register the files that conform the id(1), groups(1) and whoami(1) tests.


# 1.8 16-Nov-2007 yamt

h_parsers.debug -> h_parser.debug


# 1.7 14-Nov-2007 jmmv

The directories that hold the debug versions of tests cannot be marked
with the 'debug' flag, because they are always created.


# 1.6 14-Nov-2007 jmmv

Fix build of tests with an MKDEBUG build by properly creating the target
directories that will hold the debug programs and by registering those in
the file lists. (Untested, but hopefully will work.) Noted by drochner@.


# 1.5 12-Nov-2007 jmmv

Convert the regress/games tests to the atf

This change converts all the existing regression tests in regress/games
to the new framework provided by atf. As a side effect, this also moves
all the tests programs in regress/games to tests/games.


# 1.4 12-Nov-2007 jmmv

Convert the regress/sys/fs/tmpfs tests to the atf

This change converts all the existing regression tests in
regress/sys/fs/tmpfs to the new framework provided by atf. As a side
effect, this also moves all the tests programs in regress/sys/fs/tmpfs to
tests/fs/tmpfs.


# 1.3 12-Nov-2007 jmmv

Convert the regress/bin tests to the atf

This change converts all the existing regression tests in regress/bin to
the new framework provided by atf. As a side effect, this also moves all
the tests programs in regress/bin to tests/util, as they all belong to
utilities installed by the base-util-root package.


# 1.2 12-Nov-2007 jmmv

Add the atf tests

This adds reachover Makefiles to build and install the atf tests.


# 1.1 12-Nov-2007 jmmv

Add the tests.tgz set

This adds a new tests.tgz set to releases which includes all the tests
for the system. It is important to note that this set does not rely on
comp.tgz: a user of the system can run the tests without having the
development tools installed, which can be useful in a production machine.