We have variables with the same name that are being shared! We don't
hit any issues with it currently because the code just kind of works
even though that happens. Add a bit of new logic that relies on an
immutable return code (for instance) and we're in the woods.
Signed-off-by: Joao Eduardo Luis <joao@redhat.com>
expect() {
set +e
- expected_ret=$1
+
+ local expected_ret=$1
+ local ret
+
shift
cmd=$@
}
read_ops() {
+ local caps=$1
+ local has_read=1 has_exec=1
+ local ret
+ local args
- caps=$1
- has_read=1
- has_exec=1
( echo $caps | grep 'r' ) || has_read=0
( echo $caps | grep 'x' ) || has_exec=0
write_ops() {
- caps=$1
- has_read=1
- has_write=1
- has_exec=1
+ local caps=$1
+ local has_read=1 has_write=1 has_exec=1
+ local ret
+ local args
+
( echo $caps | grep 'r' ) || has_read=0
( echo $caps | grep 'w' ) || has_write=0
( echo $caps | grep 'x' ) || has_exec=0