diff options
Diffstat (limited to 'tests/su/03/su_run_command15.test')
-rwxr-xr-x | tests/su/03/su_run_command15.test | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/su/03/su_run_command15.test b/tests/su/03/su_run_command15.test new file mode 100755 index 0000000..7e34e48 --- /dev/null +++ b/tests/su/03/su_run_command15.test @@ -0,0 +1,52 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + + +log_start "$0" "Running commands (check working directory): su -c pwd -p - myuser" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo "/bin/su -c pwd -p - myuser> tmp/out 2> tmp/err" +/bin/su -c pwd -p - myuser> tmp/out 2> tmp/err + +echo "su reported:" +echo "=== stdout ===" +cat tmp/out +echo "=== stderr ===" +cat tmp/err +echo "==============" + +echo -n "Checking tmp/out..." +case "$(cat tmp/out)" in + */su/03) + echo "OK" + ;; + *) + echo "FAIL" + echo "working directory: '$(cat tmp/out)' instead of '.../su/03'" + rm -f tmp/out + false + ;; +esac +rm -f tmp/out + +echo -n "Checking tmp/err..." +[ "$(wc -c tmp/err)" = "0 tmp/err" ] || false +rm -f tmp/err +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + |