xref: /freebsd/bin/sh/tests/expansion/arith10.0 (revision d0b2dbfa0ecf2bbc9709efc5e20baf8e4b44bbbf)
1*13de33a5SJulio Merino
2*13de33a5SJulio Merinofailures=0
3*13de33a5SJulio Merino
4*13de33a5SJulio Merinocheck() {
5*13de33a5SJulio Merino	if [ $(($1)) != $2 ]; then
6*13de33a5SJulio Merino		failures=$((failures+1))
7*13de33a5SJulio Merino		echo "For $1, expected $2 actual $(($1))"
8*13de33a5SJulio Merino	fi
9*13de33a5SJulio Merino}
10*13de33a5SJulio Merino
11*13de33a5SJulio Merinoreadonly ro=4
12*13de33a5SJulio Merinorw=1
13*13de33a5SJulio Merinocheck "0 && 0 / 0" 0
14*13de33a5SJulio Merinocheck "1 || 0 / 0" 1
15*13de33a5SJulio Merinocheck "0 && (ro = 2)" 0
16*13de33a5SJulio Merinocheck "ro" 4
17*13de33a5SJulio Merinocheck "1 || (ro = -1)" 1
18*13de33a5SJulio Merinocheck "ro" 4
19*13de33a5SJulio Merinocheck "0 && (rw += 1)" 0
20*13de33a5SJulio Merinocheck "rw" 1
21*13de33a5SJulio Merinocheck "1 || (rw += 1)" 1
22*13de33a5SJulio Merinocheck "rw" 1
23*13de33a5SJulio Merinocheck "0 ? 44 / 0 : 51" 51
24*13de33a5SJulio Merinocheck "0 ? ro = 3 : 52" 52
25*13de33a5SJulio Merinocheck "ro" 4
26*13de33a5SJulio Merinocheck "0 ? rw += 1 : 52" 52
27*13de33a5SJulio Merinocheck "rw" 1
28*13de33a5SJulio Merinocheck "1 ? 68 : 30 / 0" 68
29*13de33a5SJulio Merinocheck "2 ? 1 : (ro += 2)" 1
30*13de33a5SJulio Merinocheck "ro" 4
31*13de33a5SJulio Merinocheck "4 ? 1 : (rw += 1)" 1
32*13de33a5SJulio Merinocheck "rw" 1
33*13de33a5SJulio Merino
34*13de33a5SJulio Merinoexit $((failures != 0))
35