You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
1.2 KiB

#!/usr/bin/env bash
set -euo pipefail
IFS='
'
script_dirS=$(cd -P "$(dirname "$BASH_SOURCE")" &>/dev/null && pwd)
# check that test command was not used
if grep -q "test" "$script_dirS"/student/file-checker.sh
then
echo "The 'test' command is not allowed in this exercise"
exit 1
fi
if test ! -e file-checker; then
mkdir file-checker
cd file-checker
touch readable-and-writable readable-only readable-and-executable readable-writable-executable
chmod -x "$script_dirS/file-checker/readable-and-writable"
chmod -xw "$script_dirS/file-checker/readable-only"
chmod -w "$script_dirS/file-checker/readable-and-executable"
chmod +x "$script_dirS/file-checker/readable-and-executable"
chmod +x "$script_dirS/file-checker/readable-writable-executable"
cd ..
fi
challenge() {
submitted=$(bash "$script_dirS"/student/file-checker.sh "$1")
expected=$(bash "$script_dirS"/solutions/file-checker.sh "$1")
diff <(echo "$submitted") <(echo "$expected")
}
challenge "$script_dirS/file-checker/readable-only"
challenge "$script_dirS/file-checker/readable-and-writable"
challenge "$script_dirS/file-checker/readable-and-executable"
challenge "$script_dirS/file-checker/readable-writable-executable"
rm -rf file-checker