8d9df45b43
bug (and its fix (depending upon whether the test is run against an unfixed, or fixed, shell). An obvious indication of the failure is the following (one of the new sub-tests) p=A cat <<EOF ${p+\%$p\%} ${p+%$p%} EOF which should output \%A\% %A% as a here doc is treated as a double quoted string, except that the " character is just a character. In such a string, the \ is only an escape character when the following character is special, otherwise it represents a literal \ (which is the case here). An unfixed shell will omit the backslashes in the output. It gets even more wrong if the % chars are replaced by " (double quote) chars, which should make no difference, other than the corresponding change, in the output. But doesn't (it doesn't even produce output broken in a similar way). This one is a harder case to be specific about however, as while the fixed (and expected in the test) output is what is technically correct, only a few shells actually produce it, most generate something different (but not all the same.) |
||
---|---|---|
.. | ||
bin | ||
crypto | ||
dev | ||
fs | ||
games | ||
include | ||
ipf | ||
kernel | ||
lib | ||
libexec | ||
modules | ||
net | ||
rump | ||
sbin | ||
share | ||
sys | ||
usr.bin | ||
usr.sbin | ||
h_macros.h | ||
Makefile | ||
Makefile.inc | ||
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.