NetBSD/tests
martin 8c71c34bb7 Pull up following revision(s) (requested by riastradh in ticket #1886):
distrib/sets/lists/debug/mi			1.409 (patch)
	distrib/sets/lists/tests/mi			1.1280 (patch)
	libexec/ld.elf_so/Makefile			1.145-1.147 (patch)
	libexec/ld.elf_so/hash.c			1.1
	libexec/ld.elf_so/hash.h			1.1
	libexec/ld.elf_so/reloc.c			1.118 (patch)
	libexec/ld.elf_so/rtld.c			1.215 (patch)
	libexec/ld.elf_so/rtld.h			1.145,1.147 (patch)
	libexec/ld.elf_so/symbol.c			1.74-1.76 (patch)
	tests/libexec/ld.elf_so/Makefile		1.21 (patch)
	tests/libexec/ld.elf_so/t_hash.c		1.1

The SysV ABI specifies that the symbol hash function should return only 32
bits of hash. Unfortunately due to an implementation bu and the fact that
the return type is unsigned long which is 64 bits in LP64, this can fail
in some cases: "\xff\x0f\x0f\x0f\x0f\x0f\x12". See:
	https://maskray.me/blog/2023-04-12-elf-hash-function

From Ed Maste @ FreeBSD:
	https://cgit.freebsd.org/src/commit/?id=29e3a06510823edbb91667d21f530d3ec778116d

Need to write Unit Tests for this.

Oops wrong mask.

ld.elf_so: Split SRCS onto multiple lines.
Makes updates easier.
No functional change intended.

ld.elf_so: Sort SRCS.
No functional change intended.

ld.elf_so: Split hash functions into a separate file.
This way we can test them in isolation.
No functional change intended.

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

Make sure the testing mechanism detects the traditional overflow bug.
2023-08-09 16:16:40 +00:00
..
bin Paranoia: add a new test case testing that $(( )) results get split 2017-06-03 15:15:49 +00:00
crypto Remove MKCRYPTO option. 2017-05-21 15:28:36 +00:00
dev Remove MKCRYPTO option. 2017-05-21 15:28:36 +00:00
fs give it more time. 2017-05-24 15:29:51 +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 Pull up following revision(s) (requested by pgoyette in ticket #296): 2017-10-02 13:21:40 +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 Pull up following revision(s) (requested by kamil in ticket #1201): 2019-03-01 18:59:58 +00:00
lib Pull up following revision(s) (requested by riastradh in ticket #1798): 2023-02-22 18:50:41 +00:00
libexec Pull up following revision(s) (requested by riastradh in ticket #1886): 2023-08-09 16:16:40 +00:00
modules Don't play with "../.." in includes for h_macros.h; deal with it centrally. 2017-01-13 21:30:39 +00:00
net Pull up following revision(s) (requested by ozaki-r in ticket #1339): 2019-08-19 14:27:16 +00:00
rump Pull up following revision(s) (requested by ozaki-r in ticket #497): 2018-01-16 13:01:10 +00:00
sbin Skip the "migrate" test on architectures not natively using MBR, it 2017-03-22 19:13:40 +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 convention about function names for predicate checking: 2016-12-22 08:15:20 +00:00
usr.bin Pull up following revision(s) (requested by martin in ticket #726): 2018-04-10 08:06:46 +00:00
usr.sbin PR/51876: Ngie Cooper: kyua 0.11 $TMPDIR fixes 2017-01-14 20:45:16 +00:00
Makefile Remove MKCRYPTO option. 2017-05-21 15:28:36 +00:00
Makefile.inc better name 2017-01-14 01:33:32 +00:00
README
h_macros.h provide an RL variant that prints an extra argument 2016-08-20 15:49:08 +00:00

README

$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.