mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
92 lines
2.3 KiB
Bash
92 lines
2.3 KiB
Bash
ynhtest_exec_warn_less() {
|
|
|
|
FOO='foo'
|
|
bar=""
|
|
BAR='$bar'
|
|
FOOBAR="foo bar"
|
|
|
|
# These looks like stupid edge case
|
|
# but in fact happens when dealing with passwords
|
|
# (which could also contain bash chars like [], {}, ...)
|
|
# or urls containing &, ...
|
|
FOOANDBAR="foo&bar"
|
|
FOO1QUOTEBAR="foo'bar"
|
|
FOO2QUOTEBAR="foo\"bar"
|
|
|
|
ynh_exec_warn_less uptime
|
|
|
|
test ! -e $FOO
|
|
ynh_exec_warn_less touch $FOO
|
|
test -e $FOO
|
|
rm $FOO
|
|
|
|
test ! -e $FOO1QUOTEBAR
|
|
ynh_exec_warn_less touch $FOO1QUOTEBAR
|
|
test -e $FOO1QUOTEBAR
|
|
rm $FOO1QUOTEBAR
|
|
|
|
test ! -e $FOO2QUOTEBAR
|
|
ynh_exec_warn_less touch $FOO2QUOTEBAR
|
|
test -e $FOO2QUOTEBAR
|
|
rm $FOO2QUOTEBAR
|
|
|
|
test ! -e $BAR
|
|
ynh_exec_warn_less touch $BAR
|
|
test -e $BAR
|
|
rm $BAR
|
|
|
|
test ! -e "$FOOBAR"
|
|
ynh_exec_warn_less touch "$FOOBAR"
|
|
test -e "$FOOBAR"
|
|
rm "$FOOBAR"
|
|
|
|
test ! -e "$FOOANDBAR"
|
|
ynh_exec_warn_less touch $FOOANDBAR
|
|
test -e "$FOOANDBAR"
|
|
rm "$FOOANDBAR"
|
|
|
|
###########################
|
|
# Legacy stuff using eval #
|
|
###########################
|
|
|
|
test ! -e $FOO
|
|
ynh_exec_warn_less "touch $FOO"
|
|
test -e $FOO
|
|
rm $FOO
|
|
|
|
test ! -e $FOO1QUOTEBAR
|
|
ynh_exec_warn_less "touch \"$FOO1QUOTEBAR\""
|
|
# (this works but expliciy *double* quotes have to be provided)
|
|
test -e $FOO1QUOTEBAR
|
|
rm $FOO1QUOTEBAR
|
|
|
|
#test ! -e $FOO2QUOTEBAR
|
|
#ynh_exec_warn_less "touch \'$FOO2QUOTEBAR\'"
|
|
## (this doesn't work with simple or double quotes)
|
|
#test -e $FOO2QUOTEBAR
|
|
#rm $FOO2QUOTEBAR
|
|
|
|
test ! -e $BAR
|
|
ynh_exec_warn_less 'touch $BAR'
|
|
# That one works because $BAR is only interpreted during eval
|
|
test -e $BAR
|
|
rm $BAR
|
|
|
|
#test ! -e $BAR
|
|
#ynh_exec_warn_less "touch $BAR"
|
|
# That one doesn't work because $bar gets interpreted as empty var by eval...
|
|
#test -e $BAR
|
|
#rm $BAR
|
|
|
|
test ! -e "$FOOBAR"
|
|
ynh_exec_warn_less "touch \"$FOOBAR\""
|
|
# (works but requires explicit double quotes otherwise eval would interpret 'foo bar' as two separate args..)
|
|
test -e "$FOOBAR"
|
|
rm "$FOOBAR"
|
|
|
|
test ! -e "$FOOANDBAR"
|
|
ynh_exec_warn_less "touch \"$FOOANDBAR\""
|
|
# (works but requires explicit double quotes otherwise eval would interpret '&' as a "run command in background" and also bar is not a valid command)
|
|
test -e "$FOOANDBAR"
|
|
rm "$FOOANDBAR"
|
|
}
|