1*3e3895bfSKrzysztof Piecuch# $FreeBSD: head/bin/sh/tests/expansion/arith2.0 209652 2010-07-02 21:31:24Z jilles $ 23df4d8b0SPeter Avalos 33df4d8b0SPeter Avalosfailures=0 43df4d8b0SPeter Avalos 53df4d8b0SPeter Avaloscheck() { 63df4d8b0SPeter Avalos if [ $(($1)) != $2 ]; then 73df4d8b0SPeter Avalos failures=$((failures+1)) 83df4d8b0SPeter Avalos echo "For $1, expected $2 actual $(($1))" 93df4d8b0SPeter Avalos fi 103df4d8b0SPeter Avalos} 113df4d8b0SPeter Avalos 123df4d8b0SPeter Avalos# variables 133df4d8b0SPeter Avalosunset v 143df4d8b0SPeter Avaloscheck "v=2" 2 153df4d8b0SPeter Avaloscheck "v" 2 163df4d8b0SPeter Avaloscheck "$(($v))" 2 173df4d8b0SPeter Avaloscheck "v+=1" 3 183df4d8b0SPeter Avaloscheck "v" 3 193df4d8b0SPeter Avalos 203df4d8b0SPeter Avalos# constants 213df4d8b0SPeter Avaloscheck "4611686018427387904" 4611686018427387904 223df4d8b0SPeter Avaloscheck "0x4000000000000000" 4611686018427387904 233df4d8b0SPeter Avaloscheck "0400000000000000000000" 4611686018427387904 243df4d8b0SPeter Avaloscheck "0x4Ab0000000000000" 5381801554707742720 253df4d8b0SPeter Avaloscheck "010" 8 263df4d8b0SPeter Avalos 273df4d8b0SPeter Avalos# try out all operators 283df4d8b0SPeter Avalosv=42 293df4d8b0SPeter Avaloscheck "!v" 0 303df4d8b0SPeter Avaloscheck "!!v" 1 313df4d8b0SPeter Avaloscheck "!0" 1 323df4d8b0SPeter Avaloscheck "~0" -1 333df4d8b0SPeter Avaloscheck "~(-1)" 0 343df4d8b0SPeter Avaloscheck "-0" 0 353df4d8b0SPeter Avaloscheck "-v" -42 363df4d8b0SPeter Avaloscheck "v*v" 1764 373df4d8b0SPeter Avaloscheck "v/2" 21 383df4d8b0SPeter Avaloscheck "v%10" 2 393df4d8b0SPeter Avaloscheck "v+v" 84 403df4d8b0SPeter Avaloscheck "v-4" 38 413df4d8b0SPeter Avaloscheck "v<<1" 84 423df4d8b0SPeter Avaloscheck "v>>1" 21 433df4d8b0SPeter Avaloscheck "v<43" 1 443df4d8b0SPeter Avaloscheck "v>42" 0 453df4d8b0SPeter Avaloscheck "v<=43" 1 463df4d8b0SPeter Avaloscheck "v>=43" 0 473df4d8b0SPeter Avaloscheck "v==41" 0 483df4d8b0SPeter Avaloscheck "v!=42" 0 493df4d8b0SPeter Avaloscheck "v&3" 2 503df4d8b0SPeter Avaloscheck "v^3" 41 513df4d8b0SPeter Avaloscheck "v|3" 43 523df4d8b0SPeter Avaloscheck "v>=40&&v<=44" 1 533df4d8b0SPeter Avaloscheck "v<40||v>44" 0 543df4d8b0SPeter Avaloscheck "(v=42)&&(v+=1)==43" 1 553df4d8b0SPeter Avaloscheck "v" 43 563df4d8b0SPeter Avaloscheck "(v=42)&&(v-=1)==41" 1 573df4d8b0SPeter Avaloscheck "v" 41 583df4d8b0SPeter Avaloscheck "(v=42)&&(v*=2)==84" 1 593df4d8b0SPeter Avaloscheck "v" 84 603df4d8b0SPeter Avaloscheck "(v=42)&&(v/=10)==4" 1 613df4d8b0SPeter Avaloscheck "v" 4 623df4d8b0SPeter Avaloscheck "(v=42)&&(v%=10)==2" 1 633df4d8b0SPeter Avaloscheck "v" 2 643df4d8b0SPeter Avaloscheck "(v=42)&&(v<<=1)==84" 1 653df4d8b0SPeter Avaloscheck "v" 84 663df4d8b0SPeter Avaloscheck "(v=42)&&(v>>=2)==10" 1 673df4d8b0SPeter Avaloscheck "v" 10 683df4d8b0SPeter Avaloscheck "(v=42)&&(v&=32)==32" 1 693df4d8b0SPeter Avaloscheck "v" 32 703df4d8b0SPeter Avaloscheck "(v=42)&&(v^=32)==10" 1 713df4d8b0SPeter Avaloscheck "v" 10 723df4d8b0SPeter Avaloscheck "(v=42)&&(v|=32)==42" 1 733df4d8b0SPeter Avaloscheck "v" 42 743df4d8b0SPeter Avalos 753df4d8b0SPeter Avalos# missing: ternary 763df4d8b0SPeter Avalos 773df4d8b0SPeter Avalosexit $((failures != 0)) 78