NetBSD/tests
kre 7760e6f963 PR kern/49033
POSIX allows for the atime (or technically, any of the times) to be
updated as a side effect of searching a directory (allows, not requires).
The NetBSD UDF implementation apparently works that way, treating a
directory search as a read of the directory, and hence updating the
access time.   Compensate for that in the test (rather than just
expecting failure) by verifying that the atime after the directory
search is within a small margin of the atime before the search
(currently, "small" is 1 second).   We could fetch the time before
the mkdir and both stat() calls, do all of that, fetch the time after,
subtract, and require the after stat() atime to be bounded by the atime
set by the original mkdir and returned in the first stat() and that time
+ the difference in elapsed time - that would be more accurate, but is
a lot more work for little real benefit.

Should anyone be interested in doing that extra work, remember to use
monotonic time (clock_gettime(CLOCK_MOMNOTONIC, ...)) not the time of day
clock for measuring the elapsed time.

Along with this, remove the "if (udf) failure expected" and the
if (udf && we haven't failed yet) fail("random failure failed to happen")
stuff...  (the "random" would have been that sometimes the mkdir and
two lookups (stat() calls) would all occur within the same clock tick,
meaning that the atimes would all be the same.  Other times the clock
would tick somewhere between the mkdir() and the 2nd stat().)
2016-08-29 02:31:46 +00:00
..
bin PR bin/4841 was filed regarding the handling of blank lines when cat was invoked 2016-06-26 22:50:46 +00:00
crypto For the skipped ARC4 test, don't bother trying to run the test clean-up 2015-12-26 07:10:03 +00:00
dev These clock_subr tests are no longer expected to fail. 2016-08-17 12:06:49 +00:00
fs PR kern/49033 2016-08-29 02:31:46 +00:00
games Do this more cleanly - put the do-we-have-crypto check inside the actual 2016-06-27 05:29:32 +00:00
include We now need librumpdev to resolve rumpns_config_cfdriver_attach which 2016-08-08 14:11:08 +00:00
ipf Remove the "expected failure" from test n12, and change it not to use 2015-12-26 08:01:58 +00:00
kernel Test for PR kern/51135 is no longer failing. 2016-05-22 04:34:44 +00:00
lib skip if we are not running rpcbind. 2016-08-27 14:36:22 +00:00
libexec Really revert to the original version. 2014-08-26 17:13:42 +00:00
modules Define _KERNTYPES for things that need it. 2016-01-23 21:22:45 +00:00
net no functional change 2016-08-23 16:03:45 +00:00
rump don't disable PIE 2016-08-27 14:23:54 +00:00
sbin When deadbeef is treated as a 32-bit signed integer, it actually has a 2016-06-17 03:55:35 +00:00
share When no gcc but clang can be found, fallback to the latter instead of 2016-03-12 08:55:54 +00:00
sys catch up with link printing. 2016-08-27 11:30:49 +00:00
usr.bin house-cleaning 2016-08-28 15:59:15 +00:00
usr.sbin + -lrumpdev 2016-08-10 23:07:57 +00:00
h_macros.h provide an RL variant that prints an extra argument 2016-08-20 15:49:08 +00:00
Makefile Don't build tests that depend on RUMP if BSD_MK_COMPAT_FILE is defined. 2015-06-22 00:05:23 +00:00
Makefile.inc
README Clarify this a little. 2012-05-18 15:36:21 +00:00

$NetBSD: README,v 1.4 2012/05/18 15:36:21 jruoho Exp $

When adding new tests, please try to follow the following conventions.

1. For library routines, including system calls, the directory structure of
   the tests should follow the directory structure of the real source tree.
   For instance, interfaces available via the C library should follow:

	src/lib/libc/gen -> src/tests/lib/libc/gen
	src/lib/libc/sys -> src/tests/lib/libc/sys
	...

2. Equivalently, all tests for userland utilities should try to follow their
   location in the source tree. If this can not be satisfied, the tests for
   a utility should be located under the directory to which the utility is
   installed. Thus, a test for env(1) should go to src/tests/usr.bin/env.
   Likewise, a test for tcpdump(8) should be in src/tests/usr.sbin/tcpdump,
   even though the source code for the program is located under src/external.

3. Otherwise use your own discretion.