48 lines
1.1 KiB
Bash
Executable File
48 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
[[ $DEBUG ]] && set -x
|
|
|
|
test_ex17-ec() {
|
|
local testdb=$(mktemp /var/tmp/XXXXXXX.dat)
|
|
trap "rm ${testdb}" EXIT INT TERM
|
|
./ex17-ec "${testdb}" c
|
|
./ex17-ec "${testdb}" l &>/dev/null
|
|
./ex17-ec "${testdb}" s 1 nancy pwnr@dungeon.info "Dark corner"
|
|
./ex17-ec "${testdb}" s 2 fran eagleeye16@hotmail.com "Falcon's nest"
|
|
./ex17-ec "${testdb}" l &>/dev/null
|
|
./ex17-ec "${testdb}" d 1
|
|
./ex17-ec "${testdb}" s 1 portia wanda@aeromar.mx "Fancy town"
|
|
./ex17-ec "${testdb}" f nest &>/dev/null
|
|
}
|
|
|
|
test_ex18() {
|
|
local output=$(./ex18 4 1 7 3 2 0 8)
|
|
[[ "${output}" =~ '0 1 2 3 4 7 8' ]]
|
|
[[ "${output}" =~ '8 7 4 3 2 1 0' ]]
|
|
[[ "${output}" =~ '3 4 2 7 1 0 8' ]]
|
|
}
|
|
|
|
test_ex19() {
|
|
printf "l\nn\nl\ne\nw\nw\nl\na\na\na\na\na\na\na\na\na\na\n" \
|
|
| ./ex19 &>/dev/null
|
|
printf "l\nl\nl\nl\na\na\nx\nq\nz\nn\n" | ./ex19 &>/dev/null
|
|
for i in {0..20} ; do
|
|
echo "${RANDOM}" | md5sum | ./ex19 &>/dev/null
|
|
done
|
|
}
|
|
|
|
main() {
|
|
for ex in $(./list-exercises) ; do
|
|
func_name="test_${ex}"
|
|
if type "${func_name}" &>/dev/null ; then
|
|
echo -en "---> ${ex}: "
|
|
"${func_name}"
|
|
echo "OK"
|
|
fi
|
|
done
|
|
}
|
|
|
|
main "$@"
|