#!/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