summary refs log tree commit diff
path: root/bin/cash/tests/parser/func1.0
blob: dac9cd9c9a2359d7cfe1488dbf72d639a45c7a7f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# $FreeBSD: releng/12.0/bin/sh/tests/parser/func1.0 214291 2010-10-24 20:45:13Z jilles $
# POSIX does not require these bytes to work in function names,
# but making them all work seems a good goal.

failures=0
unset LC_ALL
export LC_CTYPE=en_US.ISO8859-1
i=128
set -f
while [ "$i" -le 255 ]; do
	c=$(printf \\"$(printf %o "$i")")
	ok=0
	eval "$c() { ok=1; }"
	$c
	ok1=$ok
	ok=0
	"$c"
	if [ "$ok" != 1 ] || [ "$ok1" != 1 ]; then
		echo "Bad results for character $i" >&2
		: $((failures += 1))
	fi
	unset -f $c
	i=$((i+1))
done
exit $((failures > 0))