1*3e3895bfSKrzysztof Piecuch# $FreeBSD: head/bin/sh/tests/expansion/cmdsubst6.0 216763 2010-12-28 14:58:08Z jilles $ 23df4d8b0SPeter Avalos# This tests if the cmdsubst optimization is still used if possible. 33df4d8b0SPeter Avalos 43df4d8b0SPeter Avalosfailures='' 53df4d8b0SPeter Avalosok='' 63df4d8b0SPeter Avalos 73df4d8b0SPeter Avalostestcase() { 83df4d8b0SPeter Avalos code="$1" 93df4d8b0SPeter Avalos 103df4d8b0SPeter Avalos unset v 113df4d8b0SPeter Avalos eval "pid=\$(dummy=$code echo \$(\$SH -c echo\ \\\$PPID))" 123df4d8b0SPeter Avalos 133df4d8b0SPeter Avalos if [ "$pid" = "$$" ]; then 143df4d8b0SPeter Avalos ok=x$ok 153df4d8b0SPeter Avalos else 163df4d8b0SPeter Avalos failures=x$failures 173df4d8b0SPeter Avalos echo "Failure for $code" 183df4d8b0SPeter Avalos fi 193df4d8b0SPeter Avalos} 203df4d8b0SPeter Avalos 213df4d8b0SPeter Avalosunset v 223df4d8b0SPeter Avalosw=1 233df4d8b0SPeter Avalostestcase '$w' 243df4d8b0SPeter Avalostestcase '1${w+1}' 253df4d8b0SPeter Avalostestcase '1${w-1}' 263df4d8b0SPeter Avalostestcase '1${v+1}' 273df4d8b0SPeter Avalostestcase '1${v-1}' 283df4d8b0SPeter Avalostestcase '1${w:+1}' 293df4d8b0SPeter Avalostestcase '1${w:-1}' 303df4d8b0SPeter Avalostestcase '1${v:+1}' 313df4d8b0SPeter Avalostestcase '1${v:-1}' 323df4d8b0SPeter Avalostestcase '${w?}' 333df4d8b0SPeter Avalostestcase '${w:?}' 343df4d8b0SPeter Avalostestcase '${w#x}' 353df4d8b0SPeter Avalostestcase '${w##x}' 363df4d8b0SPeter Avalostestcase '${w%x}' 373df4d8b0SPeter Avalostestcase '${w%%x}' 383df4d8b0SPeter Avalos 393df4d8b0SPeter Avalostestcase '$((w))' 403df4d8b0SPeter Avalostestcase '$(((w+4)*2/3))' 413df4d8b0SPeter Avalostestcase '$((w==1))' 423df4d8b0SPeter Avalostestcase '$((w>=0 && w<=5 && w!=2))' 433df4d8b0SPeter Avalostestcase '$((${#w}))' 443df4d8b0SPeter Avalostestcase '$((${#IFS}))' 453df4d8b0SPeter Avalostestcase '$((${#w}>=1))' 463df4d8b0SPeter Avalostestcase '$(($$))' 473df4d8b0SPeter Avalostestcase '$(($#))' 483df4d8b0SPeter Avalostestcase '$(($?))' 493df4d8b0SPeter Avalos 503df4d8b0SPeter Avalostestcase '$(: $((w=4)))' 513df4d8b0SPeter Avalostestcase '$(: ${v=2})' 523df4d8b0SPeter Avalos 533df4d8b0SPeter Avalostest "x$failures" = x 54