xref: /freebsd/bin/sh/tests/expansion/arith16.0 (revision d0b2dbfa0ecf2bbc9709efc5e20baf8e4b44bbbf)
1*aac5464bSJilles Tjoelker
2*aac5464bSJilles Tjoelkerfailures=0
3*aac5464bSJilles Tjoelker
4*aac5464bSJilles Tjoelkerfor x in \
5*aac5464bSJilles Tjoelker	0x10000000000000000 \
6*aac5464bSJilles Tjoelker	-0x8000000000000001 \
7*aac5464bSJilles Tjoelker	0xfffffffffffffffffffffffffffffffff \
8*aac5464bSJilles Tjoelker	-0xfffffffffffffffffffffffffffffffff \
9*aac5464bSJilles Tjoelker	02000000000000000000000 \
10*aac5464bSJilles Tjoelker	9223372036854775808 \
11*aac5464bSJilles Tjoelker	9223372036854775809 \
12*aac5464bSJilles Tjoelker	-9223372036854775809 \
13*aac5464bSJilles Tjoelker	9999999999999999999999999 \
14*aac5464bSJilles Tjoelker	-9999999999999999999999999
15*aac5464bSJilles Tjoelkerdo
16*aac5464bSJilles Tjoelker	msg=$({
17*aac5464bSJilles Tjoelker		v=$((x)) || :
18*aac5464bSJilles Tjoelker	} 3>&1 >&2 2>&3 3>&-)
19*aac5464bSJilles Tjoelker	r=$?
20*aac5464bSJilles Tjoelker	if [ "$r" = 0 ] || [ -z "$msg" ]; then
21*aac5464bSJilles Tjoelker		printf 'Failed: %s\n' "$x"
22*aac5464bSJilles Tjoelker		: $((failures += 1))
23*aac5464bSJilles Tjoelker	fi
24*aac5464bSJilles Tjoelkerdone
25*aac5464bSJilles Tjoelkerexit $((failures > 0))
26