xref: /freebsd/bin/sh/tests/expansion/cmdsubst1.0 (revision d0b2dbfa0ecf2bbc9709efc5e20baf8e4b44bbbf)
1*13de33a5SJulio Merino
2*13de33a5SJulio Merinofailures=0
3*13de33a5SJulio Merino
4*13de33a5SJulio Merinocheck() {
5*13de33a5SJulio Merino	if ! eval "[ $* ]"; then
6*13de33a5SJulio Merino		echo "Failed: $*"
7*13de33a5SJulio Merino		: $((failures += 1))
8*13de33a5SJulio Merino	fi
9*13de33a5SJulio Merino}
10*13de33a5SJulio Merino
11*13de33a5SJulio Merinocheck '"$(echo abcde)" = "abcde"'
12*13de33a5SJulio Merinocheck '"$(echo abcde; :)" = "abcde"'
13*13de33a5SJulio Merino
14*13de33a5SJulio Merinocheck '"$(printf abcde)" = "abcde"'
15*13de33a5SJulio Merinocheck '"$(printf abcde; :)" = "abcde"'
16*13de33a5SJulio Merino
17*13de33a5SJulio Merino# regular
18*13de33a5SJulio Merinocheck '-n "$(umask)"'
19*13de33a5SJulio Merinocheck '-n "$(umask; :)"'
20*13de33a5SJulio Merinocheck '-n "$(umask 2>&1)"'
21*13de33a5SJulio Merinocheck '-n "$(umask 2>&1; :)"'
22*13de33a5SJulio Merino
23*13de33a5SJulio Merino# special
24*13de33a5SJulio Merinocheck '-n "$(times)"'
25*13de33a5SJulio Merinocheck '-n "$(times; :)"'
26*13de33a5SJulio Merinocheck '-n "$(times 2>&1)"'
27*13de33a5SJulio Merinocheck '-n "$(times 2>&1; :)"'
28*13de33a5SJulio Merino
29*13de33a5SJulio Merino# regular
30*13de33a5SJulio Merinocheck '".$(umask -@ 2>&1)." = ".umask: Illegal option -@."'
31*13de33a5SJulio Merinocheck '".$(umask -@ 2>&1; :)." = ".umask: Illegal option -@."'
32*13de33a5SJulio Merinocheck '".$({ umask -@; } 2>&1)." = ".umask: Illegal option -@."'
33*13de33a5SJulio Merino
34*13de33a5SJulio Merino# special
35*13de33a5SJulio Merinocheck '".$(shift xyz 2>&1)." = ".shift: Illegal number: xyz."'
36*13de33a5SJulio Merinocheck '".$(shift xyz 2>&1; :)." = ".shift: Illegal number: xyz."'
37*13de33a5SJulio Merinocheck '".$({ shift xyz; } 2>&1)." = ".shift: Illegal number: xyz."'
38*13de33a5SJulio Merino
39*13de33a5SJulio Merinov=1
40*13de33a5SJulio Merinocheck '-z "$(v=2 :)"'
41*13de33a5SJulio Merinocheck '"$v" = 1'
42*13de33a5SJulio Merinocheck '-z "$(v=3)"'
43*13de33a5SJulio Merinocheck '"$v" = 1'
44*13de33a5SJulio Merinocheck '"$(v=4 eval echo \$v)" = 4'
45*13de33a5SJulio Merinocheck '"$v" = 1'
46*13de33a5SJulio Merino
47*13de33a5SJulio Merinoexit $((failures > 0))
48